#planner{--fi-plan-pmi:#448cf6;--fi-plan-mot:#b36be9;--fi-plan-tax:#d88f4a;--fi-plan-tacho:#678ad1;--fi-plan-licence:#e6a43d;--fi-plan-cpc:#1fae9b;--fi-plan-card:#dc6a91}
.fi-plan-shell{display:grid;gap:16px;color:var(--fi-ink,#14263b);min-width:0}
.fi-plan-intro{display:flex;align-items:end;justify-content:space-between;gap:14px}
.fi-plan-intro>div{max-width:650px}
.fi-plan-intro small{display:block;color:var(--fi-accent,#2777e8);font-size:10px;letter-spacing:.14em;font-weight:850;margin-bottom:7px}
.fi-plan-intro h2{font-size:clamp(22px,3vw,30px);letter-spacing:-.045em;margin:0 0 7px}
.fi-plan-intro p{color:var(--fi-muted,#697a90);font-size:13px;line-height:1.6;margin:0}
.fi-plan-intro label{display:grid;gap:5px;color:var(--fi-muted,#697a90);font-weight:700;font-size:11px;min-width:220px}
.fi-plan-intro select{height:42px;border:1px solid var(--fi-border,#dce5ef);border-radius:10px;background:var(--fi-surface,#fff);color:var(--fi-ink,#14263b);padding:0 11px;font-size:12px}
.fi-plan-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fi-plan-stats>div{display:grid;gap:4px;border:1px solid var(--fi-border,#dce5ef);border-radius:13px;background:var(--fi-surface,#fff);padding:14px 17px}
.fi-plan-stats small{font-size:11px;font-weight:750;color:var(--fi-muted,#697a90)}
.fi-plan-stats strong{font-size:28px;font-weight:850;font-variant-numeric:tabular-nums;line-height:1.1}
.fi-plan-stats strong.danger{color:#e4646d}
.fi-plan-stats span{font-size:10px;color:var(--fi-muted,#697a90)}
.fi-plan-filters{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.fi-plan-filters button{flex:0 0 auto;display:flex;gap:7px;align-items:center;min-height:37px;padding:8px 13px;border-radius:99px;border:1px solid var(--fi-border,#dce5ef);background:var(--fi-surface,#fff);color:var(--fi-ink,#14263b);font-size:12px;font-weight:750;cursor:pointer}
.fi-plan-filters button.active{color:#fff;background:var(--fi-accent,#2f7ce5);border-color:var(--fi-accent,#2f7ce5)}
.fi-plan-filters span{font-size:10px;opacity:.8}
.fi-plan-calendar{border-radius:15px;overflow:hidden;border:1px solid var(--fi-border,#dce5ef);background:var(--fi-surface,#fff);min-width:0}
.fi-plan-bar{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:17px 19px;border-bottom:1px solid var(--fi-border,#dce5ef)}
.fi-plan-bar h3{font-size:20px;letter-spacing:-.035em;margin:0 0 3px}
.fi-plan-bar small{font-size:11px;color:var(--fi-muted,#697a90)}
.fi-plan-bar>div:last-child{display:flex;gap:6px}
.fi-plan-bar button{border:1px solid var(--fi-border,#dce5ef);background:var(--fi-soft,#eef4fc);color:var(--fi-ink,#14263b);border-radius:9px;min-height:36px;min-width:36px;padding:0 10px;font-size:12px;font-weight:800;cursor:pointer}
.fi-plan-bar button:first-child,.fi-plan-bar button:last-child{font-size:21px}
.fi-plan-weekdays,.fi-plan-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.fi-plan-weekdays{background:var(--fi-soft,#f0f5fb)}
.fi-plan-weekdays span{text-align:center;padding:11px 3px;color:var(--fi-muted,#697a90);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.fi-plan-day{min-width:0;min-height:106px;padding:7px;border-right:1px solid var(--fi-border,#dce5ef);border-bottom:1px solid var(--fi-border,#dce5ef);display:grid;grid-template-rows:min-content 1fr;gap:6px}
.fi-plan-day:nth-child(7n){border-right:0}
.fi-plan-day.outside{opacity:.4}
.fi-plan-day.today{background:color-mix(in srgb,var(--fi-accent,#2f7ce5) 7%,transparent)}
.fi-plan-day.selected{box-shadow:inset 0 0 0 2px var(--fi-accent,#2f7ce5)}
.fi-plan-date{width:30px;height:30px;border:0;border-radius:9px;color:var(--fi-ink,#14263b);font-size:12px;font-weight:850;background:transparent;cursor:pointer}
.fi-plan-day.today .fi-plan-date{background:var(--fi-accent,#2f7ce5);color:#fff}
.fi-plan-day-events{display:grid;align-content:start;gap:4px;min-width:0}
.fi-plan-pill{display:flex;align-items:center;text-align:left;gap:5px;padding:5px;border:0;border-radius:6px;background:color-mix(in srgb,var(--plan-col) 13%,transparent);color:var(--fi-ink,#14263b);font-size:9px;font-weight:750;min-width:0;cursor:pointer}
.fi-plan-pill span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fi-plan-dot{display:inline-block;flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:var(--plan-col,#448cf6)}
.fi-plan-pmi{--plan-col:var(--fi-plan-pmi)}
.fi-plan-mot{--plan-col:var(--fi-plan-mot)}
.fi-plan-tax{--plan-col:var(--fi-plan-tax)}
.fi-plan-tacho{--plan-col:var(--fi-plan-tacho)}
.fi-plan-licence{--plan-col:var(--fi-plan-licence)}
.fi-plan-cpc{--plan-col:var(--fi-plan-cpc)}
.fi-plan-card{--plan-col:var(--fi-plan-card)}
.fi-plan-more{color:var(--fi-accent,#2f7ce5);border:0;background:none;text-align:left;font-size:10px;cursor:pointer}
.fi-plan-dots{display:none;gap:3px;align-items:center;flex-wrap:wrap}
.fi-plan-dots b{font-size:10px}
.fi-plan-bottom{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.fi-plan-bottom>section{align-self:start;padding:15px;display:grid;gap:9px;background:var(--fi-surface,#fff);border:1px solid var(--fi-border,#dce5ef);border-radius:14px;min-width:0}
.fi-plan-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.fi-plan-heading h3{font-size:16px;margin:0}
.fi-plan-heading small,.fi-plan-empty,.fi-plan-foot{color:var(--fi-muted,#697a90);font-size:11px;line-height:1.65}
.fi-plan-row{display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:8px;padding:11px;border-radius:11px;border:1px solid var(--fi-border,#dce5ef);align-items:start;min-width:0}
.fi-plan-row>.fi-plan-dot{margin-top:5px}
.fi-plan-row-title{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}
.fi-plan-row-title strong{font-size:12px}
.fi-plan-row-title span,.fi-plan-row-title small{font-size:11px;color:var(--fi-muted,#697a90)}
.fi-plan-status{border-radius:99px;background:rgba(77,127,200,.13);color:#4b83c9;font-size:9px;font-weight:850;padding:5px 7px;white-space:nowrap}
.fi-plan-status.overdue{background:rgba(223,78,102,.13);color:#dd5566}
.fi-plan-status.today,.fi-plan-status.soon{background:rgba(221,160,42,.13);color:#c28a28}
.fi-plan-row-actions{grid-column:2/-1;display:flex;gap:7px;flex-wrap:wrap}
.fi-plan-row-actions button{background:var(--fi-soft,#edf3f9);border:1px solid var(--fi-border,#dce5ef);padding:8px 11px;border-radius:8px;font-size:11px;font-weight:750;color:var(--fi-ink,#14263b);cursor:pointer}
.fi-plan-row-actions button.primary{background:var(--fi-accent,#2f7ce5);border-color:var(--fi-accent,#2f7ce5);color:#fff}
.fi-plan-empty,.fi-plan-foot{margin:2px 0}
@media(max-width:1050px){.fi-plan-bottom{grid-template-columns:1fr}.fi-plan-day{min-height:88px}}
@media(max-width:690px){
.fi-plan-intro{display:grid;gap:13px}
.fi-plan-intro label{min-width:0}
.fi-plan-stats{gap:7px}
.fi-plan-stats>div{padding:10px}
.fi-plan-stats small,.fi-plan-stats span{font-size:9px}
.fi-plan-stats strong{font-size:23px}
.fi-plan-bar{padding:12px}
.fi-plan-bar h3{font-size:17px}
.fi-plan-bar small{font-size:10px}
.fi-plan-bar>div:last-child{gap:4px}
.fi-plan-bar button{min-width:31px;min-height:33px;padding:0 8px}
.fi-plan-weekdays span{font-size:9px;padding:10px 2px}
.fi-plan-day{min-height:67px;padding:5px 2px;justify-items:center;gap:4px}
.fi-plan-date{height:27px;width:27px;font-size:11px}
.fi-plan-day-events{display:none}
.fi-plan-dots{display:flex;justify-content:center}
.fi-plan-bottom>section{padding:12px}
}