/* UniversalCalendar Hi-Fi 2.0 — offline, token-driven, responsive. */
:root{--sidebar:#24203f;--sidebar-2:#312952;--sidebar-line:#41395c;--violet:#7048ed;--violet-2:#906bf9;--violet-light:#f0ebff;--violet-line:#dcd1ff;--text:#22243d;--text2:#46516e;--muted:#8a90a8;--border:#e7e9f4;--canvas:#f7f8fc;--surface:#fff;--green:#159a55;--green-bg:#e5f8eb;--red:#db4354;--red-bg:#ffe9eb;--amber:#d28723;--amber-bg:#fff1d8;--blue:#2778bd;--blue-bg:#e7f2ff;--shadow:0 4px 24px #2923420b,0 1px 3px #2923420b;--radius:15px;--font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--canvas);font:13px/1.45 var(--font)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a799ff;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.i.tiny{width:14px;height:14px}.i.sm{width:16px;height:16px}.i.lg{width:23px;height:23px}.i.xl{width:29px;height:29px}.layout{display:grid;grid-template-columns:229px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(159deg,#231e3d 0%,#241d43 60%,#3e285e 100%);color:#eceafa;padding:19px 11px 15px;display:flex;flex-direction:column;gap:3px;min-height:100vh;position:sticky;top:0;height:100vh;z-index:20}.brand{display:flex;gap:12px;align-items:center;font-size:19px;font-weight:790;letter-spacing:-.5px;line-height:1.05;color:white;margin:0 8px 28px}.brand-icon{height:40px;width:40px;background:linear-gradient(135deg,#9875fc,#6545dc);border-radius:11px;display:grid;place-items:center;font-size:28px;color:#fff;box-shadow:0 7px 20px #8365eb35}.side-caption,.workspace-caption{margin:4px 11px 9px;color:#b0aac9;font-size:11px}.side-divider{height:1px;background:var(--sidebar-line);margin:16px 9px 12px}.sidebar nav{display:grid;gap:2px}.nav-link{display:flex;align-items:center;gap:11px;text-align:left;width:100%;background:transparent;border:0;color:#f0ecffb8;border-radius:9px;padding:10px 11px;font-size:12.5px;font-weight:560;position:relative}.nav-link .i{width:18px;height:18px}.nav-link:hover{background:#ffffff14;color:white}.nav-link.active{color:#fff;background:linear-gradient(95deg,#7b54f2,#6644cf);box-shadow:inset 0 0 0 1px #ffffff13,0 3px 8px #0a0a2440}.nav-count{margin-left:auto;background:#7153bb;color:white;border-radius:20px;font-size:10px;padding:1px 7px}.workspace-switch{width:100%;background:#ffffff10;border:1px solid #ffffff1e;color:white;border-radius:11px;display:flex;align-items:center;gap:9px;text-align:left;padding:9px;margin-bottom:10px}.workspace-logo{display:grid;place-items:center;font-size:20px;width:29px;height:30px;color:#e9e3ff}.workspace-switch strong,.side-user strong{display:block;font-size:12px}.workspace-switch small,.side-user small{display:block;color:#b4afcd;font-size:10px;margin-top:2px}.ws-chevron{margin-left:auto;color:#bdb4d5}.side-grow{flex:1}.side-user{display:flex;align-items:center;text-align:left;gap:9px;color:white;width:100%;padding:9px 5px;background:#ffffff11;border:1px solid #ffffff15;border-radius:11px;margin-top:12px}.side-user img{width:35px;height:35px;object-fit:cover;border-radius:50%;border:2px solid #ffffff4c}.workspace-area{min-width:0}.topbar{height:70px;background:#ffffffed;display:flex;align-items:center;justify-content:space-between;padding:0 25px;border-bottom:1px solid var(--border);gap:14px;position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:13px;min-width:0}.breadcrumb{color:#9095ac;white-space:nowrap}.breadcrumb b{color:#303654;font-weight:650}.breadcrumb span{color:#b3b7c9;margin:0 8px}.global-search{display:flex;align-items:center;gap:9px;padding:0 11px;height:39px;width:clamp(190px,29vw,465px);border:1px solid #e3e5f1;border-radius:9px;background:#f9faff;color:#6c738f}.global-search:focus-within{box-shadow:0 0 0 3px #eee7ff;border-color:#bdb1fa}.global-search input{border:0;outline:none;background:transparent;min-width:0;flex:1;color:var(--text);font-size:12px}.global-search kbd{border:1px solid #dfe2ee;background:#eceefa;padding:2px 6px;border-radius:5px;color:#68708b;font-size:10px}.top-profile{border:0;background:transparent;display:flex;gap:7px;align-items:center;white-space:nowrap;text-align:left;color:#444b68}.top-profile img{width:33px;height:33px;object-fit:cover;border-radius:50%}.top-profile strong,.top-profile small{display:block}.top-profile strong{font-size:11px}.top-profile small{font-size:10px;color:#8e96ae}.topbar-actions>.icon-btn{margin-left:2px}.icon-btn{display:inline-grid;place-items:center;width:35px;height:35px;border:1px solid var(--border);background:#fff;color:#5b6482;border-radius:9px;flex:none}.icon-btn:hover{background:#f3f0ff;color:var(--violet)}.icon-btn.ghost{border:none;background:transparent}.notification{position:relative}.notification i{position:absolute;width:7px;height:7px;border-radius:50%;background:#f34e61;right:5px;top:4px;border:1px solid white}.mobile-menu{display:none}.page-content{max-width:1850px;margin:auto;padding:26px 25px 26px;min-height:calc(100vh - 108px)}.prototype-footer{color:#a5a9bc;font-size:10px;display:flex;gap:10px;justify-content:center;align-items:center;padding:12px 15px 18px;flex-wrap:wrap}.prototype-footer b{color:#8a81af}.prototype-footer span{border-left:1px solid #cfd1de;padding-left:12px}.page-title{margin:0;font-size:25px;letter-spacing:-.8px;font-weight:770;line-height:1.25}.page-subtitle{color:#838aa4;margin:6px 0 0;font-size:12px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}.buttons,.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{border:1px solid #e2e5f0;border-radius:9px;color:#414763;background:white;padding:9px 13px;min-height:37px;font-size:12px;font-weight:620;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn:hover{background:#f9f7ff;border-color:#cbbefa}.btn.primary{color:white;border-color:#7450eb;background:linear-gradient(180deg,#8760fa,#6a44e6);box-shadow:0 3px 9px #7654ed2b}.btn.primary:hover{background:#5e35d2}.btn.soft{color:#6441d8;border-color:#dfd5ff;background:#f3efff}.btn.subtle{border-color:transparent;background:#f4f5fa}.btn.danger{color:#d04454;border-color:#f0cbd2}.btn.small{min-height:30px;padding:6px 10px;font-size:11px}.btn.icon{min-height:32px;padding:5px;width:33px}.btn:disabled{background:#f4f4f8;color:#9fa3b5}.select,.input,.textarea{width:100%;color:#434965;border:1px solid #e0e3f0;border-radius:8px;background:white;padding:9px 10px;min-height:36px;font-size:12px}.textarea{resize:vertical;min-height:67px}.select:focus,.input:focus,.textarea:focus{border-color:#a99bfa;outline:2px solid #eeeaff}.searchfield{position:relative;display:flex;align-items:center;color:#8c93ab;min-width:180px}.searchfield .i{position:absolute;left:11px;width:16px;height:16px}.searchfield input{padding-left:34px;min-width:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.card-pad{padding:19px}.panel-title{font-size:14px;font-weight:750;letter-spacing:-.2px;margin:0;color:#272b49}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.muted{color:#828aa5}.meta{font-size:11px;color:#8e95ac}.tiny{font-size:10px}.accent{color:var(--violet)}.text-right{text-align:right}.text-center{text-align:center}.strong{font-weight:730}.divider{height:1px;background:var(--border);margin:15px 0}.pill,.tag{display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:6px;padding:4px 7px;font-size:10px;line-height:1.3;font-weight:650;white-space:nowrap}.tag.green{background:var(--green-bg);color:#168144}.tag.red{background:var(--red-bg);color:#c73340}.tag.amber{background:var(--amber-bg);color:#ae711d}.tag.purple{background:#eee9ff;color:#6743d5}.tag.grey{background:#eff1f7;color:#75809a}.tag.blue{background:var(--blue-bg);color:#256ba5}.tag .dot{width:6px;height:6px;border-radius:100%;background:currentColor}.pill{background:#f0edff;color:#6648c0;border:1px solid #e4dcff}.nav-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:thin}.nav-tab{padding:13px 12px 12px;border:0;background:transparent;color:#737c96;white-space:nowrap;font-size:12px;font-weight:630;border-bottom:2px solid transparent}.nav-tab.active{color:#6c41e4;border-bottom-color:#7047ec}.nav-tab:hover{color:#7047ec}.count-bubble{background:#ececf5;border-radius:20px;color:#626984;padding:1px 6px;font-size:10px;margin-left:5px}.segmented{display:inline-flex;background:#f3f3f9;padding:3px;border:1px solid #e8e8f3;border-radius:9px;gap:2px}.segmented button{border:0;border-radius:7px;background:transparent;color:#717993;padding:7px 11px;font-size:11px;font-weight:640}.segmented button.active{background:#fff;box-shadow:0 1px 5px #32335c19;color:#704ce4}.progress{height:7px;background:#ebedf5;border-radius:20px;overflow:hidden;min-width:65px}.progress>span{height:100%;display:block;background:linear-gradient(90deg,#b79cfb,#8d69f8);border-radius:20px}.progress.warn>span{background:linear-gradient(90deg,#ff9aa1,#ed657b)}.progress.good>span{background:linear-gradient(90deg,#a1dacc,#36b89c)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.stat-card{display:flex;align-items:center;gap:13px;padding:17px}.stat-icon{width:43px;height:43px;border-radius:12px;background:#f2edff;color:#7046e9;display:grid;place-items:center}.stat-icon.green{background:#e6f8ef;color:#189b6c}.stat-icon.blue{background:#e9f3ff;color:#327ec0}.stat-icon.amber{background:#fff1d9;color:#d28a24}.stat-value{font-size:25px;line-height:1.1;font-weight:800;letter-spacing:-.8px}.stat-label{font-size:11px;color:#8d95ab;margin-top:4px}.overview-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:15px;margin:15px 0}.overview-bottom{display:grid;grid-template-columns:1fr 1.08fr 1fr;gap:15px}.donut-wrap{display:flex;align-items:center;gap:24px}.donut{height:152px;width:152px;flex:none;border-radius:50%;background:conic-gradient(#7552ee 0 68%,#c8b9fe 68% 92%,#ebedf5 92%);display:grid;place-items:center}.donut-hole{height:105px;width:105px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;flex-direction:column}.donut-hole strong{font-size:27px;letter-spacing:-1px}.donut-hole small{color:#8e95ab}.legend-list{display:grid;gap:14px;min-width:0;flex:1}.legend-item{display:flex;align-items:center;gap:9px;font-size:11px}.legend-item .swatch{height:11px;width:11px;border-radius:4px;flex:none}.legend-item strong{margin-left:auto;color:#444c6c}.booking-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0f7;padding:11px 0}.booking-row:last-child{border-bottom:0}.booking-accent{width:3px;align-self:stretch;min-height:40px;border-radius:6px;background:#8059f1}.booking-time{font-weight:700;font-size:11px;white-space:nowrap;min-width:91px}.booking-title{font-weight:660;font-size:11px}.booking-desc{color:#8b93aa;font-size:10px;margin-top:2px}.booking-row .i{color:#7780a0}.usage-line{display:flex;align-items:center;gap:9px;margin:14px 0;font-size:11px}.usage-line .usage-name{width:120px;flex:none;display:flex;align-items:center;gap:7px}.usage-line .progress{flex:1}.usage-line strong{width:32px;text-align:right}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-action{border:1px solid #e7e9f4;background:#fff;border-radius:10px;text-align:left;display:flex;align-items:center;gap:8px;min-height:57px;padding:10px;font-size:11px;font-weight:650}.quick-action .i{color:#724ceb}.quick-action:hover{background:#f6f3ff;border-color:#c7b9fa}.alert-row{display:flex;gap:9px;padding:10px 0;border-bottom:1px solid #edf0f7}.alert-row:last-child{border:0}.alert-row .i{color:#e6a442}.alert-row strong{font-size:11px}.alert-row small{display:block;color:#8d95ac;margin-top:2px}.mini-chart{display:flex;align-items:end;gap:8px;height:115px;border-bottom:1px solid #ececf5;background:repeating-linear-gradient(to top,transparent 0 26px,#f0f0f7 27px 28px)}.mini-chart-col{flex:1;display:flex;align-items:end;height:100%;position:relative}.mini-chart-col span{display:block;background:linear-gradient(0deg,#7953edaa,#beadff);border-radius:4px 4px 0 0;width:100%}.mini-chart-col small{position:absolute;bottom:-19px;left:0;width:100%;text-align:center;color:#9198ab;font-size:10px}.master-detail{display:grid;grid-template-columns:minmax(410px,.86fr) minmax(565px,1.26fr);gap:12px;align-items:start}.resources-master,.resources-detail{min-height:calc(100vh - 180px)}.resources-master{padding:0;overflow:hidden;display:flex;flex-direction:column}.master-header{padding:19px 18px 13px}.resource-categories{display:flex;gap:6px;overflow-x:auto;padding:0 18px 15px;scrollbar-width:thin}.resource-cat{border:1px solid #e8e8f2;background:#fafbff;border-radius:8px;padding:8px 10px;white-space:nowrap;color:#666d87;font-size:11px;font-weight:680}.resource-cat.active{background:#744eea;border-color:#744eea;color:white}.resource-cat b{font-size:10px;padding:2px 5px;margin-left:3px;background:#e7e7f0;border-radius:20px;color:#5a6080}.resource-cat.active b{background:#ffffff29;color:#fff}.master-tools{padding:0 18px 13px;display:flex;gap:7px;flex-wrap:wrap}.master-tools .searchfield{flex:1}.master-tools .filter-button{font-size:11px}.table-scroll{overflow:auto;flex:1}.resource-table{width:100%;border-collapse:collapse;font-size:11px}.resource-table th{background:#fafbff;position:sticky;top:0;z-index:2;text-align:left;color:#8b93ab;font-size:10px;font-weight:700;padding:10px 7px;border-bottom:1px solid #eceef6;white-space:nowrap}.resource-table th:first-child,.resource-table td:first-child{padding-left:18px;width:30px}.resource-table td{padding:10px 7px;border-bottom:1px solid #eff0f5}.resource-table tr{cursor:pointer}.resource-table tbody tr:hover{background:#faf9ff}.resource-table tr.selected{background:#f3efff;box-shadow:inset 3px 0 #8858ff}.resource-ident{display:flex;align-items:center;gap:8px;min-width:177px}.resource-ident img{width:39px;height:39px;object-fit:cover;border:1px solid #e7e9f1;border-radius:8px;background:#f5f5f8}.resource-ident strong{font-size:10.5px;display:block;color:#292b44;max-width:175px;line-height:1.25}.resource-ident small{display:block;color:#8f96aa;font-size:10px;margin-top:4px}.row-progress{display:flex;align-items:center;gap:7px;min-width:95px}.row-progress .progress{flex:1;min-width:35px}.row-progress small{font-size:10px}.table-footer{padding:13px 17px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #eceefa;color:#8891a6;font-size:11px}.table-footer button{border:1px solid #e9e6f8;background:#fff;border-radius:5px;padding:3px 7px;color:#6445da}.table-footer button.active{background:#7451ed;color:#fff}.resources-detail{padding:16px;overflow:hidden}.detail-hero{display:flex;align-items:flex-start;gap:15px;padding:1px 0 17px}.hero-photo{width:174px;height:133px;object-fit:cover;border-radius:12px;flex:none;background:#f2f3f7;border:1px solid #e9ebf3}.hero-main{flex:1;min-width:0}.hero-main h2{font-size:21px;line-height:1.2;margin:4px 0 8px;letter-spacing:-.6px}.hero-line{display:flex;align-items:center;gap:7px;font-size:11px;color:#58617b;margin:6px 0}.hero-line .i{width:15px;height:15px;color:#6670a2}.hero-actions{display:flex;align-items:center;gap:6px}.detail-content{padding-top:15px}.detail-columns{display:grid;grid-template-columns:minmax(0,1.43fr) minmax(220px,.8fr);gap:10px}.detail-module{border:1px solid #e8eaf3;background:white;border-radius:11px;padding:14px;min-width:0}.detail-module+.detail-module{margin-top:10px}.detail-module-header{display:flex;align-items:start;justify-content:space-between;gap:8px;margin-bottom:14px}.detail-module-header h3{font-size:13px;font-weight:730;margin:0}.detail-module-header p{color:#8990a7;font-size:10px;margin:3px 0 0}.schedule-row{display:grid;grid-template-columns:27px 1fr;gap:9px;align-items:center;margin:9px 0;font-size:11px}.schedule-bar{height:20px;border-radius:4px;background:#eef0f8;position:relative;overflow:hidden}.schedule-bar.fill{background:linear-gradient(90deg,#eee8ff,#eee8ff)}.schedule-bar .active-time{position:absolute;height:100%;left:16.7%;width:70%;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#cab8ff,#b49bfb);border-radius:4px;color:#3f2e92;font-size:10px;font-weight:720}.schedule-bar.closed{background:repeating-linear-gradient(135deg,#e7eaf5 0,#e7eaf5 3px,#f8f9fc 3px,#f8f9fc 6px);text-align:center;color:#8690aa;font-size:10px;line-height:20px}.schedule-bar .short{width:60%}.donut.small{height:126px;width:126px;background:conic-gradient(#7854ed 0 72%,#bdaaff 72% 88%,#e5e8f2 88%)}.donut.small .donut-hole{height:87px;width:87px}.donut.small .donut-hole strong{font-size:24px}.small-donut-flex{display:flex;gap:12px;align-items:center;justify-content:center}.small-donut-flex .legend-list{gap:10px}.exception-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eaeef5;font-size:11px}.exception-row:last-child{border:0}.exception-main{display:flex;align-items:center;gap:9px}.exception-main .i{color:#6875ac}.exception-main b{display:block}.exception-main small{display:block;color:#9298ae;margin-top:3px}.load-bars{height:110px;display:flex;align-items:end;gap:7px;border-bottom:1px solid #e8eaf2;background:repeating-linear-gradient(to top,transparent 0 24px,#f0f1f7 25px 26px);padding:0 5px}.load-bar{background:linear-gradient(0deg,#9e7cf8,#cdbaff);flex:1;border-radius:4px 4px 0 0;position:relative;min-width:10px}.load-bar:after{content:attr(data-day);font-size:9px;color:#8990a7;position:absolute;top:100%;margin-top:5px;left:50%;transform:translateX(-50%)}.kv-table{width:100%;border-collapse:collapse}.kv-table td{padding:10px 0;border-bottom:1px solid #eef0f6;font-size:11px}.kv-table td:first-child{color:#828ba6;width:40%}.kv-table td:last-child{font-weight:650}.kv-table tr:last-child td{border-bottom:0}.field{display:grid;gap:6px;margin-bottom:13px}.field label{font-size:11px;font-weight:650;color:#4f5875}.field input,.field select,.field textarea{width:100%}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fineprint{font-size:10px;color:#959db3}.check{display:inline-flex;align-items:center;gap:7px;font-size:11px;cursor:pointer}.check input{accent-color:#7450ed;width:15px;height:15px}.tile-list{display:grid;gap:8px}.tile{display:flex;gap:11px;align-items:center;border:1px solid #e8eaf4;border-radius:10px;padding:10px 12px;background:#fff;min-width:0}.tile:hover{border-color:#cbbefa}.tile.selected{background:#f7f4ff;border-color:#b8a4ff}.tile img{width:51px;height:47px;border-radius:8px;object-fit:cover}.tile .tile-body{flex:1;min-width:0}.tile strong{display:block;font-size:11px}.tile small{color:#959ab0;display:block;margin-top:3px;font-size:10px}.tile .i{color:#7865c6}.groups-layout{display:grid;grid-template-columns:minmax(260px,.58fr) minmax(0,1.5fr);gap:14px}.groups-sidebar{padding:16px}.group-item{display:flex;gap:12px;align-items:center;padding:12px;margin:6px 0;border:1px solid #eceef5;border-radius:10px;background:#fff;cursor:pointer;width:100%;text-align:left}.group-item.active{border-color:#bba9fc;background:#f6f2ff;box-shadow:inset 3px 0 #7954ea}.group-item:hover{border-color:#c0b2f6}.group-icon{width:39px;height:39px;border-radius:10px;background:#f0eaff;color:#7049eb;display:grid;place-items:center;flex:none}.group-item strong{display:block;font-size:12px}.group-item small{display:block;color:#8d94aa;margin-top:3px}.group-detail{padding:17px;min-width:0}.group-detail-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.group-detail-header .group-icon{width:45px;height:45px}.group-detail-header h2{font-size:19px;letter-spacing:-.4px;margin:0}.group-detail-header p{margin:4px 0;color:#8991a5;font-size:11px}.group-content{display:grid;grid-template-columns:1fr 1fr;gap:14px}.group-content .detail-module{height:100%}.group-rule-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:5px;align-items:center;margin:7px 0}.group-rule-row .select{padding:7px 6px;font-size:10px;min-height:31px}.group-rule-row .icon-btn{width:30px;height:30px}.and-or{margin-left:auto}.member-row{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:8px 0;border-bottom:1px solid #eceef4}.member-row img{width:39px;height:39px;border-radius:7px;object-fit:cover}.member-row:last-child{border-bottom:0}.member-row .member-info{display:flex;gap:9px;align-items:center}.member-info strong{font-size:11px;display:block}.member-info small{display:block;color:#8e96af;font-size:10px}.radio-option{display:flex;gap:8px;align-items:flex-start;margin:12px 0;font-size:11px;cursor:pointer}.radio-option input{accent-color:#7651ee;margin-top:2px}.radio-option strong,.radio-option small{display:block}.radio-option small{color:#9aa0b3}.canvas-calendar{padding:0;overflow:hidden}.calendar-toolbar{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.calendar-scroll{overflow:auto}.timeline{--row-h:83px;--label-w:205px;min-width:920px;position:relative}.timeline-header{display:grid;grid-template-columns:var(--label-w) repeat(10,minmax(70px,1fr));height:49px;background:#fafbff;border-top:1px solid #edeef5;border-bottom:1px solid #edeef5}.time-heading{display:grid;place-items:center;border-left:1px solid #ebedf5;color:#747d9b;font-size:10px;font-weight:670}.time-heading:first-child{border-left:0}.timeline-row{display:grid;grid-template-columns:var(--label-w) minmax(0,1fr);height:var(--row-h);border-bottom:1px solid #e9ebf5}.timeline-label{display:flex;align-items:center;gap:9px;padding:10px 16px;border-right:1px solid #e9ebf5;background:#fff}.timeline-label img{width:44px;height:44px;border-radius:8px;object-fit:cover}.timeline-label strong{font-size:11px;display:block}.timeline-label small{font-size:10px;color:#8c94ad;display:block;margin-top:3px}.timeline-track{position:relative;background:repeating-linear-gradient(to right,#e8eaf3 0,#e8eaf3 1px,transparent 1px,transparent 10%);background-size:100% 100%;min-width:0}.timeline-event{position:absolute;top:17px;height:47px;border-radius:7px;text-align:left;padding:7px 9px;border:0;overflow:hidden;white-space:nowrap;box-shadow:0 1px 2px #1c254310}.timeline-event strong{font-size:10px;display:block;overflow:hidden;text-overflow:ellipsis}.timeline-event small{display:block;font-size:9px;margin-top:4px}.timeline-event.purple{background:#e6deff;color:#6045bd;border-left:3px solid #8667ea}.timeline-event.blue{background:#dcecff;color:#2166a9;border-left:3px solid #69a9e8}.timeline-event.green{background:#d9f4e7;color:#16805c;border-left:3px solid #5fc69d}.timeline-event.amber{background:#fff1d5;color:#9a691b;border-left:3px solid #e4b85d}.timeline-now{position:absolute;left:53%;top:0;bottom:0;width:1px;background:#8258f7;pointer-events:none}.timeline-now:before{content:'14:27';position:absolute;top:-19px;left:-17px;background:#8358f4;color:white;padding:2px 5px;border-radius:4px;font-size:10px}.calendar-legend{display:flex;align-items:center;gap:19px;flex-wrap:wrap;padding:12px 16px;font-size:11px;color:#737d98}.calendar-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px}.rules-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px}.rules-side,.rules-main{padding:17px}.rule-list-item{display:flex;gap:10px;padding:12px 9px;border:1px solid #e8eaf2;border-radius:9px;width:100%;text-align:left;background:white;margin:7px 0}.rule-list-item.active{background:#f7f3ff;border-color:#b9a4f8}.rule-list-item strong{display:block;font-size:11px}.rule-list-item small{display:block;font-size:10px;color:#9aa2b3;margin-top:3px}.rule-building-block{background:#fafaff;border:1px solid #eceaf8;border-radius:11px;padding:14px;margin-top:10px}.rule-expression{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}.opt-layout{display:grid;grid-template-columns:minmax(300px,.74fr) minmax(0,1.26fr);gap:14px}.opt-request,.opt-results{padding:19px}.opt-request .field{margin-bottom:15px}.opt-card{border:1px solid #e4e6f1;border-radius:11px;background:white;padding:14px;margin:9px 0;cursor:pointer}.opt-card.active{border:1px solid #8b6af7;background:#f8f5ff;box-shadow:0 0 0 2px #eae2ff}.opt-card-top{display:flex;align-items:center;gap:10px}.score{height:44px;width:44px;background:#e9f7ec;color:#188650;border-radius:10px;display:grid;place-items:center;font-size:16px;font-weight:800}.opt-card strong{display:block;font-size:12px}.opt-card small{display:block;font-size:10px;color:#8f98aa;margin-top:4px}.score-conditions{display:flex;align-items:center;gap:7px;margin-top:12px;flex-wrap:wrap}.score-conditions span{font-size:10px;background:#edf7ef;padding:5px 7px;border-radius:6px;color:#328456}.explanation{background:#f5f3ff;color:#6c6392;padding:14px;border-radius:10px;font-size:11px;line-height:1.6}.form-section-title{font-size:12px;font-weight:730;margin:17px 0 12px}.empty{padding:35px;text-align:center;color:#8e95ad}.empty strong{display:block;color:#424c6d;margin-top:6px}.overlay{position:fixed;inset:0;background:#19142d7f;z-index:40;display:grid;place-items:center;padding:15px}.modal{width:min(570px,98vw);max-height:min(92vh,950px);overflow:auto;background:white;border-radius:15px;box-shadow:0 20px 70px #08081350;padding:23px}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:17px}.modal-heading h2{font-size:18px;margin:0}.modal-heading p{font-size:11px;color:#8a92a8;margin:5px 0 0}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:19px;padding-top:16px;border-top:1px solid var(--border)}.file-style{position:relative;display:flex;gap:14px;align-items:center;background:#fafbff;border:1px dashed #cfd0e6;padding:12px;border-radius:9px;margin:10px 0 15px}.file-style img{width:90px;height:72px;object-fit:cover;border-radius:9px}.toast-stack{position:fixed;right:22px;bottom:20px;z-index:70;display:grid;gap:9px}.toast{background:#292445;color:white;padding:11px 16px;border-radius:10px;box-shadow:0 9px 30px #100e2d3b;font-size:12px;max-width:360px}.profile-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px}.profile-user{text-align:center;padding:23px}.profile-user img{width:105px;height:105px;border-radius:22px;object-fit:cover}.profile-user h2{font-size:19px;margin:9px 0 4px}.profile-info{padding:22px}@media(max-width:1470px){.page-content{padding:22px 16px}.topbar{padding:0 16px}.master-detail{grid-template-columns:minmax(375px,.9fr) minmax(520px,1.2fr)}.detail-hero{gap:10px}.hero-photo{width:136px;height:118px}.hero-main h2{font-size:17px}.hero-actions{flex-wrap:wrap}.overview-bottom{grid-template-columns:1fr 1fr}.overview-bottom>:last-child{grid-column:span 2}.top-profile span:not(:last-child){display:none}}@media(max-width:1190px){.layout{grid-template-columns:70px minmax(0,1fr)}.sidebar{padding:15px 8px}.brand{margin:0 3px 22px;justify-content:center;font-size:0}.brand-icon{width:40px;flex:none}.side-caption,.workspace-caption,.side-divider,.workspace-switch span:not(.workspace-logo),.nav-link>span,.side-user>span,.side-user small{display:none}.workspace-switch{padding:5px;justify-content:center}.nav-link{justify-content:center}.nav-link .i{width:19px;height:19px}.side-user{justify-content:center}.master-detail{grid-template-columns:minmax(360px,.95fr) minmax(460px,1.2fr)}.detail-columns{grid-template-columns:1fr}.detail-columns>.detail-module{margin-top:10px}.detail-columns>.detail-module:first-child{margin-top:0}.global-search{width:250px}}@media(max-width:980px){.master-detail{grid-template-columns:1fr}.resources-master,.resources-detail{min-height:0}.resources-master .table-scroll{max-height:400px}.resources-detail{min-height:470px}.group-content,.overview-grid,.overview-bottom{grid-template-columns:1fr}.overview-bottom>:last-child{grid-column:auto}.stat-grid{grid-template-columns:repeat(2,1fr)}.top-profile{display:none}.groups-layout{grid-template-columns:1fr}.opt-layout{grid-template-columns:1fr}.rules-layout{grid-template-columns:1fr}.global-search{width:205px}}@media(max-width:630px){.layout{display:block}.sidebar{position:fixed;width:232px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.sidebar .brand{font-size:19px;justify-content:start}.sidebar .side-caption,.sidebar .workspace-caption,.sidebar .workspace-switch span:not(.workspace-logo),.sidebar .nav-link>span,.sidebar .side-user>span,.sidebar .side-divider{display:revert}.sidebar .nav-link{justify-content:start}.topbar{height:61px;padding:0 12px}.topbar-left{gap:7px}.mobile-menu{display:inline-grid}.topbar-actions{gap:5px}.top-create{padding:7px}.top-create .chev{display:none}.global-search{width:39px;padding:0 9px}.global-search input,.global-search kbd{display:none}.topbar-actions>.icon-btn:not(.notification){display:none}.page-content{padding:18px 11px}.page-title{font-size:22px}.hero-photo{width:112px;height:99px}.hero-actions{align-self:end}.detail-hero{flex-wrap:wrap}.detail-content{padding-top:8px}.field-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:13px;gap:8px}.stat-value{font-size:21px}.stat-icon{width:37px;height:37px}.group-content{grid-template-columns:1fr}.page-heading{flex-wrap:wrap}.table-footer{flex-wrap:wrap}.timeline{min-width:1000px}.resource-table{min-width:640px}.global-search.expanded{position:absolute;left:11px;right:11px;top:62px;width:auto;z-index:30;background:white}.global-search.expanded input{display:block}.global-search.expanded kbd{display:none}.profile-layout{grid-template-columns:1fr}}
/* Final fit-and-finish overrides from visual QA. */
.group-content{align-items:start}
.group-content .detail-module{height:auto}
.small-donut-flex{gap:7px}
.donut.small{height:108px;width:108px;flex:0 0 108px}
.donut.small .donut-hole{height:76px;width:76px}
.donut.small .donut-hole strong{font-size:21px}
.small-donut-flex .legend-list{gap:7px;min-width:0}
.small-donut-flex .legend-item{gap:4px;font-size:10px;flex-wrap:wrap}
.small-donut-flex .legend-item strong{margin-left:15px;width:100%;font-size:10px}
@media(max-width:1650px){.resource-table th:nth-child(3),.resource-table td:nth-child(3),.resource-table th:nth-child(6),.resource-table td:nth-child(6){display:none}.resource-table .resource-ident{min-width:175px}}

.calendar-toolbar [data-action="week-prev"] .i{transform:rotate(180deg)}
