.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;z-index:6}.sidebar .brand{height:var(--topbar-h);padding:0 var(--sp-18);border-bottom:1px solid var(--line);flex:0 0 auto;overflow:hidden}.sidebar nav :is(a,.pending)>span:not(.count):not(.soon){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar nav{padding:var(--sp-16) 0 0;display:flex;flex-direction:column;overflow-y:auto}.sidebar nav :is(a,.pending){display:flex;align-items:center;gap:var(--sp-10);padding:11px var(--sp-18) 11px calc(var(--sp-18) - var(--nav-bar));color:var(--muted);border-left:var(--nav-bar) solid transparent;font-family:var(--font-body);font-weight:400;font-size:var(--fs-13);border-radius:var(--r-control);transition:background .15s,color .15s}.sidebar nav .pending{cursor:default;opacity:.55}.sidebar nav .pending:hover{background:transparent;color:var(--muted)}.sidebar nav .soon{margin-left:auto;font-family:var(--font-label);font-size:var(--fs-10);letter-spacing:var(--label-track);text-transform:var(--label-case);color:var(--muted);border:1px solid var(--line);border-radius:var(--r-pill);padding:1px var(--sp-6)}.sidebar nav a:hover{color:var(--text);background:var(--hover);text-decoration:none}.sidebar nav a.active{border-left-color:var(--cyan-ink);background:var(--cyan-dim-soft);color:var(--cyan-ink);font-weight:600}.sidebar nav .divider{display:block;height:1px;background:var(--line);margin:var(--sp-12) var(--sp-18)}.sidebar nav .count{margin-left:auto;font-family:var(--font-num);font-size:var(--fs-10);padding:2px var(--sp-6);background:var(--line);color:var(--text);font-weight:600;border-radius:var(--r-pill)}.sidebar nav .count.alert{background:var(--coral-solid);color:var(--on-coral)}.sidebar .ico{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px}.sidebar .foot{margin-top:auto;padding:var(--sp-12) var(--sp-18);border-top:1px solid var(--line);display:flex;align-items:center;gap:var(--sp-10)}.main{min-width:0;display:flex;flex-direction:column}.topbar{min-height:var(--topbar-h);border-bottom:1px solid var(--line);background:var(--panel);display:flex;align-items:center;gap:var(--sp-16);flex-wrap:wrap;row-gap:var(--sp-8);padding:var(--sp-10) var(--gutter);position:-webkit-sticky;position:sticky;top:0;z-index:5}.topbar>.row{flex-wrap:wrap;min-width:0}.topbar h1{font-size:var(--fs-20)}.topbar .crumbs{font-family:var(--font-label);font-size:var(--fs-11);letter-spacing:var(--label-track);color:var(--muted)}.topbar .crumbs b{color:var(--text);font-weight:600}.topbar .spacer{flex:1 1}.topbar .tz{font-family:var(--font-label);font-size:var(--fs-11);color:var(--muted);letter-spacing:var(--label-track)}.userchip{display:inline-flex;align-items:center;gap:var(--sp-12);font-size:var(--fs-13);font-weight:500}.content{padding:var(--sp-26) var(--gutter) var(--sp-32);display:flex;flex-direction:column;gap:var(--sp-26)}.page-head{display:flex;align-items:flex-start;gap:var(--sp-16);flex-wrap:wrap}.page-head h1{font-size:var(--fs-24)}.page-head .desc{color:var(--muted);font-size:var(--fs-13);margin-top:var(--sp-4)}.page-head .actions{margin-left:auto;gap:var(--sp-8)}.page-head .actions,.toolbar{display:flex;align-items:center}.toolbar{gap:var(--sp-10);flex-wrap:wrap}.toolbar .right{margin-left:auto;display:flex;gap:var(--sp-8);align-items:center}.sidebar nav>span{display:contents}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.panel-h{display:flex;align-items:center;gap:var(--sp-12);padding:var(--sp-16) var(--sp-20);border-bottom:1px solid var(--line)}.panel-h h3{font-size:var(--fs-15)}.panel-h .right{margin-left:auto;display:flex;gap:var(--sp-8);align-items:center}.panel-b{padding:var(--sp-20)}.panel-b.tight{padding:0}.card{background:var(--panel);border:1px solid var(--line);padding:var(--sp-16) var(--sp-20);border-radius:var(--r-tile)}.card.accent,.card.purple{--accent:var(--cyan-ink);position:relative;border-left:3px solid var(--accent)}.card.purple{--accent:var(--purple-ink)}.card.warn{border-color:var(--amber-ink)}.card.danger{border-color:var(--coral-ink)}.grid{display:grid;grid-gap:var(--gap);gap:var(--gap)}.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.c5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.c6{grid-template-columns:repeat(6,minmax(0,1fr))}.row{display:flex;align-items:center;gap:var(--sp-10)}.row.wrap{flex-wrap:wrap}.row>.btn:not(.block){flex-shrink:0}.row.between{justify-content:space-between}.row.top{align-items:flex-start}.stack{display:flex;flex-direction:column;gap:var(--sp-10)}.stack.tight{gap:var(--sp-6)}.grow{flex:1 1;min-width:0}.ml-auto{margin-left:auto}.signout{display:contents}.phone-nav{display:none}.hide-phone{display:contents}.menu-btn{display:none;align-items:center;justify-content:center;flex:0 0 auto;width:var(--btn-h);height:var(--btn-h);padding:0;border:1px solid var(--line);border-radius:var(--r-control);background:var(--panel);color:var(--text);cursor:pointer}.menu-btn:hover,.menu-btn[aria-expanded=true]{border-color:var(--cyan-line);color:var(--cyan-ink)}.menu-btn[aria-expanded=true]{background:var(--cyan-dim)}.nav-scrim{position:fixed;inset:0;z-index:40;background:var(--scrim-soft);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.mt-8{margin-top:var(--sp-8)}.mt-16{margin-top:var(--sp-16)}.mb-8{margin-bottom:var(--sp-8)}.muted{color:var(--muted)}.cyan{color:var(--cyan-ink)}.green{color:var(--green-ink)}.amber{color:var(--amber-ink)}.coral{color:var(--coral-ink)}.purple{color:var(--purple-ink)}.strong{font-weight:600}.sm{font-size:var(--fs-12)}.xs{font-size:var(--fs-11)}.right-align{text-align:right}.hide{display:none!important}.tilegrid{gap:1px;background:var(--line);border:1px solid var(--line)}.tilegrid>.card,.tilegrid>.kpi{border:0}.kpi{background:var(--panel);border:1px solid var(--line);padding:var(--sp-20) var(--sp-20) var(--sp-18);display:flex;flex-direction:column;gap:var(--sp-8);border-radius:var(--r-tile)}.kpi .k{font-family:var(--font-label);font-size:var(--label-size);text-transform:var(--label-case);letter-spacing:var(--label-track);color:var(--muted);font-weight:var(--label-weight)}.kpi .v{font-family:var(--font-head);font-size:var(--fs-40);font-weight:var(--head-weight);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .d{font-size:var(--fs-12);color:var(--muted)}.kpi.accent .v{color:var(--cyan-ink)}.kpi.warn .v{color:var(--amber-ink)}.kpi.danger .v{color:var(--coral-ink)}.kpi.ok .v{color:var(--green-ink)}.kpi.sm .v{font-size:var(--fs-30)}.kpi.flat{background:transparent;border:0;padding:var(--sp-6) 0 0}table.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-13)}.tbl th{font-family:var(--font-label);font-size:var(--label-size);text-transform:var(--label-case);letter-spacing:var(--label-track);color:var(--muted);font-weight:var(--label-weight);text-align:left;padding:var(--sp-12) var(--sp-20);white-space:nowrap}.tbl td,.tbl th{border-bottom:1px solid var(--line)}.tbl td{padding:var(--sp-14) var(--sp-20);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tr.clickable{cursor:pointer}.tbl tr.clickable:hover td{background:var(--row-hover)}.tbl td.num,.tbl th.num{text-align:right;font-family:var(--font-num);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tbl .sub{display:block;color:var(--muted);font-size:var(--fs-12)}.tbl tr.expand td{background:var(--panel-2)}.tbl tr.violation td:first-child{border-left:3px solid var(--coral-ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-8);padding:0 var(--sp-16);height:var(--btn-h);font-family:var(--font-body);font-weight:600;font-size:var(--fs-13);border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;position:relative;overflow:hidden;white-space:nowrap;border-radius:var(--r-control);transition:transform .12s ease,background .15s,border-color .15s,color .15s}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--hover),transparent);transform:translateX(-120%);transition:transform .45s ease}.btn:hover{transform:translateY(-1px);border-color:var(--cyan-ink);color:var(--cyan-ink)}.btn:hover:after{transform:translateX(120%)}.btn:active{transform:translateY(0)}.btn.primary{background:var(--cyan-solid)}.btn.primary,.btn.primary:hover{color:var(--on-cyan);border-color:transparent}.btn.primary:hover{background:var(--cyan-hot)}.btn.purple{background:var(--purple-solid)}.btn.purple,.btn.purple:hover{color:var(--on-purple);border-color:transparent}.btn.purple:hover{filter:brightness(1.12)}.btn.green{background:var(--green-solid)}.btn.green,.btn.green:hover{color:var(--on-green);border-color:transparent}.btn.green:hover{filter:brightness(1.12)}.btn.amber{background:var(--amber-solid)}.btn.amber,.btn.amber:hover{color:var(--on-amber);border-color:transparent}.btn.amber:hover{background:var(--amber-hot)}.btn.danger{background:transparent}.btn.danger,.btn.danger:hover{color:var(--coral-ink);border-color:var(--coral-ink)}.btn.danger:hover{background:var(--coral-dim)}.btn.danger.solid{background:var(--coral-solid);color:var(--on-coral);border-color:transparent}.btn.danger.solid:hover{color:var(--on-coral);filter:brightness(1.1)}.btn.outline{background:transparent;border-color:var(--cyan-ink);color:var(--cyan-ink)}.btn.outline:hover{background:var(--cyan-dim)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{color:var(--cyan-ink);border-color:transparent;background:var(--hover)}.btn.link{height:auto;padding:0;color:var(--muted);font-weight:500;font-size:inherit;overflow:visible}.btn.link,.btn.link:hover{border-color:transparent;background:transparent}.btn.link:hover{color:var(--cyan-ink);text-decoration:underline}.btn.link:after{content:none}.btn.sm{height:var(--btn-h-sm);padding:0 var(--sp-12);font-size:var(--fs-12)}.btn.lg{height:var(--btn-h-lg);padding:0 var(--sp-18);font-size:var(--fs-15);font-weight:700}.btn.block{width:100%;white-space:normal;text-align:center;height:auto;min-height:var(--btn-h);padding-top:var(--sp-6);padding-bottom:var(--sp-6)}.btn.block.lg{min-height:var(--btn-h-lg)}.btn.block.sm{min-height:var(--btn-h-sm)}.btn.icon{width:var(--btn-h);padding:0}.btn.sm.icon{width:var(--btn-h-sm)}.btn.disabled,.btn:disabled,.btn[aria-disabled=true]{background:var(--disabled-bg)!important;border-color:var(--disabled-line)!important;color:var(--disabled-ink)!important;box-shadow:none!important;cursor:not-allowed;transform:none!important;filter:none!important}.btn:is(:disabled,[aria-disabled=true],.disabled):after{display:none}.btn:is(.ghost,.link):is(:disabled,[aria-disabled=true],.disabled){background:transparent!important;border-color:transparent!important;text-decoration:none}.pill{display:inline-flex;align-items:center;gap:var(--sp-6);padding:3px var(--sp-8);font-family:var(--font-label);font-size:var(--pill-size);letter-spacing:var(--pill-track);text-transform:var(--label-case);font-weight:var(--label-weight);background:transparent;border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:var(--r-pill)}.pill.cyan{color:var(--cyan-ink);border-color:var(--cyan-line);background:var(--cyan-dim)}.pill.green{color:var(--green-ink);border-color:var(--green-line);background:var(--green-dim)}.pill.amber{color:var(--amber-ink);border-color:var(--amber-line);background:var(--amber-dim)}.pill.coral{color:var(--coral-ink);border-color:var(--coral-line);background:var(--coral-dim)}.pill.purple{color:var(--purple-ink);border-color:var(--purple-line);background:var(--purple-dim)}.pill.solid.cyan{background:var(--cyan-solid);color:var(--on-cyan);border-color:transparent}.pill.solid.green{background:var(--green-solid);color:var(--on-green);border-color:transparent}.pill.solid.amber{background:var(--amber-solid);color:var(--on-amber);border-color:transparent}.pill.solid.coral{background:var(--coral-solid);color:var(--on-coral);border-color:transparent}.pill.solid.purple{background:var(--purple-solid);color:var(--on-purple);border-color:transparent}.pill.solid{background:var(--line);color:var(--text);border-color:transparent}.pill .dot{width:6px;height:6px;background:currentColor;display:inline-block;border-radius:50%;flex:0 0 6px}.pill.lg{padding:var(--sp-4) var(--sp-10);font-size:var(--fs-11)}.chip{display:inline-flex;align-items:center;gap:var(--sp-6);padding:var(--sp-4) var(--sp-8);font-family:var(--font-label);font-size:var(--pill-size);letter-spacing:var(--pill-track);text-transform:var(--label-case);font-weight:var(--label-weight);border:1px solid transparent;background:var(--line);color:var(--text);border-radius:var(--r-pill);white-space:nowrap}.chip.cyan{border-color:var(--cyan-line);color:var(--cyan-ink);background:var(--cyan-dim)}.chip.purple{border-color:var(--purple-line);color:var(--purple-ink);background:var(--purple-dim)}.chip.outline{background:transparent;border-color:var(--line);color:var(--muted)}.chip .x{background:none;border:0;padding:0;color:var(--muted);cursor:pointer;font-size:var(--fs-13);line-height:1}.chip .x:hover{color:var(--coral-ink)}.seg{border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden}.seg,.seg a,.seg button{display:inline-flex;background:transparent}.seg a,.seg button{padding:0 var(--sp-16);height:32px;align-items:center;gap:var(--sp-6);font-family:var(--font-body);font-weight:500;font-size:var(--fs-13);color:var(--muted);border:0;border-right:1px solid var(--line);cursor:pointer;transition:background .15s,color .15s}.seg a:last-child,.seg button:last-child{border-right:0}.seg a:hover,.seg button:hover{color:var(--text);text-decoration:none}.seg .active,.seg .on{background:var(--cyan-solid);color:var(--on-cyan);font-weight:600}.seg .active:hover,.seg .on:hover{color:var(--on-cyan)}.seg .n{font-family:var(--font-num);font-size:var(--fs-10);padding:0 var(--sp-6);background:var(--line);color:var(--text);border-radius:var(--r-pill)}.seg .active .n,.seg .on .n{background:var(--on-cyan);color:var(--cyan-ink)}.seg .n.alert{background:var(--coral-solid);color:var(--on-coral)}.seg.sm a,.seg.sm button{height:28px;padding:0 var(--sp-12);font-size:var(--fs-12)}.seg.block{display:flex;width:100%}.seg.block a,.seg.block button{flex:1 1;justify-content:center}.tabs{display:flex;gap:0;border-bottom:1px solid var(--line)}.tabs a,.tabs button{padding:var(--sp-12) var(--sp-16);background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:var(--font-body);font-weight:600;font-size:var(--fs-13);color:var(--muted);cursor:pointer;display:inline-flex;gap:var(--sp-8);align-items:center}.tabs a:hover,.tabs button:hover{color:var(--text);text-decoration:none}.tabs .active{color:var(--cyan-ink);border-bottom-color:var(--cyan-ink)}.tabs .n{font-family:var(--font-num);font-size:var(--fs-10);padding:1px var(--sp-6);background:var(--line);color:var(--text);border-radius:var(--r-pill)}.tabs .n.alert{background:var(--coral-solid);color:var(--on-coral)}.field{display:flex;flex-direction:column;gap:var(--sp-6);min-width:0}.field>.label{margin-bottom:0}.field .hint{font-size:var(--fs-12);color:var(--muted);line-height:1.5}.check .error,.field .error{font-size:var(--fs-12);color:var(--coral-ink)}.input,select.input,textarea.input{width:100%;height:var(--input-h);padding:0 var(--sp-12);background:var(--bg);border:1px solid var(--line);color:var(--text);font-family:var(--font-body);font-size:var(--fs-14);outline:none;border-radius:var(--r-control);transition:border-color .15s,background .15s}:root[data-theme=light] .input,:root[data-theme=light] select.input,:root[data-theme=light] textarea.input{background:var(--panel)}textarea.input{height:auto;min-height:84px;padding:var(--sp-10) var(--sp-12);border-radius:var(--r-field);resize:vertical;line-height:1.5}.input::placeholder{color:var(--muted)}.input:focus,.input:focus-visible{border-color:var(--focus-line);outline:2px solid var(--focus-line);outline-offset:1px}.input.readonly,.input[readonly]{color:var(--muted);background:var(--panel-2)}.input:disabled,:root[data-theme] .input:disabled{background:var(--disabled-bg);border-color:var(--disabled-line);color:var(--disabled-ink);cursor:not-allowed}.input.err{border-color:var(--coral-ink)}.input.accent{border-color:var(--cyan-ink)}.input.mono{font-family:var(--font-mono);letter-spacing:.06em;font-size:var(--fs-16)}.input-row{display:flex;gap:0}.input-row>.field,.input-row>.input{flex:1 1;min-width:0}.input-row .addon{display:inline-flex;align-items:center;padding:0 var(--sp-10);border:1px solid var(--line);border-left:0;background:var(--panel-2);color:var(--text);font-family:var(--font-num);font-size:var(--fs-11);border-radius:0 var(--r-control) var(--r-control) 0}.input-row .addon.l{border-left:1px solid var(--line);border-right:0;border-radius:var(--r-control) 0 0 var(--r-control)}.input-row>.field:not(:first-child)>.input,.input-row>.input:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-row>.field:not(:last-child)>.input,.input-row>.input:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.check{display:flex;gap:var(--sp-10);align-items:flex-start;cursor:pointer;font-size:var(--fs-13);position:relative}.check .check-input{position:absolute;top:0;left:0;width:18px;height:18px;margin:0;padding:0;opacity:0;cursor:inherit}.check .check-input:disabled{cursor:not-allowed}.check .check-input:disabled+.box{background:var(--disabled-bg);border-color:var(--disabled-line)}.check .check-input:focus-visible+.box{outline:2px solid var(--focus-line);outline-offset:2px}.check .check-input[aria-invalid=true]+.box{border-color:var(--coral)}.check .box,.optrow .box{width:18px;height:18px;border:1.5px solid var(--muted);flex:0 0 18px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-11);color:var(--on-cyan);border-radius:var(--r-check)}.check .box.on{background:var(--cyan-solid);border-color:var(--cyan-solid)}.check .box.on:after{content:"✓";font-weight:700}.optrow .box,.radio .box{border-radius:var(--r-avatar)}.optrow .box.on,.radio .box.on{border:5px solid var(--cyan-ink);background:transparent}.optrow .box.on:after,.radio .box.on:after{content:""}.optrow{display:flex;gap:var(--sp-12);align-items:flex-start;padding:var(--sp-14);border:1px solid var(--line);background:transparent;border-radius:var(--r-tile);cursor:pointer;text-align:left;width:100%;font-family:var(--font-body);color:var(--text)}.optrow .t{display:block;font-size:var(--fs-15);font-weight:600}.optrow .d{display:block;font-size:var(--fs-12);line-height:1.5;color:var(--muted)}.optrow.sel{border-color:var(--cyan-ink);background:var(--cyan-dim-soft)}.switch{display:inline-flex;align-items:center;gap:var(--sp-8);font-family:var(--font-body);font-size:var(--fs-12);font-weight:500;color:var(--text);background:transparent;border:0;padding:0;cursor:pointer}.switch .track{width:36px;height:20px;background:var(--line);position:relative;border:1px solid var(--line);border-radius:var(--r-pill);flex:0 0 36px}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--muted);border-radius:var(--r-avatar);transition:left .15s,background .15s}.switch.on .track{background:var(--cyan-dim);border-color:var(--cyan-ink)}.switch.on .track:after{left:18px;background:var(--cyan-ink)}.switch.purple.on .track{background:var(--purple-dim);border-color:var(--purple-ink)}.switch.purple.on .track:after{background:var(--purple-ink)}.switch:disabled{cursor:not-allowed;color:var(--disabled-ink)}.switch:disabled .track{background:var(--disabled-bg);border-color:var(--disabled-line)}.switch:disabled .track:after{background:var(--disabled-ink)}.slider{width:100%;height:5px;background:var(--line);position:relative;margin:var(--sp-14) 0}.slider,.slider .fill{border-radius:var(--r-track)}.slider .fill{position:absolute;left:0;top:0;height:100%;background:var(--cyan-solid)}.slider .fill,.slider .knob{pointer-events:none}.slider .knob{width:18px;background:var(--cyan-solid);transform:translateX(-50%);border-radius:var(--r-avatar)}.slider .knob,.slider .slider-input{position:absolute;top:-7px;height:18px}.slider .slider-input{left:0;width:100%;margin:0;padding:0;opacity:0;cursor:pointer}.slider .slider-input:focus-visible~.knob{outline:2px solid var(--focus-line);outline-offset:2px}.search{position:relative}.search .input{padding-left:var(--sp-32)}.search:before{content:"";position:absolute;left:var(--sp-10);top:calc(var(--input-h) / 2);font-size:var(--fs-16);width:1em;height:1em;transform:translateY(-50%);background-color:var(--muted);-webkit-mask:var(--search-glyph) center /contain no-repeat;mask:var(--search-glyph) center /contain no-repeat;pointer-events:none;transition:background-color .15s}.search{--search-glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.75'/%3E%3Cpath d='m15.5 15.5 5 5'/%3E%3C/svg%3E")}.search:focus-within:before{background-color:var(--text)}.search .input::-webkit-search-decoration{-webkit-appearance:none}.avatar{width:34px;height:34px;background:var(--line);color:var(--text);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-label);font-weight:600;font-size:var(--fs-11);letter-spacing:var(--pill-track);flex:0 0 auto;overflow:hidden;border-radius:var(--r-avatar)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.sm{width:30px;height:30px;font-size:var(--fs-10)}.avatar.lg{width:52px;height:52px;font-size:var(--fs-16)}.avatar.xl{width:72px;height:72px;font-size:var(--fs-24)}.avatar.photo{background:linear-gradient(135deg,var(--photo-a),var(--photo-b))}.avatar.deleted{background:transparent;color:var(--muted);border:1px dashed var(--line)}.avatars{display:flex}.avatars .avatar{margin-right:-6px;outline:2px solid var(--panel)}.person{display:flex;align-items:center;gap:var(--sp-10);min-width:0}.person .n{display:block;font-weight:600;line-height:1.2}.person .s{display:block;font-size:var(--fs-12);color:var(--muted)}.docrow{display:flex;align-items:center;gap:var(--sp-12);padding:var(--sp-14) var(--sp-20);border-bottom:1px solid var(--line);background:transparent}.docrow:last-child{border-bottom:0}.docrow .ico{width:38px;height:38px;background:transparent;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-family:var(--font-label);font-size:var(--fs-9);letter-spacing:var(--pill-track);font-weight:600;flex:0 0 38px;border-radius:var(--r-avatar)}.docrow .t{font-weight:600;font-size:var(--fs-13)}.docrow .m{font-size:var(--fs-12);color:var(--muted)}.docrow .right{margin-left:auto;display:flex;gap:var(--sp-8);align-items:center}.docrow.verified .ico{color:var(--green-ink);border-color:var(--green-line);background:var(--green-dim)}.docrow.expired .ico,.docrow.rejected .ico{color:var(--coral-ink);border-color:var(--coral-line);background:var(--coral-dim)}.docrow.pending .ico{color:var(--amber-ink);border-color:var(--amber-line)}.docrow.pending .ico,.docrow.review{background:var(--amber-dim)}.docrow.review .ico{border-color:var(--amber-line)}.docrow.review .ico,.docrow.review .m{color:var(--amber-ink)}.stepper{display:flex;gap:0;border:1px solid var(--line);background:var(--panel);border-radius:var(--r-card);overflow:hidden;list-style:none;margin:0;padding:0}.stepper .st{flex:1 1;padding:var(--sp-12) var(--sp-14);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px;min-width:0}.stepper .st:last-child{border-right:0}.stepper .st .k{font-family:var(--font-label);font-size:var(--fs-10);letter-spacing:var(--label-track);text-transform:var(--label-case);color:var(--muted);font-weight:var(--label-weight)}.stepper .st .t{font-size:var(--fs-12);font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepper .st.done .k,.stepper .st.done .t{color:var(--green-ink)}.stepper .st.now{background:var(--cyan-dim);border-bottom:2px solid var(--cyan-ink)}.stepper .st.now .k,.stepper .st.now .t{color:var(--cyan-ink)}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);grid-gap:var(--sp-12);gap:var(--sp-12);overflow-x:auto}.kcol{display:flex;flex-direction:column;min-height:420px;gap:var(--sp-10)}.kcol .kh{padding-bottom:var(--sp-10);border-bottom:2px solid var(--line);display:flex;align-items:center;gap:var(--sp-8)}.kcol.accent .kh{border-bottom-color:var(--cyan-ink)}.kcol .kh .t{font-family:var(--font-label);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:var(--label-case);font-weight:var(--label-weight)}.kcol .kh .n{margin-left:auto;font-family:var(--font-num);font-size:var(--fs-10);color:var(--muted)}.kcol .kb{gap:var(--sp-8)}.kcard,.kcol .kb{display:flex;flex-direction:column}.kcard{background:var(--panel);border:1px solid var(--line);padding:var(--sp-12);gap:var(--sp-6);cursor:pointer;border-radius:var(--r-tile);transition:border-color .15s}.kcard:hover{border-color:var(--cyan-line)}.kcard.returning{border-color:var(--purple-line)}.modal-back{position:fixed;inset:0;background:var(--scrim);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--sp-26)}.modal{background:var(--panel);border:1px solid var(--line);width:100%;max-width:560px;display:flex;flex-direction:column;border-radius:var(--r-card);overflow:hidden;max-height:100%}.modal.wide{max-width:860px}.modal .mh{padding:var(--sp-16) var(--sp-20);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:var(--sp-10)}.modal .mh h3{font-size:var(--fs-16)}.modal .mh .btn{margin-left:auto}.modal .mb{padding:var(--sp-20);display:flex;flex-direction:column;gap:var(--sp-14);overflow:auto}.modal .mf{padding:var(--sp-14) var(--sp-20);border-top:1px solid var(--line);display:flex;gap:var(--sp-8);justify-content:flex-end}.toast{--accent:var(--cyan-ink);position:relative;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);padding:var(--sp-12) var(--sp-14);display:flex;gap:var(--sp-10);align-items:center;font-size:var(--fs-13);border-radius:var(--r-tile)}.toast.coral{--accent:var(--coral-ink)}.toast.amber{--accent:var(--amber-ink)}.toast.green{--accent:var(--green-ink)}.toast.purple{--accent:var(--purple-ink)}.note{border:1px solid var(--line);padding:var(--sp-12) var(--sp-14);font-size:var(--fs-12);line-height:1.5;color:var(--muted);background:var(--tint);border-radius:var(--r-tile)}.note b,.note.cyan{color:var(--text)}.note.cyan{border-color:var(--cyan-line);background:var(--cyan-dim)}.note.green{border-color:var(--green-line);background:var(--green-dim);color:var(--text)}.note.amber{border-color:var(--amber-line);background:var(--amber-dim);color:var(--text)}.note.coral{border-color:var(--coral-line);background:var(--coral-dim);color:var(--text)}.note.purple{border-color:var(--purple-line);background:var(--purple-dim);color:var(--text)}.alert{padding:var(--sp-12) var(--sp-14);border:1px solid var(--amber-line);background:var(--amber-dim);font-size:var(--fs-13);line-height:1.5;color:var(--text);border-radius:var(--r-tile)}.alert.coral{border-color:var(--coral-line);background:var(--coral-dim)}.alert.cyan{border-color:var(--cyan-line);background:var(--cyan-dim)}.alert.green{border-color:var(--green-line);background:var(--green-dim)}.alert.purple{border-color:var(--purple-line);background:var(--purple-dim)}.progress{height:6px;background:var(--line);position:relative;border-radius:var(--r-track);overflow:hidden}.progress.thin{height:3px}.progress .fill{position:absolute;left:0;top:0;height:100%;background:var(--cyan-solid);border-radius:var(--r-track)}.progress .fill.green{background:var(--green-solid)}.progress .fill.amber{background:var(--amber-solid)}.progress .fill.coral{background:var(--coral-solid)}.progress .fill.purple{background:var(--purple-solid)}.segbar{display:flex;gap:3px}.segbar i{flex:1 1;height:5px;background:var(--line);border-radius:var(--r-track)}.segbar i.ok{background:var(--green-solid)}.segbar i.pending{background:var(--amber-solid)}.empty{padding:var(--sp-44) var(--sp-20);text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--r-card)}.empty h3{color:var(--text);margin-bottom:var(--sp-6)}.stars{font-family:var(--font-num);letter-spacing:.05em}.rating.green,.stars.green{color:var(--green-ink)}.rating.amber,.stars.amber{color:var(--amber-ink)}.rating.coral,.stars.coral{color:var(--coral-ink)}.rating{gap:var(--sp-4)}.rating,.score{display:inline-flex;align-items:center;font-family:var(--font-num);font-size:var(--fs-12);font-weight:600}.score{gap:var(--sp-8);color:var(--text)}.score .bar{width:56px;height:6px;background:var(--line);position:relative;border-radius:var(--r-track);overflow:hidden}.score .bar i{position:absolute;left:0;top:0;height:100%;background:var(--cyan-solid)}.score.wave2 .bar i{background:var(--muted)}.map{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-card);background:repeating-linear-gradient(90deg,transparent 0 22px,var(--map-b) 22px 23px),repeating-linear-gradient(0deg,var(--map-a) 0 22px,var(--map-b) 22px 23px)}.map .pin{width:12px;height:12px;background:var(--cyan-ink);outline:3px solid var(--cyan-dim);border-radius:var(--r-pill)}.map .circle,.map .pin{position:absolute;transform:translate(-50%,-50%)}.map .circle{border:1.5px solid var(--cyan-ink);background:var(--cyan-dim);border-radius:50%}.map .lbl{position:absolute;font-family:var(--font-label);font-size:var(--fs-10);color:var(--muted);background:var(--glass-strong);padding:2px var(--sp-6);border-radius:var(--r-pill)}.phones{display:flex;flex-wrap:wrap;gap:var(--sp-28);align-items:flex-start}.phone-wrap{display:flex;flex-direction:column;gap:var(--sp-8)}.phone-wrap .cap{font-family:var(--font-label);font-size:var(--fs-11);letter-spacing:var(--label-track);text-transform:var(--label-case);color:var(--muted);font-weight:var(--label-weight)}.phone-wrap .cap b{color:var(--cyan-ink);font-weight:700}.phone{width:390px;height:844px;background:var(--bg);border:1px solid var(--line);position:relative;overflow:hidden;display:flex;flex-direction:column;border-radius:var(--r-phone)}.phone.short{height:auto;min-height:560px}.app-frame:before,.phone:before{content:"";position:absolute;top:-120px;left:-80px;width:340px;height:340px;background:radial-gradient(circle,var(--glow-a),transparent 68%);pointer-events:none}.app-frame:after,.phone:after{content:"";position:absolute;top:180px;right:-120px;width:320px;height:320px;background:radial-gradient(circle,var(--glow-b),transparent 68%);pointer-events:none}.app-frame>*,.phone>*{position:relative;z-index:1}.app-frame{position:relative;overflow-x:hidden;min-height:100dvh;display:flex;flex-direction:column}.statusbar{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-14) var(--gutter-mobile) var(--sp-4);font-family:var(--font-body);font-size:var(--fs-13);font-weight:600}.statusbar .r{font-family:var(--font-num);font-size:var(--fs-11);color:var(--muted)}.app-header{position:-webkit-sticky;position:sticky;flex-wrap:wrap;top:0;z-index:3;display:flex;align-items:center;gap:var(--sp-10);padding:var(--sp-8) var(--gutter-mobile) var(--sp-14);background:var(--glass);backdrop-filter:blur(var(--blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--blur)) saturate(140%);border-bottom:1px solid var(--glass-line);transition:padding .2s}.app-header .title{font-family:var(--font-head);font-size:var(--fs-16);font-weight:var(--head-weight);flex:1 1;min-width:0;transition:font-size .2s}.app-header .sub{font-size:var(--fs-12);color:var(--muted)}.app-header .logo{order:-1}.app-header .actions,.app-header .avatar{margin-left:auto}.app-header .actions{display:flex;align-items:center;gap:var(--sp-6)}.app-header .below{flex:1 0 100%;margin-top:var(--sp-4)}.app-header.collapsed{padding-top:var(--sp-6);padding-bottom:var(--sp-8)}.app-header.collapsed .title{font-size:var(--fs-14)}.app-header.collapsed .sub{display:none}.app-body{flex:1 1;overflow:auto;padding:var(--sp-18) var(--gutter-mobile) 96px;display:flex;flex-direction:column;gap:var(--sp-14)}.app-body>*{flex-shrink:0}.app-body.center{justify-content:center;padding-bottom:var(--sp-26)}.bottom-nav{position:absolute;left:0;right:0;bottom:0;z-index:3;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--glass-nav);backdrop-filter:blur(var(--blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--blur)) saturate(140%);border-top:1px solid var(--glass-line);padding:var(--sp-14) 0 var(--sp-28)}.app-frame>.bottom-nav{position:fixed}@media (min-width:600px){.app-frame{width:100%;border-inline:1px solid var(--line)}.app-frame,.app-frame>.bottom-nav{max-width:var(--app-col);margin-inline:auto}}.mode-switch[aria-pressed=true]{color:var(--cyan-ink)}.bottom-nav .pending{opacity:.45;cursor:default}.bottom-nav :is(a,.pending){display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);color:var(--muted);font-family:var(--font-body);font-size:var(--fs-11);font-weight:500;position:relative;text-align:center}.bottom-nav a:hover{text-decoration:none;color:var(--text)}.bottom-nav :is(a,.pending) .ico{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.bottom-nav a.active{color:var(--cyan-ink);font-weight:600}.bottom-nav a.locked{opacity:.35}.bottom-nav :is(a,.pending) .l{display:inline-flex;align-items:center;gap:var(--sp-4)}.bottom-nav :is(a,.pending) .n{background:var(--coral-solid);color:var(--on-coral);font-family:var(--font-num);font-size:var(--fs-9);padding:0 5px;font-weight:700;border-radius:var(--r-pill)}.sheet{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:var(--sp-20) var(--gutter-mobile) var(--sp-32);background:var(--glass-strong);backdrop-filter:blur(var(--blur-strong)) saturate(140%);-webkit-backdrop-filter:blur(var(--blur-strong)) saturate(140%);border-top:1px solid var(--cyan-line);display:flex;flex-direction:column;gap:var(--sp-16);border-radius:var(--r-tile) var(--r-tile) 0 0}.sheet .grab{width:44px;height:4px;background:var(--line);align-self:center;border-radius:var(--r-pill)}.sheet-back{position:absolute;inset:0;background:var(--scrim-soft);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);z-index:3}.mcard{background:var(--card-glass);border:1px solid var(--line);padding:var(--sp-16);display:flex;flex-direction:column;gap:var(--sp-12);border-radius:var(--r-tile)}.mcard.today{border-color:var(--cyan-ink)}.mcard.needs{border-color:var(--amber-ink)}.mcard.live{border-color:var(--green-ink)}.mcard.applied{border-color:var(--purple-ink)}.mcard.muted{opacity:.55}.mcard .h{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-10)}.mcard .t{font-family:var(--font-head);font-size:var(--fs-17);font-weight:var(--head-weight)}.mcard .m{font-size:var(--fs-13);color:var(--muted);line-height:1.45}.mcard .big{font-family:var(--font-head);font-size:var(--fs-26);font-weight:var(--head-weight)}.mstats{display:flex;flex-wrap:wrap;gap:var(--sp-10) var(--sp-18);padding:var(--sp-12) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mstats>div{flex:0 0 auto}.mstats .k{font-family:var(--font-label);font-size:var(--fs-9);letter-spacing:var(--label-track);text-transform:var(--label-case);color:var(--muted);font-weight:var(--label-weight)}.mstats .v{font-size:var(--fs-15);font-weight:600;white-space:nowrap}.mlist{display:flex;flex-direction:column}.mrow{display:flex;align-items:center;gap:var(--sp-12);padding:var(--sp-14) 2px;border-bottom:1px solid var(--line);font-size:var(--fs-15);font-weight:500}.mrow:last-child{border-bottom:0}.mrow .t{font-weight:600}.mrow .s{font-size:var(--fs-12);color:var(--muted);font-weight:400}.mrow .right{margin-left:auto;display:flex;gap:var(--sp-6);align-items:center;color:var(--muted)}.wizard-top{display:flex;flex-direction:column;gap:var(--sp-8)}.wizard-top .n{font-family:var(--font-label);font-size:var(--fs-11);letter-spacing:var(--label-track);color:var(--cyan-ink);text-transform:var(--label-case);font-weight:var(--label-weight)}.wizard-top h2{font-size:var(--fs-24)}.gps{display:flex;align-items:center;gap:var(--sp-10);padding:var(--sp-10) var(--sp-12);border:1px solid var(--line);font-size:var(--fs-12);border-radius:var(--r-pill)}.gps.ok{border-color:var(--green-line);background:var(--green-dim);color:var(--green-ink)}.gps.bad{border-color:var(--coral-line);background:var(--coral-dim);color:var(--coral-ink)}.gps .dot{width:8px;height:8px;background:currentColor;border-radius:50%}.timer{font-family:var(--font-head);font-size:var(--fs-40);font-weight:var(--head-weight);letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.static-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--sp-12);padding:var(--sp-44) var(--sp-26);flex:1 1}.static-screen h2{font-size:var(--fs-20)}.static-screen p{color:var(--muted);font-size:var(--fs-14)}@media (max-width:1180px){.grid.c5,.grid.c6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1024px){.shell{grid-template-columns:188px 1fr}.sidebar .brand,.sidebar .foot,.sidebar nav .divider,.sidebar nav :is(a,.pending){padding-left:var(--sp-12);padding-right:var(--sp-12)}.sidebar nav :is(a,.pending){padding-left:calc(var(--sp-12) - var(--nav-bar))}.sidebar nav .divider{margin-left:var(--sp-12);margin-right:var(--sp-12);padding:0}.grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:var(--sp-20);gap:var(--sp-20)}.topbar{padding:var(--sp-10) var(--sp-20)}.topbar .crumbs{flex:1 1 220px;min-width:0}.panel-h .row{flex-wrap:wrap;min-width:0}.table-scroll,:is(.panel,.panel-b):has(>table.tbl){overflow-x:auto}:is(.panel,.panel-b)>table.tbl{min-width:720px}:is(.panel,.panel-b,.table-scroll)>table.tbl :is(td,th):not(:empty){min-width:6.5rem}:is(.panel,.panel-b,.table-scroll)>table.tbl td.cell-lead{min-width:0}.panel-h{flex-wrap:wrap;row-gap:var(--sp-8)}.panel-h .right{flex-wrap:wrap;min-width:0}.tabs{max-width:100%;overflow-x:auto;scrollbar-width:none}.tabs>:is(button,a){flex:0 0 auto;white-space:nowrap}}@media (max-width:760px){.shell{grid-template-columns:minmax(0,1fr)}.hide-phone,.sidebar{display:none}.phone-nav{display:contents}.menu-btn{display:inline-flex}.main{padding-bottom:calc(var(--pnav-h) + env(safe-area-inset-bottom));overflow-x:clip}.grid.c2,.grid.c3,.grid.c4,.grid.c5,.grid.c6{grid-template-columns:minmax(0,1fr)}.content{padding:var(--sp-16) var(--gutter-mobile) var(--sp-26);gap:var(--sp-16)}.topbar{position:static;padding:var(--sp-12) var(--gutter-mobile);flex-wrap:wrap;row-gap:var(--sp-4);column-gap:var(--sp-10);align-items:center;min-height:0}.topbar h1{font-size:var(--fs-20);min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .spacer{display:none}.topbar .crumbs{order:1;flex:1 1 100%}.topbar .tz{order:2;flex:1 1 100%}.topbar .btn{flex:0 0 auto}.userchip{max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar{gap:var(--sp-8)}.toolbar .right{margin-left:0;flex:1 1 100%;flex-wrap:wrap}.toolbar :is(.right,.row){flex-wrap:wrap}.toolbar .right>.row{flex:1 1 100%}.toolbar :is(.right,.row)>:is(.field,.input,select,.btn){flex:1 1 140px;min-width:0}.toolbar .search{flex:1 1 100%;min-width:0}.toolbar .input{width:100%!important;min-width:0}.toolbar .datenav{flex:1 1 auto}.datenav .lbl{min-width:0;flex:1 1}.panel-h .right{flex-wrap:wrap}.page-head .actions{margin-left:0;width:100%;flex-wrap:wrap}.seg:not(.block),.tabs{max-width:100%;overflow-x:auto;scrollbar-width:none}.tabs :is(button,a){flex:0 0 auto;white-space:nowrap;padding-left:var(--sp-12);padding-right:var(--sp-12)}.page-head .actions .search,.toolbar .search{flex:1 1 100%;min-width:0}.page-head .actions .search .input,.toolbar .search .input{width:100%}.page-head h1{font-size:var(--fs-20)}.seg{max-width:100%;overflow-x:auto;scrollbar-width:none}.seg::-webkit-scrollbar,.tabs::-webkit-scrollbar{display:none}.tabs{overflow-x:auto;scrollbar-width:none}.seg a,.seg button,.tabs>a,.tabs>button{flex:0 0 auto;white-space:nowrap}.toolbar>*{min-width:0;max-width:100%}.content :is(.row,.toolbar):has(>:is(.search,select.input,input.input)){flex-wrap:wrap}.content :is(.row,.toolbar)>:is(select.input,input.input){flex:1 1 150px;width:auto!important;min-width:0}.content :is(.row,.toolbar)>.search>.input{width:100%!important}.content :is(.row,.toolbar)>.field:has(>:is(select.input,input.input)){flex:1 1 150px;min-width:0}.content :is(.row,.toolbar)>.field>:is(select.input,input.input){width:100%!important}.content :is(.row,.toolbar)>.search{align-self:center;flex:1 1 100%;width:auto!important;min-width:0}.content :is(.row,.toolbar)>.search:before{top:50%}.toolbar .input,.toolbar select.input{max-width:100%}.panel-h{flex-wrap:wrap;padding:var(--sp-14) var(--sp-16);row-gap:var(--sp-6)}.panel-h h3{min-width:0}.panel-b{padding:var(--sp-16)}.table-scroll{overflow-x:auto}.table-scroll .tbl{min-width:640px}.tbl th{padding:var(--sp-10) var(--sp-12)}.tbl td{padding:var(--sp-12)}.table-scroll .tbl.card-rows,:is(.panel,.panel-b)>table.tbl.card-rows{min-width:0}.tbl.card-rows,.tbl.card-rows tbody,.tbl.card-rows td,.tbl.card-rows tr{display:block;width:100%}.tbl.card-rows thead{display:none}.tbl.card-rows tr{padding:var(--sp-14) var(--sp-16);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:var(--sp-4)}.tbl.card-rows tr:last-child{border-bottom:0}.tbl.card-rows td{padding:0;border:0;text-align:left;overflow-wrap:anywhere}.tbl.card-rows td:empty{display:none}.tbl.card-rows td[data-label]{display:flow-root;padding-left:118px}.tbl.card-rows td[data-label]:before{content:attr(data-label);float:left;width:108px;margin-left:-118px;padding-top:.15em;font-family:var(--font-label);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:var(--label-case);color:var(--muted);font-weight:var(--label-weight)}.tbl.card-rows td[data-label].cell-wide{padding-left:0;padding-top:var(--sp-4);padding-bottom:var(--sp-6)}.tbl.card-rows td[data-label].cell-wide:before{float:none;display:block;width:auto;margin:0 0 var(--sp-6);padding-top:0}.tbl.card-rows td.num{font-family:var(--font-num)}.tbl.card-rows td.cell-title{order:-1;font-size:var(--fs-15)}.tbl.card-rows tr:has(>td.cell-lead){flex-flow:row wrap;align-items:center;column-gap:var(--sp-10)}.tbl.card-rows tr:has(>td.cell-lead)>td{flex:1 1 100%}.tbl.card-rows tr:has(>td.cell-lead)>td.cell-lead{order:-2;flex:0 0 auto;width:auto}.tbl.card-rows tr:has(>td.cell-lead)>td.cell-title{flex:1 1;min-width:0}.tbl.card-rows tr.violation td:first-child{border-left:0}.tbl.card-rows tr.violation{border-left:3px solid var(--coral-ink)}.tbl.card-rows td.cell-actions{text-align:left;white-space:normal}.tbl.card-rows .cell-actions{display:flex;flex-wrap:wrap;gap:var(--sp-8);padding-top:var(--sp-4)}.tbl.card-rows .cell-actions>.sub{flex-basis:100%}.phone{width:100%;max-width:390px}.modal-back{padding:var(--sp-12)}.modal{max-height:calc(100dvh - var(--sp-26));overflow-y:auto}.modal .mf{flex-wrap:wrap}:is(.panel,.panel-b,.table-scroll)>table.tbl.card-rows :is(td,th):not(:empty){min-width:0}.btn:not(.link),.datenav .lbl,.datenav :is(button,a),.menu-btn,.seg :is(button,a),.switch,.tabs :is(button,a),input.input,select.input{min-height:var(--tap-min)}.btn.icon,.datenav :is(button,a),.menu-btn{min-width:var(--tap-min)}.docrow{flex-wrap:wrap;row-gap:var(--sp-8)}.docrow>div:not(.right){flex:1 1 12rem;min-width:0;overflow-wrap:anywhere}.docrow .right{flex-wrap:wrap;justify-content:flex-end}.stepper .st{flex:0 0 auto;padding:var(--sp-10) var(--sp-12)}.stepper .st.now{flex:1 1 auto}.stepper .st:not(.now) .t{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.kanban{grid-auto-columns:84%;scroll-snap-type:x mandatory;scrollbar-width:none}.kanban>*{scroll-snap-align:start}.kcol{min-height:0}}.pnav-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-gap:var(--sp-4);gap:var(--sp-4);padding:var(--sp-6) var(--sp-6) calc(var(--sp-6) + env(safe-area-inset-bottom));background:var(--glass-nav);backdrop-filter:blur(var(--blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--blur)) saturate(140%);border-top:1px solid var(--glass-line)}.pnav-slot{display:contents}.pnav-tab{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--sp-4) 2px;background:transparent;border:0;color:var(--muted);font-family:var(--font-body);font-size:var(--fs-11);font-weight:500;cursor:pointer;text-decoration:none}.pnav-tab:hover{color:var(--text);text-decoration:none}.pnav-tab .ico{width:52px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-pill);transition:background .15s}.pnav-item svg,.pnav-tab svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.pnav-tab .l{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pnav-tab.active{color:var(--cyan-ink);font-weight:600}.pnav-tab.active .ico{background:var(--cyan-dim-soft)}.pnav-tab .count{position:absolute;top:2px;left:calc(50% + var(--sp-8));min-width:18px;font-family:var(--font-num);font-size:var(--fs-10);line-height:1.5;text-align:center;padding:0 var(--sp-4);background:var(--line);color:var(--text);font-weight:700;border-radius:var(--r-pill)}.pnav-item .count.alert,.pnav-tab .count.alert{background:var(--coral-solid);color:var(--on-coral)}.pnav-sheet{position:fixed;z-index:19;bottom:calc(var(--pnav-h) + env(safe-area-inset-bottom));max-height:calc(100dvh - var(--pnav-h) - var(--sp-44));overflow-y:auto;gap:var(--sp-14);padding-bottom:var(--sp-20)}.phone-nav .sheet-back{position:fixed;z-index:18}.pnav-brand{display:flex;align-items:center;gap:var(--sp-10)}.pnav-brand .name{font-family:var(--font-head);font-weight:600;font-size:var(--fs-14)}.pnav-brand .sub{font-size:var(--fs-11);color:var(--muted)}.pnav-groups{display:flex;flex-direction:column;gap:var(--sp-10)}.pnav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-6);gap:var(--sp-6)}.pnav-grid+.pnav-grid{border-top:1px solid var(--line);padding-top:var(--sp-10)}.pnav-item{display:flex;align-items:center;gap:var(--sp-10);min-width:0;padding:var(--sp-10) var(--sp-12);border-radius:var(--r-control);color:var(--text);font-family:var(--font-body);font-size:var(--fs-13);font-weight:500;text-decoration:none}.pnav-item:hover{background:var(--hover);text-decoration:none}.pnav-item.active{background:var(--cyan-dim-soft);color:var(--cyan-ink);font-weight:600}.pnav-item .ico{display:inline-flex;color:var(--muted)}.pnav-item.active .ico{color:var(--cyan-ink)}.pnav-item .l{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pnav-item .count{margin-left:auto;font-family:var(--font-num);font-size:var(--fs-10);padding:1px var(--sp-6);background:var(--line);font-weight:700;border-radius:var(--r-pill)}.pnav-item.pending{opacity:.55}.pnav-item .soon{margin-left:auto;font-size:var(--fs-10);color:var(--muted)}.pnav-foot{display:flex;flex-direction:column;gap:var(--sp-12);border-top:1px solid var(--line);padding-top:var(--sp-14)}.pnav-foot>.seg{align-self:flex-start}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);background:var(--line);grid-gap:1px;gap:1px;border-radius:var(--r-card);overflow:hidden}.cal .dh{padding:8px 10px;font-family:var(--font-label);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--muted);font-weight:var(--label-weight)}.cal .day,.cal .dh{background:var(--panel)}.cal .day{min-height:118px;padding:8px;display:flex;flex-direction:column;gap:4px}.cal .day .d{display:flex;align-items:center;gap:6px;font-family:var(--font-num);font-size:11px;color:var(--muted)}.cal .day .d .cnt{margin-left:auto;font-size:9.5px;letter-spacing:.05em}.cal .day.today{outline:2px solid var(--cyan-ink);outline-offset:-2px}.cal .day.today .d{color:var(--cyan-ink)}.cal .day.other{opacity:.35}.cal .day .scroll{display:flex;flex-direction:column;gap:3px;overflow:auto;max-height:96px}.cal .day .scroll>*{flex:0 0 auto}.evchip{--accent:var(--amber);position:relative;font-size:var(--fs-11);padding:3px var(--sp-6);background:var(--bg);border-left:3px solid var(--accent);display:flex;gap:var(--sp-6);align-items:center;white-space:nowrap;overflow:hidden;border-radius:var(--r-pill)}:root[data-theme=light] .evchip{background:var(--panel-2)}.evchip.full{--accent:var(--green)}.evchip.ongoing{--accent:var(--cyan)}.evchip.cancelled{--accent:var(--muted);color:var(--muted);text-decoration:line-through}.evchip .t{font-size:10px;color:var(--muted)}.evchip .f,.evchip .t{font-family:var(--font-num)}.evchip .f{margin-left:auto;font-size:9.5px;color:var(--amber-ink);font-weight:700}.evchip.full .f{color:var(--green-ink)}.datenav{border:1px solid var(--line);background:var(--panel);border-radius:var(--r-control);overflow:hidden}.datenav,.datenav a,.datenav button{display:inline-flex;align-items:center}.datenav a,.datenav button{height:32px;width:34px;background:transparent;border:0;color:var(--muted);font-size:16px;cursor:pointer;justify-content:center;text-decoration:none}.datenav a:hover,.datenav button:hover{color:var(--text)}.datenav .lbl{font-family:var(--font-head);font-weight:600;font-size:14px;padding:0 14px;min-width:200px;text-align:center;border-left:1px solid var(--line);border-right:1px solid var(--line);height:32px;display:inline-flex;align-items:center;justify-content:center}a.signed-in-as{color:inherit;text-decoration:none;min-width:0}a.signed-in-as:focus-visible .strong,a.signed-in-as:hover .strong{text-decoration:underline}.savebar{position:-webkit-sticky;position:sticky;bottom:calc(var(--sp-12) + env(safe-area-inset-bottom));z-index:6;display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-10) var(--sp-16);padding:var(--sp-10) var(--sp-12) var(--sp-10) var(--sp-20);background:radial-gradient(120% 160% at 0 0,var(--glow-a),transparent 55%),radial-gradient(120% 160% at 100% 100%,var(--glow-b),transparent 55%),var(--glass-strong);backdrop-filter:blur(var(--blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--blur)) saturate(140%);border:1px solid var(--glass-line);border-radius:var(--r-card)}.savebar.dirty{border-color:var(--amber-line)}.savebar-status{flex:1 1 14rem;min-width:0;display:flex;flex-direction:column;gap:2px}.savebar-line{display:inline-flex;align-items:center;gap:var(--sp-8);font-size:var(--fs-13);font-weight:600;color:var(--text)}.savebar-line .dot{width:8px;height:8px;flex:0 0 auto;border-radius:var(--r-pill);background:var(--amber-ink)}.savebar-hint{font-size:var(--fs-12);color:var(--muted)}.savebar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-8);margin-left:auto}@media (max-width:760px){.savebar{bottom:calc(var(--pnav-h) + env(safe-area-inset-bottom) + var(--sp-8));padding:var(--sp-10) var(--sp-12);border-radius:var(--r-tile)}.savebar-actions{flex:1 1 100%;margin-left:0}.savebar-actions>.btn{flex:1 1}}@keyframes thc-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skel{display:block;width:100%;height:.9em;background:linear-gradient(90deg,var(--line) 0,var(--panel-2) 50%,var(--line) 100%);background-size:200% 100%;animation:thc-shimmer 1.4s ease-in-out infinite;border-radius:var(--r-pill)}.skel.block{height:var(--sp-44);border-radius:var(--r-control)}.skel.pill{display:inline-block;width:88px;height:var(--btn-h-sm);border-radius:var(--r-pill)}.skel.avatar{flex:0 0 auto;width:34px;height:34px;border-radius:var(--r-avatar)}.skel.tile{height:112px;border-radius:var(--r-tile)}.skel.card{height:180px;border-radius:var(--r-card)}.skel-text{gap:var(--sp-8)}.skel-screen,.skel-text{display:flex;flex-direction:column}.skel-screen{gap:var(--sp-16)}.skel-screen .who{align-self:stretch;flex:1 1 auto}.skel-label{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.skel-row{display:flex;align-items:center;gap:var(--sp-12);padding:var(--sp-12) var(--sp-20);border-bottom:1px solid var(--line)}.skel-row:last-child{border-bottom:0}.skel-row>.skel-text{flex:1 1 auto;min-width:0}@media (prefers-reduced-motion:reduce){.skel{animation:none;background:var(--line)}}:root[data-style=warm] .sidebar nav :is(a,.pending){padding:11px var(--sp-16);margin:2px var(--sp-12);border-left:0}:root[data-style=warm] .sidebar nav a.active{background:var(--cyan-dim)}:root[data-style=warm] .btn.primary{background:var(--grad-primary);border-color:transparent;color:var(--on-cyan)}:root[data-style=warm] .btn.primary:hover{background:var(--grad-primary-hover);color:var(--on-cyan)}:root[data-style=warm] .kpi.flat{background:var(--panel);border:1px solid var(--line);padding:var(--sp-16) var(--sp-18)}:root[data-style=warm] .tilegrid{gap:var(--sp-12);background:transparent;border:0}:root[data-style=warm] .tilegrid>.card,:root[data-style=warm] .tilegrid>.kpi{border:1px solid var(--line);border-radius:var(--r-tile)}:root[data-style=warm] .seg a,:root[data-style=warm] .seg button{border-right:0;border-radius:var(--r-pill)}:root[data-style=warm] .stepper{border-radius:var(--r-card)}:root[data-style=warm] .sheet{border-radius:var(--r-tile) var(--r-tile) 0 0}:root[data-style=warm] .input,:root[data-style=warm] select.input{padding-left:var(--sp-16);padding-right:var(--sp-16)}:root[data-style=warm] .input-row .addon{padding:0 var(--sp-14)}:root[data-style=warm] .search .input{padding-left:var(--sp-36)}:root[data-style=warm] .search:before{left:var(--sp-14)}:root[data-style=warm] .btn.primary,:root[data-style=warm] .sidebar nav a.active{box-shadow:var(--glow-soft)}:root[data-style=warm] .btn.primary:disabled,:root[data-style=warm] .btn.primary[aria-disabled=true]{box-shadow:none}:root[data-style=warm] .gps .dot,:root[data-style=warm] .pill .dot{box-shadow:var(--glow-dot)}:root[data-style=warm] .cal{border:0;gap:6px;background:transparent}:root[data-style=warm] .cal .dh{background:transparent}:root[data-style=warm] .cal .day{border-radius:var(--r-card)}:root[data-style=warm] .card.accent,:root[data-style=warm] .card.purple,:root[data-style=warm] .evchip,:root[data-style=warm] .toast{border-left:1px solid var(--line);padding-left:var(--sp-20)}:root[data-style=warm] .evchip{border-left:0;padding-left:var(--sp-14)}:root[data-style=warm] .card.accent:before,:root[data-style=warm] .card.purple:before,:root[data-style=warm] .evchip:before,:root[data-style=warm] .toast:before{content:"";position:absolute;left:var(--sp-8);top:var(--sp-10);bottom:var(--sp-10);width:3px;border-radius:var(--r-pill);background:var(--accent)}:root[data-style=warm] .evchip:before{left:var(--sp-6);top:3px;bottom:3px}:root[data-style=warm] .cal .day,:root[data-style=warm] .card,:root[data-style=warm] .kpi,:root[data-style=warm] .mcard,:root[data-style=warm] .panel,:root[data-style=warm] .savebar,:root[data-style=warm] .tile{box-shadow:var(--shadow-card)}:root[data-style=warm] .btn.purple{background:var(--grad-auto);border-color:transparent;color:var(--on-purple);box-shadow:var(--glow-soft)}:root[data-style=warm] .btn.purple:hover{background:var(--grad-auto-hover);color:var(--on-purple)}:root[data-style=warm] .phone>.bottom-nav{border-bottom-left-radius:calc(var(--r-phone) - 1px);border-bottom-right-radius:calc(var(--r-phone) - 1px)}:root[data-style=warm] .phone>.app-header:first-child,:root[data-style=warm] .phone>.statusbar{border-top-left-radius:calc(var(--r-phone) - 1px);border-top-right-radius:calc(var(--r-phone) - 1px)}.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-44) var(--sp-16);gap:var(--sp-18);background:var(--bg);position:relative;overflow:hidden}.auth-wrap:after,.auth-wrap:before{content:"";position:absolute;width:340px;height:340px;pointer-events:none}.auth-wrap:before{top:-110px;left:-70px;background:radial-gradient(circle,var(--glow-a),transparent 68%)}.auth-wrap:after{bottom:-110px;right:-90px;background:radial-gradient(circle,var(--glow-b),transparent 68%)}.auth-card{position:relative;width:100%;max-width:420px;background:var(--card-glass);backdrop-filter:blur(var(--blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--blur)) saturate(140%);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-28);display:flex;flex-direction:column;gap:var(--sp-16)}.auth-card .brand{flex-direction:column;align-items:center;text-align:center;gap:var(--sp-10)}.auth-card .brand .name,.auth-card .logo{font-size:var(--fs-17)}.auth-card .logo{width:46px;height:46px}.auth-card .foot,.auth-card h2{text-align:center}.auth-card .foot{font-size:var(--fs-12);color:var(--muted)}.auth-card .appearance{position:absolute;top:var(--sp-10);right:var(--sp-10)}@media (max-width:480px){.auth-card{padding:var(--sp-20)}.auth-card .appearance{position:static;align-self:flex-end;margin:calc(-1 * var(--sp-8)) calc(-1 * var(--sp-8)) calc(-1 * var(--sp-6)) 0}}