:root{--ink:#221429;--deep:#0F1F3D;--violet:#6B2D82;--violet-2:#8F3FA8;--lilac:#C9A6E0;--paper:#FAF8FC;--panel:#FFFFFF;--line:#E8E1EF;--gold:#D8B968;--ok:#3E8E5A;--ok-bg:#E7F4EB;--warn:#9A7213;--warn-bg:#FBF1DC;--err:#B33A3A;--err-bg:#FBEBEB;--muted:#7A6C86;--radius:14px;--radius-sm:9px;--shadow-sm:0 1px 2px rgba(61,18,80,.05),0 1px 1px rgba(61,18,80,.03);--shadow-md:0 4px 14px rgba(61,18,80,.08),0 1px 3px rgba(61,18,80,.05);--shadow-lg:0 12px 32px rgba(61,18,80,.14),0 2px 6px rgba(61,18,80,.06);--ease:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{margin:0;background:#0A1526;color:var(--ink);font-family:Inter,-apple-system,sans-serif;font-size:14px;line-height:1.5}h1,h2,h3{font-family:Fraunces,serif;margin:0;letter-spacing:-.01em;font-optical-sizing:auto}a{color:inherit}.mono{font-family:IBM Plex Mono,monospace}:focus-visible{outline:2px solid var(--violet-2);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.shell{display:flex;min-height:100vh;background:radial-gradient(3px 3px at 18% 22%,rgba(255,224,160,.9),transparent 55%),radial-gradient(2.5px 2.5px at 62% 12%,rgba(255,224,160,.75),transparent 55%),radial-gradient(2px 2px at 78% 55%,rgba(255,224,160,.65),transparent 55%),radial-gradient(3px 3px at 35% 78%,rgba(255,224,160,.55),transparent 55%),radial-gradient(2px 2px at 92% 82%,rgba(255,224,160,.6),transparent 55%),radial-gradient(2.5px 2.5px at 50% 45%,rgba(255,224,160,.4),transparent 55%),radial-gradient(900px 600px at 85% -10%,rgba(216,185,104,.18),transparent 60%),radial-gradient(700px 520px at 8% 105%,rgba(216,185,104,.12),transparent 55%),linear-gradient(165deg,var(--deep) 0,#14294A 55%,#0A1526 100%);background-size:100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,220% 220%,220% 220%,220% 220%;animation:bg-drift 22s ease-in-out infinite}@keyframes bg-drift{0%{background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0}50%{background-position:0 0,0 0,0 0,0 0,0 0,0 0,100% 30%,20% 100%,40% 60%}to{background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0}}.main{flex:1 1;min-width:0;padding:40px 48px;max-width:none;color:#F1EAF7;--muted:#C9BBD6}.main h1{color:#fff;text-shadow:0 0 20px rgba(216,185,104,.3)}.main .eyebrow{color:var(--gold)}.main .card{color:var(--ink);--muted:#7A6C86}.sidebar{width:240px;flex-shrink:0;min-height:100vh;position:-webkit-sticky;position:sticky;top:0;background:linear-gradient(175deg,var(--deep) 0,#14294A 100%);color:#fff;display:flex;flex-direction:column;padding:26px 18px}.sidebar-top{display:block}.sidebar-logo{width:100%;max-width:220px;border-radius:24px;display:block;margin:0 auto 24px}.menu-toggle{display:none}.brand{display:flex;align-items:center;gap:10px;margin-bottom:34px;text-decoration:none;padding:0 6px}.facet-mark{width:28px;height:25px;flex-shrink:0}.brand-name{font-family:Fraunces,serif;font-size:21px;font-weight:700;color:#fff;letter-spacing:.2px}.brand-sub{font-size:9.5px;color:var(--lilac);letter-spacing:2px;text-transform:uppercase;margin-top:-3px}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;color:#E4D6EF;text-decoration:none;transition:background .15s var(--ease),color .15s var(--ease)}.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}.nav-item.active{background:rgba(255,255,255,.14);color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.sidebar-spacer{flex:1 1}.user-chip{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border-radius:var(--radius-sm);border:none;cursor:pointer;background:rgba(255,255,255,.05);color:#fff;text-align:left;transition:background .15s var(--ease)}.user-chip:hover{background:rgba(255,255,255,.11)}.avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--violet-2),var(--gold));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#2A0C3B}.user-chip-text{display:flex;flex-direction:column;min-width:0}.user-chip-name{font-size:12.5px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip-role{font-size:10.5px;color:var(--lilac);text-transform:capitalize}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm)}.btn{border:none;border-radius:var(--radius-sm);padding:10px 18px;font-family:Inter;font-weight:600;font-size:13px;cursor:pointer;transition:transform .12s var(--ease),box-shadow .12s var(--ease),background .12s var(--ease),opacity .12s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--violet);color:#fff;box-shadow:0 2px 8px rgba(107,45,130,.28)}.btn-primary:hover:not(:disabled){background:#5C2570;box-shadow:0 6px 16px rgba(107,45,130,.34);transform:translateY(-1px)}.btn-ghost{background:#fff;color:var(--violet);border:1.5px solid var(--line)}.btn-ghost:hover:not(:disabled){border-color:var(--violet-2);background:#FBF7FD}.field-group{margin-bottom:18px}label{display:block;font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:6px}input,select,textarea{width:100%;padding:10px 13px;border-radius:var(--radius-sm);border:1.5px solid var(--line);font-family:Inter;font-size:13.5px;color:var(--ink);background:#fff;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}input::placeholder,textarea::placeholder{color:#B3A8BE}input:hover,select:hover,textarea:hover{border-color:#D4C4E2}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--violet-2);box-shadow:0 0 0 3px rgba(143,63,168,.14)}.error-text{color:var(--err);font-size:12.5px;margin-top:8px;display:flex;align-items:center;gap:6px}.eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--violet-2)}.eyebrow,.pill{font-size:11px;font-weight:600}.pill{padding:3px 10px;border-radius:20px;width:-moz-fit-content;width:fit-content;letter-spacing:.2px;display:inline-block}.pill-design{background:#F1E7F8;color:var(--violet)}.pill-tender{background:var(--warn-bg);color:var(--warn)}.pill-job_in_hand{background:var(--ok-bg);color:var(--ok)}.status-pill{font-size:11px;padding:3px 10px;border-radius:20px;font-weight:600;width:-moz-fit-content;width:fit-content;letter-spacing:.2px}.status-design{background:#F1E7F8;color:var(--violet)}.status-tender{background:var(--warn-bg);color:var(--warn)}.status-job{background:var(--ok-bg);color:var(--ok)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(3px 3px at 20% 25%,rgba(255,224,160,.85),transparent 55%),radial-gradient(2px 2px at 70% 15%,rgba(255,224,160,.65),transparent 55%),radial-gradient(2.5px 2.5px at 85% 60%,rgba(255,224,160,.6),transparent 55%),radial-gradient(700px 500px at 15% -10%,rgba(216,169,86,.14),transparent 60%),linear-gradient(160deg,var(--deep) 0,#14294A 55%,#0A1526 100%);padding:24px}.auth-card{width:100%;max-width:380px;background:var(--panel);border-radius:18px;padding:36px 32px;box-shadow:var(--shadow-lg);animation:auth-rise .4s var(--ease) both}@keyframes auth-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-mark{width:34px;height:31px;margin-bottom:16px}.auth-logo{width:100%;max-width:150px;display:block;margin:0 auto 16px}.auth-title{font-family:Fraunces,serif;font-size:24px;font-weight:700;color:var(--deep);margin-bottom:2px}.auth-sub{color:var(--muted);font-size:13px;margin-bottom:26px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px;gap:16px;flex-wrap:wrap}.header-actions{display:flex;gap:10px;flex-wrap:wrap}.project-row{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr 1fr;padding:15px 20px;border-bottom:1px solid var(--line);cursor:pointer;align-items:center;transition:background .12s var(--ease)}.project-row:hover{background:#FBF8FD}.project-row:last-child{border-bottom:none}.form-row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:768px){.shell,.sidebar{flex-direction:column}.sidebar{width:100%;min-height:auto;position:-webkit-sticky;position:sticky;top:0;z-index:50;align-items:stretch;padding:0;gap:0}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:10px 16px}.sidebar-logo{width:auto;max-width:none;height:34px;margin:0;border-radius:8px}.menu-toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;border:none;background:rgba(255,255,255,.08);color:#fff;font-size:17px;cursor:pointer;flex-shrink:0}.brand{margin-bottom:0}.sidebar-nav{display:none;flex-direction:column;padding:0 16px 4px;gap:2px}.sidebar-nav.mobile-open{display:flex}.sidebar-spacer,.user-chip{display:none}.user-chip{width:auto;margin:0 16px 14px}.user-chip-text,.user-chip.mobile-open{display:flex}.main{padding:20px 16px;max-width:100%}.card{padding:20px}.page-header{align-items:flex-start}.header-actions{width:100%}.header-actions button{flex:1 1}.project-row{grid-template-columns:1fr 1fr;gap:6px 12px;padding:14px 16px}.project-row>div:first-child{font-size:15px;grid-column:1/-1}.project-row>div:not(:first-child){font-size:12.5px;color:var(--muted)}.form-row-2,.form-row-3{grid-template-columns:1fr}}.planner-sub{color:var(--muted);font-size:13.5px;margin-top:2px}.optional{font-weight:400}.hint,.optional{color:var(--muted)}.hint{font-size:12px;margin-top:6px;line-height:1.45}.ok-text{color:var(--ok);font-size:12.5px;margin-bottom:10px}.btn-danger{background:var(--err);color:#fff}.btn-danger:hover:not(:disabled){background:#962f2f}.danger-text{color:var(--err)}.seg{display:inline-flex;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);padding:3px}.seg button{border:none;background:transparent;color:#E4D6EF;font:600 13px Inter;padding:7px 16px;border-radius:7px;cursor:pointer}.seg button.on{background:#fff;color:var(--violet)}.planner-nav{display:flex;align-items:center;gap:8px;margin-bottom:18px;flex-wrap:wrap}.nav-arrow{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font-size:20px;line-height:1;cursor:pointer;flex-shrink:0}.nav-arrow:hover{background:rgba(255,255,255,.14)}.day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px;flex:1 1;min-width:0}.day-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#E4D6EF;cursor:pointer;transition:background .15s var(--ease)}.day-chip:hover{background:rgba(255,255,255,.1)}.dc-name{font-size:10.5px;text-transform:uppercase;letter-spacing:1px}.dc-num{font:600 17px Inter;color:#fff}.dc-dot{width:5px;height:5px;border-radius:50%;background:transparent}.dc-dot.has{background:var(--gold)}.day-chip.today .dc-name{color:var(--gold);font-weight:700}.day-chip.selected{background:#fff;border-color:#fff}.day-chip.selected .dc-name{color:var(--violet-2)}.day-chip.selected .dc-num{color:var(--violet)}.day-chip.selected .dc-dot.has{background:var(--violet-2)}.today-btn{padding:8px 14px}.who-select{width:auto;min-width:160px}.planner-error{color:var(--err);margin-bottom:16px;padding:16px 20px}.quick-add{display:flex;align-items:center;gap:8px;background:#fff;border-radius:var(--radius);padding:8px 8px 8px 16px;box-shadow:var(--shadow-md);margin-bottom:14px}.quick-add input{border:none;box-shadow:none;padding:10px 4px}.quick-add input:focus{box-shadow:none}.qa-plus{color:var(--violet-2);font-size:18px;font-weight:700}.qa-time{width:120px;flex-shrink:0;border:1.5px solid var(--line)!important;padding:8px 10px!important}.progress-row{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--muted);margin:4px 2px 18px}.progress-bar{flex:1 1;height:6px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden}.progress-bar>div{height:100%;background:linear-gradient(90deg,var(--gold),#F2D98F);border-radius:6px;transition:width .3s var(--ease)}.planner-group{margin:18px 2px 8px}.meeting-list{padding:0;overflow:hidden}.meeting-row{display:flex;align-items:center;gap:4px;padding:4px 12px 4px 16px;border-bottom:1px solid var(--line)}.meeting-row:last-child{border-bottom:none}.check{width:24px;height:24px;border-radius:50%;border:2px solid #cdbfdb;background:#fff;color:#fff;font-size:13px;font-weight:700;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s var(--ease)}.check:hover{border-color:var(--violet-2)}.check.on{background:var(--ok);border-color:var(--ok)}.mr-main{flex:1 1;min-width:0;display:flex;align-items:center;gap:14px;padding:12px 6px 12px 10px;background:none;border:none;text-align:left;cursor:pointer;color:var(--ink);font-family:Inter;border-radius:8px}.mr-main:hover{background:#FBF8FD}.mr-time{width:78px;flex-shrink:0;font-size:12.5px;font-weight:600;color:var(--violet);display:flex;flex-direction:column}.mr-end{font-size:11px;color:var(--muted);font-weight:500}.mr-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.mr-title{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mr-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--muted)}.mr-avatar{width:30px;height:30px;font-size:11px}.meeting-row.done .mr-title{text-decoration:line-through;color:var(--muted)}.meeting-row.done .mr-time{color:var(--muted)}.empty-day{text-align:center;padding:40px 24px}.empty-icon{font-size:34px;margin-bottom:8px}.empty-title{font-family:Fraunces,serif;font-size:19px;font-weight:600;color:var(--deep)}.empty-sub{color:var(--muted);font-size:13px;margin-top:4px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.week-col{background:var(--panel);border-radius:var(--radius);border:1px solid var(--line);min-height:220px;display:flex;flex-direction:column;overflow:hidden}.week-col.today{box-shadow:0 0 0 2px var(--gold)}.week-head{display:flex;flex-direction:column;align-items:center;padding:10px 4px 8px;border:none;border-bottom:1px solid var(--line);background:#FBF8FD;cursor:pointer;color:var(--muted);font:500 11px Inter;text-transform:uppercase;letter-spacing:1px}.week-head strong{font-size:18px;color:var(--deep);letter-spacing:0}.week-col.today .week-head span{color:var(--warn);font-weight:700}.week-items{display:flex;flex-direction:column;gap:6px;padding:8px;flex:1 1}.week-item{display:flex;flex-direction:column;gap:1px;text-align:left;border:none;border-left:3px solid var(--violet-2);background:#F6F0FA;border-radius:6px;padding:6px 8px;cursor:pointer;font-family:Inter;color:var(--ink)}.week-item:hover{background:#EFE4F6}.week-item.done{opacity:.55;border-left-color:var(--ok)}.week-item.done .wi-title{text-decoration:line-through}.wi-time{font-size:10.5px;font-weight:700;color:var(--violet)}.wi-title{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.wi-who{font-size:10.5px;color:var(--muted)}.week-add{margin-top:auto;border:1.5px dashed var(--line);background:none;border-radius:6px;color:var(--violet-2);font-size:15px;padding:4px;cursor:pointer}.week-add:hover{border-color:var(--violet-2);background:#FBF8FD}.modal-backdrop{position:fixed;inset:0;background:rgba(8,14,28,.62);z-index:900;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;overflow-y:auto}.modal{width:100%;max-width:560px;color:var(--ink);animation:auth-rise .25s var(--ease) both}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-head h2{font-size:22px;color:var(--deep)}.modal-actions{gap:8px;margin-top:6px;flex-wrap:wrap}.modal-actions,.toggle-row{display:flex;align-items:center}.toggle-row{gap:10px;font-weight:500;font-size:13.5px;margin-bottom:10px;cursor:pointer}.toggle-row input{width:18px;height:18px;accent-color:var(--violet)}.notif-box{background:#FBF8FD;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;margin:14px 0 16px;font-size:13px}.reminder-stack{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:1000;display:flex;flex-direction:column;gap:10px;width:min(440px,calc(100vw - 24px))}.reminder-pop{display:flex;gap:14px;background:linear-gradient(160deg,#13284A,#0F1F3D);color:#fff;border:1px solid rgba(216,185,104,.55);border-radius:16px;padding:16px 16px 14px;box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 0 4px rgba(216,185,104,.12);animation:reminder-in .35s var(--ease) both,reminder-glow 2.2s ease-in-out infinite}.reminder-bell{font-size:26px;line-height:1;animation:bell-ring 1.2s ease-in-out infinite;transform-origin:50% 10%}.reminder-body{flex:1 1;min-width:0}.reminder-when{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}.reminder-title{font-family:Fraunces,serif;font-size:18px;font-weight:600;margin:2px 0 3px}.reminder-meta{font-size:12.5px;color:#C9BBD6}.reminder-actions{display:flex;align-items:center;gap:6px;margin-top:12px;flex-wrap:wrap}.reminder-actions .btn{padding:7px 12px;font-size:12.5px}.reminder-actions .btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.2)}.reminder-x{margin-left:auto;border:none;background:none;color:inherit;opacity:.6;font-size:16px;cursor:pointer;padding:4px 6px}.reminder-x:hover{opacity:1}@keyframes reminder-in{0%{opacity:0;transform:translateY(-14px) scale(.97)}to{opacity:1;transform:none}}@keyframes reminder-glow{0%,to{box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 0 4px rgba(216,185,104,.1)}50%{box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 0 7px rgba(216,185,104,.28)}}@keyframes bell-ring{0%,50%,to{transform:rotate(0)}10%{transform:rotate(16deg)}20%{transform:rotate(-14deg)}30%{transform:rotate(10deg)}40%{transform:rotate(-6deg)}}@media (max-width:768px){.planner .header-actions{display:grid;grid-template-columns:auto 1fr 1fr;grid-gap:8px;gap:8px}.planner .header-actions .btn{padding:9px 10px}.planner-nav{gap:6px}.day-strip{order:3;flex-basis:100%;gap:4px}.nav-arrow{order:1}.nav-arrow+.today-btn,.today-btn{order:2}.who-select{order:2;flex:1 1;min-width:0}.day-chip{padding:6px 0 5px;border-radius:10px}.dc-num{font-size:15px}.qa-time{width:96px}.quick-add .btn{padding:10px 12px}.mr-time{width:62px;font-size:11.5px}.mr-title{white-space:normal}.week-grid{grid-template-columns:1fr}.week-col{min-height:auto}.week-head{flex-direction:row;justify-content:flex-start;gap:8px;padding:8px 12px}.week-head strong{font-size:15px}.modal-backdrop{padding:12px;align-items:flex-end}.modal{max-height:calc(100vh - 24px);overflow-y:auto}}.day-strip.week-mode{visibility:hidden;height:0;overflow:hidden}@media (max-width:768px){.day-strip.week-mode{display:none}}.btn-stop{background:var(--gold);color:#2A0C3B;box-shadow:0 2px 10px rgba(216,185,104,.35)}.btn-stop:hover{background:#E6C97A}.steps{margin:0;padding-left:20px;font-size:13px;line-height:1.6}.steps li{margin-bottom:2px}@media (max-width:768px){.planner .header-actions{grid-template-columns:1fr 1fr 1fr}.planner .header-actions .seg{grid-column:1/-1;justify-self:start}}.pill-status{display:inline-block;font:700 10.5px Inter;letter-spacing:.3px;text-transform:uppercase;padding:2px 8px;border-radius:20px;margin-left:8px;vertical-align:2px;white-space:nowrap}.ps-pending{background:#EEF0FB;color:#3A4BA8}.ps-overdue{background:var(--err-bg);color:var(--err)}.ps-completed{background:var(--ok-bg);color:var(--ok)}.ps-postponed{background:var(--warn-bg);color:var(--warn)}.ps-cancelled{background:#EEEAF2;color:#6F6479}.week-item .pill-status{margin:3px 0 0;align-self:flex-start}.meeting-row.mr-completed .mr-title{text-decoration:line-through;color:var(--muted)}.meeting-row.mr-completed .mr-time{color:var(--muted)}.meeting-row.mr-cancelled .mr-title{text-decoration:line-through;color:var(--muted)}.meeting-row.mr-cancelled .mr-time,.meeting-row.mr-postponed .mr-time{color:var(--muted)}.meeting-row.mr-cancelled .mr-title .pill-status{text-decoration:none}.meeting-row.mr-overdue .mr-time{color:var(--err)}.wi-cancelled{opacity:.55;border-left-color:#B7ADC2}.wi-cancelled .wi-title{text-decoration:line-through}.wi-postponed{border-left-color:var(--gold);background:#FBF6E9}.wi-overdue{border-left-color:var(--err);background:#FDF1F1}.filter-bar{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px;display:flex;flex-direction:column;gap:12px}.fb-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.fb-field{display:flex;flex-direction:column;gap:4px;margin:0;min-width:150px;flex:0 1 200px}.fb-field>span{font-size:10.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--lilac)}.fb-field input,.fb-field select{padding:8px 11px;font-size:13px}.fb-search{flex:1 1 220px}.status-chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid rgba(255,255,255,.22);background:transparent;color:#E4D6EF;font:600 12.5px Inter;padding:6px 13px;border-radius:20px;cursor:pointer;transition:all .15s var(--ease)}.chip:hover{background:rgba(255,255,255,.08)}.chip.on{background:#fff;color:var(--violet);border-color:#fff}.chip-overdue.on{color:var(--err)}.chip-completed.on{color:var(--ok)}.chip-postponed.on{color:var(--warn)}.fb-clear{margin-left:auto;border:none;background:none;color:var(--gold);font:600 12.5px Inter;cursor:pointer;text-decoration:underline;padding:6px 2px}.stat-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:16px}.stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line);cursor:pointer;text-align:left;font-family:Inter;color:var(--ink);transition:box-shadow .15s var(--ease),transform .12s var(--ease)}.stat:hover{box-shadow:var(--shadow-md)}.stat strong{font:700 22px Inter;color:var(--deep);line-height:1.1}.stat span{font-size:11.5px;color:#7A6C86;font-weight:600}.stat.on{box-shadow:0 0 0 2px var(--gold)}.st-completed strong{color:var(--ok)}.st-pending strong{color:#3A4BA8}.st-overdue strong{color:var(--err)}.st-postponed strong{color:var(--warn)}.st-cancelled strong{color:#6F6479}.stat-rate{cursor:default;background:linear-gradient(160deg,#fff,#FBF6E9)}.stat-rate:hover{box-shadow:none}.list-toolbar{display:flex;justify-content:space-between;align-items:center;margin:2px 2px 6px;color:var(--muted);font-size:13px;gap:10px}.list-toolbar .btn{padding:8px 14px}.list-group-head{display:flex;align-items:center;gap:10px;margin:18px 2px 8px;color:#fff;flex-wrap:wrap}.list-group-head strong{font-size:15px}.list-group-head .pill-status{margin-left:0;font-size:11.5px}.lgh-meta{font-size:12.5px;color:var(--muted)}.lgh-late{color:#FF9B9B}.status-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.sp{border:1.5px solid var(--line);background:#fff;border-radius:var(--radius-sm);padding:9px 6px;font:600 12.5px Inter;color:var(--muted);cursor:pointer;transition:all .15s var(--ease)}.sp:hover{border-color:#D4C4E2}.sp.on{color:#fff}.sp-pending.on{background:#3A4BA8;border-color:#3A4BA8}.sp-completed.on{background:var(--ok);border-color:var(--ok)}.sp-postponed.on{background:#B8871B;border-color:#B8871B}.sp-cancelled.on{background:#6F6479;border-color:#6F6479}@media (max-width:900px){.stat-row{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:768px){.planner .header-actions{grid-template-columns:1fr 1fr 1fr}.filter-bar{padding:12px}.fb-field{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 10px);min-width:0}.fb-search{flex-basis:100%}.status-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.chip{flex-shrink:0}.stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.stat{padding:8px 10px}.stat strong{font-size:18px}.status-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}.pp,.pp-input{position:relative}.pp-input input{padding-right:34px}.pp-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:none;color:var(--muted);font-size:13px;cursor:pointer;padding:6px}.pp-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:20;max-height:260px;overflow-y:auto;padding:4px}.pp-opt{display:block;width:100%;text-align:left;border:none;background:none;padding:9px 10px;border-radius:7px;font:500 13.5px Inter;color:var(--ink);cursor:pointer}.pp-opt.active,.pp-opt:hover{background:#F4ECF9}.pp-new{color:var(--violet);font-weight:600;border-top:1px solid var(--line);border-radius:0 0 7px 7px}.pp-sub{display:block;font-size:11.5px;font-weight:500;margin-top:1px}.pp-empty,.pp-sub{color:var(--muted)}.pp-empty{padding:10px;font-size:12.5px}.pp-new:first-child{border-top:none;border-radius:7px}@media (min-width:769px){.week-col{min-height:max(320px,calc(100vh - 300px))}}.pr-clickable{cursor:pointer}.pr-selected{background:#FBF1F1}.pr-actions{display:flex;justify-content:flex-end}.icon-btn{border:none;background:none;cursor:pointer;font-size:15px;width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;opacity:.55;transition:opacity .15s var(--ease),background .15s var(--ease)}.icon-btn:focus-visible,.icon-btn:hover{opacity:1;background:var(--err-bg)}.meeting-row:hover .icon-btn,.project-row:hover .icon-btn{opacity:.9}.row-check{width:18px;height:18px;accent-color:var(--err);cursor:pointer}.select-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;color:var(--ink);border-radius:var(--radius);padding:10px 14px;margin-bottom:12px;box-shadow:var(--shadow-md);border:1.5px solid #f2c9c9}.sb-count{font-size:12.5px;color:#7A6C86;font-weight:600}.notice{border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:12px;font-size:13px;font-weight:500}.notice.ok{background:var(--ok-bg);color:var(--ok)}.notice.err{background:var(--err-bg);color:var(--err)}.del-names{background:#FBF8FD;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font-size:13.5px;font-weight:600;display:flex;flex-direction:column;gap:4px;margin-bottom:12px;max-height:180px;overflow:auto}.del-warn{font-size:13.5px;color:var(--ink);line-height:1.55;margin:0 0 14px}.mr-confirm,.mr-del{flex-shrink:0}.mr-confirm{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--err)}.mr-confirm .btn{padding:6px 10px;font-size:12px}@media (max-width:768px){.project-row .pr-actions{position:absolute;right:10px;top:10px}.project-row{position:relative}.icon-btn{opacity:.8}}.pr-grid{grid-template-columns:2fr 1fr 1fr 1fr 1fr 44px;align-items:center}.pr-grid.selecting{grid-template-columns:32px 2fr 1fr 1fr 1fr 1fr 44px}@media (max-width:768px){.pr-grid,.pr-grid.selecting{grid-template-columns:1fr 1fr;padding-right:52px}.pr-grid>.pr-name{grid-column:1/-1}.pr-grid>div:first-child:not(.pr-name){grid-column:auto}.pr-grid .pr-check{position:absolute;right:16px;top:16px}}.meeting-row.mr-selected{background:#FBF1F1}