.st{background:var(--bg);flex-direction:column;min-height:100%;display:flex}.st-main{flex:1}.st-wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 16px}.st-section{padding-top:28px;padding-bottom:28px}.st-section-head{align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.st-section-head h2{flex:1;font-size:20px}.st-section-head a{align-items:center;gap:4px;font-weight:500;display:inline-flex}.st-link{color:var(--accent-text);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.st-link:hover{text-decoration:underline}.st-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:30;position:sticky;top:0}.st-header-row{align-items:center;gap:20px;height:68px;display:flex}.st-brand{color:var(--text);font-family:var(--font-display);white-space:nowrap;align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.st-brand:hover{text-decoration:none}.st-search{flex:1;max-width:620px;position:relative}.st-search svg{color:var(--text-3);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.st-search input[type=search]{background:var(--surface-2);border-radius:999px;height:42px;padding-left:38px}.st-actions{gap:6px;margin-left:auto;display:flex}.st-action{color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-weight:500;display:inline-flex;position:relative}.st-action:hover{background:var(--surface-2);text-decoration:none}.st-badge{background:var(--accent);color:#fff;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:2px;left:22px}.st-cats{border-top:1px solid var(--border)}.st-cats-row{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.st-cats-row a{color:var(--text-2);white-space:nowrap;border-bottom:2px solid #0000;padding:10px 12px;font-size:13px;font-weight:500}.st-cats-row a:hover{color:var(--text);text-decoration:none}.st-cats-row a.on{color:var(--accent-text);border-bottom-color:var(--accent)}.st-hero{color:#fff;background:linear-gradient(135deg,#0f0f0f 0%,#1c1c1c 55%,#2a1212 100%);padding:56px 0 60px}.st-hero h1{letter-spacing:-.02em;max-width:760px;font-size:clamp(26px,4vw,40px)}.st-hero p{color:#c9c9c9;max-width:640px;margin:12px 0 24px;font-size:16px}.st-hero-search{background:#fff;border-radius:12px;gap:8px;max-width:620px;padding:6px;display:flex;position:relative}.st-hero-search svg{color:#777;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.st-hero-search input[type=search]{box-shadow:none;color:#111;background:0 0;border:none;height:42px;padding-left:38px}.st-hero-search .btn{height:42px;padding:0 22px}.st-cat-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.st-cat{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--text);align-items:center;gap:12px;padding:14px;display:flex}.st-cat:hover{border-color:var(--accent);text-decoration:none}.st-cat b{display:block}.st-cat-ico{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-text);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.st-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.st-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex-direction:column;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.st-card:hover{box-shadow:var(--shadow-lg);text-decoration:none;transform:translateY(-2px)}.st-card-body{flex-direction:column;flex:1;gap:4px;padding:12px 14px 14px;display:flex}.st-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.st-card-meta{color:var(--text-3);flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px;font-size:12px;display:flex}.st-deal{color:var(--ok);font-weight:500}.st-deal .st-price{font-size:inherit;font-weight:500}.st-out{color:var(--danger);font-weight:500}.st-vendor{color:var(--text-3);align-items:center;gap:4px;font-size:12px;display:inline-flex}.st-img{object-fit:cover;background:var(--surface-2);width:100%;display:block}.st-img-card{aspect-ratio:4/3}.st-img-large{aspect-ratio:1;border-radius:var(--radius);border:1px solid var(--border)}.st-img-thumb{border-radius:8px;flex-shrink:0;width:64px;height:64px}.st-placeholder{place-items:center;display:grid}.st-price{color:var(--text);font-size:16px;font-weight:700}.st-price-big{letter-spacing:-.01em;font-size:28px}.st-unit{color:var(--text-3);font-size:.75em;font-weight:400}.st-list-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.st-list-head select{width:auto}.st-pager{justify-content:center;align-items:center;gap:16px;margin-top:24px;display:flex}.st-vendor-banner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:16px;margin-bottom:20px;padding:20px;display:flex}.st-vendor-banner img{object-fit:contain;border:1px solid var(--border);border-radius:12px;width:64px;height:64px}.st-vendor-banner p{color:var(--text-2);margin:8px 0 0}.st-crumbs{color:var(--text-3);margin-bottom:16px;font-size:13px}.st-product{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;display:grid}.st-thumbs{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.st-thumbs button{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;padding:0}.st-thumbs button.on{border-color:var(--accent)}.st-thumbs img{object-fit:cover;border-radius:6px;width:64px;height:64px;display:block}.st-buy{flex-direction:column;gap:12px;display:flex}.st-buy h1{font-size:26px}.st-lead{color:var(--text-2);margin:0;font-size:15px}.st-price-row{align-items:baseline;gap:12px;display:flex}.st-was .st-price{color:var(--text-3);font-size:15px;font-weight:400;text-decoration:line-through}.st-tiers{border-collapse:collapse;width:100%;max-width:360px;font-size:13px}.st-tiers th,.st-tiers td{text-align:left;border-bottom:1px solid var(--border);padding:7px 10px}.st-tiers th{color:var(--text-3);font-weight:500}.st-tiers tr.on td{background:var(--accent-soft);font-weight:600}.st-tiers .st-price{font-size:13px}.st-facts{grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 28px;margin:4px 0;display:grid}.st-facts dt{color:var(--text-3);font-size:12px}.st-facts dd{margin:0;font-weight:500}.st-buy-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.st-btn-lg{height:46px;padding:0 22px;font-size:15px}.st-qty{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;height:40px;display:inline-flex;overflow:hidden}.st-qty button{background:var(--surface-2);cursor:pointer;width:36px;color:var(--text);border:none;font-size:18px}.st-qty button:disabled{opacity:.4;cursor:default}.st-qty input[type=number]{text-align:center;width:70px;height:100%;box-shadow:none;-moz-appearance:textfield;border:none;border-radius:0}.st-qty input::-webkit-outer-spin-button{-webkit-appearance:none}.st-qty input::-webkit-inner-spin-button{-webkit-appearance:none}.st-details{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;margin-top:36px;display:grid}.st-details h2{margin-bottom:10px;font-size:18px}.st-specs{border-collapse:collapse;width:100%}.st-specs th,.st-specs td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:9px 12px}.st-specs th{width:40%;color:var(--text-3);background:var(--surface-2);font-weight:500}.st-checkout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.st-summary{position:sticky;top:130px}.st-line{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:14px 18px;display:flex}.st-line:last-child{border-bottom:none}.st-line-name{color:var(--text);font-weight:600;display:block}.st-line-total{text-align:right;min-width:100px}.st-total{border-top:1px solid var(--border);padding-top:10px;font-size:16px;font-weight:700}.st-pay{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.st-pay.on{border-color:var(--accent);background:var(--accent-soft)}.st-pay input{accent-color:var(--accent);margin-top:3px}.st-auth{max-width:520px}.st-success{text-align:center;padding:10px 0 24px}.st-success h1{margin:10px 0 6px;font-size:24px}.st-order-row{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:14px;padding:14px 18px;display:flex}.st-order-row:last-child{border-bottom:none}a.st-order-row:hover{background:var(--surface-2);text-decoration:none}.st-progress{display:flex}.st-step{color:var(--text-3);flex-direction:column;flex:1;align-items:center;gap:6px;font-size:12px;display:flex;position:relative}.st-step:before{content:"";background:var(--border);width:100%;height:2px;position:absolute;top:6px;left:-50%}.st-step:first-child:before{display:none}.st-step.on:before{background:var(--accent)}.st-step-dot{background:var(--surface);border:2px solid var(--border-strong);z-index:1;border-radius:50%;width:14px;height:14px;position:relative}.st-step.on .st-step-dot{background:var(--accent);border-color:var(--accent)}.st-step.on{color:var(--text);font-weight:500}.st-why{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.st-why-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:12px;padding:16px;display:flex}.st-why-item svg{color:var(--accent-text);flex-shrink:0}.st-footer{background:var(--sidebar);color:var(--sidebar-text);margin-top:40px;padding:28px 0}.st-footer b{color:#fff}.st-footer-row{flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}.st-footer-links{flex-wrap:wrap;gap:18px;display:flex}.st-footer a{color:var(--sidebar-text)}.vp{background:var(--bg);min-height:100%}.vp-top{background:var(--surface);border-bottom:1px solid var(--border)}.vp-thumb{object-fit:cover;border:1px solid var(--border);border-radius:6px;width:40px;height:40px;display:block}.vp-thumb-empty{color:var(--text-3);background:var(--surface-2);place-items:center;display:grid}@media (width<=900px){.st-product,.st-details,.st-checkout{grid-template-columns:1fr}.st-summary{position:static}}@media (width<=640px){.st-header-row{flex-wrap:wrap;gap:10px;height:auto;padding-top:10px;padding-bottom:10px}.st-search{flex-basis:100%;order:3;max-width:none}.st-hide-sm{display:none}.st-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.st-card-body{padding:10px}.st-price-big{font-size:24px}.st-facts{grid-template-columns:1fr 1fr}.st-line{flex-wrap:wrap;padding:12px}.st-line-total{min-width:0}.st-hero{padding:36px 0 40px}.st-order-row{flex-wrap:wrap;gap:8px;padding:12px}}.st-hero{background:#111;padding:72px 0 64px;position:relative;overflow:hidden}.st-hero-bg{opacity:0;background-position:50%;background-size:cover;transition:opacity 1.2s;position:absolute;inset:0;transform:scale(1.04)}.st-hero-bg.on{opacity:1;animation:14s ease-out forwards kenburns}@keyframes kenburns{0%{transform:scale(1.08)}to{transform:scale(1)}}.st-hero-shade{background:linear-gradient(90deg,#0a0a0aeb 0%,#0a0a0abf 45%,#280a0a59 100%);position:absolute;inset:0}.st-hero-inner{position:relative}.st-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#ef8a8a;margin-bottom:12px;font-size:12px;font-weight:700}.st-hero h1{font-size:clamp(30px,4.6vw,52px);line-height:1.08}.st-hero-chips{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.st-hero-chips a{color:#eee;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0f;border:1px solid #ffffff40;border-radius:999px;padding:6px 14px;font-size:13px}.st-hero-chips a:hover{background:#ffffff29;text-decoration:none}.st-statbar{background:var(--sidebar);color:#fff;border-top:1px solid #ffffff14}.st-statbar-row{grid-template-columns:repeat(4,1fr);display:grid}.st-statbar-row>div{border-left:1px solid #ffffff14;justify-content:center;align-items:baseline;gap:8px;padding:16px 0;display:flex}.st-statbar-row>div:first-child{border-left:none}.st-statbar b{font-family:var(--font-display);font-size:22px}.st-statbar span{color:#aaa;font-size:13px}.st-cat-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.st-cat-tile{aspect-ratio:4/3;background:var(--surface-2);border:1px solid var(--border);color:#fff;border-radius:12px;position:relative;overflow:hidden}.st-cat-tile img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.st-cat-tile:hover img{transform:scale(1.06)}.st-cat-tile:after{content:"";background:linear-gradient(#0000 40%,#000000bf);position:absolute;inset:0}.st-cat-tile-ico{color:var(--accent-text);place-items:center;display:grid;position:absolute;inset:0}.st-cat-tile-label{z-index:1;flex-direction:column;display:flex;position:absolute;bottom:12px;left:14px;right:14px}.st-cat-tile-label b{font-family:var(--font-display);font-size:17px}.st-cat-tile-label span{opacity:.85;font-size:12px}.st-cat-tile:hover{text-decoration:none}.st-card-media{position:relative;overflow:hidden}.st-card-media .st-img{transition:transform .45s,opacity .35s}.st-card:hover .st-card-media .st-img{transform:scale(1.04)}.st-img-alt{opacity:0;position:absolute;inset:0}.st-card:hover .st-img-alt{opacity:1}.st-ribbon{z-index:2;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:#141414;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:700;position:absolute;top:10px;left:10px}.st-ribbon-bestseller{background:var(--accent)}.st-ribbon-eco{background:#15803d}.st-ribbon-new{background:#1d4ed8}.st-ribbon-bulk-deal{background:#b45309}.st-ribbon-certified{background:#0f766e}.st-quick{z-index:2;color:#111;cursor:pointer;opacity:0;background:#fffffff2;border:none;border-radius:999px;align-items:center;gap:6px;height:34px;padding:0 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex;position:absolute;bottom:10px;right:10px;transform:translateY(6px);box-shadow:0 4px 14px #0000002e}.st-card:hover .st-quick,.st-quick:focus{opacity:1;transform:none}.st-quick:hover{background:var(--accent);color:#fff}.st-card-price{margin-top:2px}.st-clamp-2{-webkit-line-clamp:2;color:var(--text-2);-webkit-box-orient:vertical;margin:6px 0 0;font-size:13px;display:-webkit-box;overflow:hidden}.st-rail{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;gap:16px;padding-bottom:8px;display:grid;overflow-x:auto}.st-rail-item{scroll-snap-align:start;display:flex;position:relative}.st-rail-item .st-card{flex:1}.st-rank{z-index:3;width:30px;height:30px;font-family:var(--font-display);color:#fff;background:#141414;border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #00000040}.st-band{color:#fff;background:linear-gradient(120deg,#141414,#2b0f0f);margin:12px 0;padding:36px 0}.st-band-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.st-band h2{font-size:26px}.st-band p{color:#c9c9c9;margin:6px 0 0}.st-vendor-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.st-vendor-card{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;align-items:flex-start;gap:14px;padding:16px;display:flex}.st-vendor-card:hover{border-color:var(--accent);text-decoration:none}.st-vlogo{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:12px;flex-shrink:0;display:block}.st-vlogo-mono{font-family:var(--font-display);letter-spacing:.02em;border:none;place-items:center;font-weight:700;display:grid}.st-sell{border:1px dashed var(--border-strong);background:var(--surface);border-radius:14px;flex-wrap:wrap;align-items:center;gap:18px;padding:24px;display:flex}.st-sell svg{color:var(--accent-text)}.st-sell p{margin:4px 0 0}.st-catalog{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:24px;display:grid}.st-filters{background:var(--surface);border:1px solid var(--border);border-radius:12px;max-height:calc(100vh - 150px);padding:6px 16px 16px;position:sticky;top:130px;overflow-y:auto}.st-filters-head{justify-content:space-between;align-items:center;padding:10px 0;display:none}.st-filter{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:12px 0;display:flex}.st-filter:last-child{border-bottom:none}.st-filter h4{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:0 0 4px;font-family:inherit;font-size:12px}.st-filter>button{text-align:left;cursor:pointer;color:var(--text-2);background:0 0;border:none;border-radius:6px;padding:5px 8px;font-size:13px;display:flex}.st-filter>button:hover{background:var(--surface-2)}.st-filter>button.on{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.st-filter label.check{gap:8px;font-size:13px;display:flex}.st-filter input[type=number]{height:32px;padding:0 8px}.st-filter-btn{display:none}.st-grid-catalog{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.st-gallery-main{cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block;position:relative}.st-img-large{aspect-ratio:4/3}.st-buybox{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;padding:18px;display:flex}.st-tier-pills{flex-wrap:wrap;gap:8px;display:flex}.st-tier-pills button{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;min-width:92px;padding:8px 12px;display:flex}.st-tier-pills button span:first-child{color:var(--text-3);font-size:11px}.st-tier-pills button .st-price{font-size:14px}.st-tier-pills button.on{border-color:var(--accent);background:var(--accent-soft)}.st-trust,.st-ship{color:var(--text-2);flex-direction:column;gap:10px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.st-trust li,.st-ship li{align-items:center;gap:10px;display:flex}.st-trust svg,.st-ship svg{color:var(--accent-text);flex-shrink:0}.st-lightbox{z-index:200;background:#000000eb;place-items:center;animation:.15s fade;display:grid;position:fixed;inset:0}.st-lightbox img{border-radius:8px;max-width:92vw;max-height:88vh}.st-lb-nav,.st-lb-close{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:absolute}.st-lb-nav.left{left:20px}.st-lb-nav.right{right:20px}.st-lb-close{top:20px;right:20px}@media (width<=1000px){.st-cat-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.st-catalog{grid-template-columns:1fr}.st-filter-btn{display:inline-flex}.st-filters-wrap{display:none}.st-filters-wrap.open{z-index:120;background:#00000073;display:block;position:fixed;inset:0}.st-filters-wrap.open .st-filters{border-radius:0;width:min(340px,88vw);max-height:none;position:absolute;top:0;bottom:0;left:0}.st-filters-head{display:flex}}@media (width<=640px){.st-statbar-row{grid-template-columns:repeat(2,1fr)}.st-statbar-row>div:nth-child(3){border-left:none}.st-rail{grid-auto-columns:46%}.st-quick{opacity:1;height:30px;padding:0 10px;transform:none}.st-quick span{display:none}.st-hero{padding:44px 0 40px}.st-grid-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}.btn.lg{border-radius:10px;height:42px;padding:0 18px;font-size:14.5px}.ex-pass{color:var(--ok)}.ex-fail{color:var(--danger)}.ex-ico{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-text);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.ex-ico.lg{border-radius:12px;width:44px;height:44px}.ex-plain{margin:0;padding-left:18px}.ex-plain-list{flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:13.5px;display:flex}.ex-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ex-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.ex-kpis{flex-wrap:wrap;gap:12px;display:flex}.ex-kpis>*{flex:128px}.ex-kpi{flex-direction:column;gap:2px;min-width:0;padding:14px 16px;display:flex;container-type:inline-size}.ex-kpi-label{color:var(--text-3);font-size:12.5px;font-weight:500}.ex-kpi-val{font-family:var(--font-display);overflow-wrap:anywhere;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(15px,13cqi,24px);font-weight:600;line-height:1.25}.ex-kpi-val.bad{color:var(--danger)}.ex-kpi-val.good{color:var(--ok)}.ex-kpi .badge{padding:2px 10px;font-size:18px}.ex-meter{align-items:center;gap:8px;min-width:120px;display:flex}.ex-meter-track{background:var(--viz-track);border-radius:4px;flex:1;height:8px;overflow:hidden}.ex-meter-fill{border-radius:4px;height:100%}.ex-meter-val{font-variant-numeric:tabular-nums;text-align:right;min-width:44px;color:var(--text-2);font-size:12.5px}.ex-topics{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ex-topics li{grid-template-columns:minmax(0,1fr) minmax(140px,1.3fr);align-items:center;gap:12px;display:grid}.ex-topic-name{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.ex-recs{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ex-rec{border-radius:var(--radius-sm);background:var(--surface-2);gap:10px;padding:10px 12px;display:flex}.ex-rec-bar{background:var(--info);border-radius:2px;flex-shrink:0;width:3px}.ex-rec.ok .ex-rec-bar{background:var(--ok)}.ex-rec.warn .ex-rec-bar{background:var(--warn)}.ex-rec.danger .ex-rec-bar{background:var(--danger)}.ex-rec-title{font-size:13.5px;font-weight:500}.ex-rec-title a{color:var(--text)}.ex-list{margin:0;padding:4px 0;list-style:none}.ex-list.flush{margin:0 -8px;padding:0}.ex-list-item{color:var(--text);width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 18px;display:flex}.ex-list.flush .ex-list-item{border-radius:var(--radius-sm);padding:8px}.ex-list-item:hover{background:var(--surface-2);text-decoration:none}.ex-list li+li{border-top:1px solid var(--border)}.ex-list.flush li+li{border-top:0}.ex-list-title{overflow-wrap:anywhere;font-weight:500}.ex-list-item>.grow{min-width:min(100%,180px)!important}.ex-list-side{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.ex-reasons{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:55%;display:flex}.ex-portal{margin-bottom:16px}.ex-portal .link-more{font-size:13px}.ex-tabs button{color:var(--text-3);white-space:nowrap;font-weight:500;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px;font-size:13.5px}.ex-tabs button:hover{color:var(--text)}.ex-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.ex-strip{color:var(--text-2);flex-wrap:wrap;gap:18px;margin:-8px 0 16px;font-size:13.5px;display:flex}.ex-strip span{align-items:center;gap:6px;display:inline-flex}.ex-live .dot{background:var(--ok);animation:1.4s infinite ex-pulse}@keyframes ex-pulse{50%{opacity:.3}}.ex-upload{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ex-problems{margin:6px 0 0;padding-left:18px}.ex-qlist{flex-direction:column;gap:10px;margin:0;padding:12px;list-style:none;display:flex}.ex-qcard{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:12px 14px}.ex-qcard.flagged{border-color:color-mix(in srgb, var(--warn) 55%, var(--border))}.ex-qcard.broken{border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:color-mix(in srgb, var(--danger-soft) 40%, var(--surface))}.ex-qcard-head{align-items:flex-start;gap:10px;display:flex}.ex-qtext{white-space:pre-wrap;padding-top:3px;font-weight:500}.ex-qopts{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin:8px 0 0 34px;padding:0;list-style:none;display:grid}.ex-qopts li{color:var(--text-2);border-radius:6px;align-items:center;gap:8px;padding:3px 6px;font-size:13.5px;display:flex}.ex-qopts li.correct{color:var(--ok);background:var(--ok-soft);font-weight:500}.ex-qmeta{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 0 34px;display:flex}.ex-qwarn,.ex-qflag{align-items:flex-start;gap:6px;margin:8px 0 0 34px;font-size:13px;display:flex}.ex-qwarn{color:var(--danger)}.ex-qflag{color:var(--warn)}.ex-qexpl{margin:6px 0 0 34px}.ex-flag-on{color:var(--warn)}.ex-opt-edit{flex-direction:column;gap:6px;display:flex}.ex-opt-row{align-items:center;gap:8px;display:flex}.ex-opt-row input[type=text]{flex:1}.ex-opt-row.correct input[type=text]{border-color:var(--ok);background:var(--ok-soft)}.ex-opt-check{width:46px;color:var(--text-2);cursor:pointer;align-items:center;gap:6px;font-weight:600;display:inline-flex}.ex-setting{align-items:flex-start;gap:12px;display:flex}.ex-setting .switch{margin-top:2px}.ex-cell-text{max-width:360px}.ex-checks{flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.ex-checks li{color:var(--text-3);align-items:center;gap:8px;display:flex}.ex-checks li.ok{color:var(--ok)}.ex-checks li.bad{color:var(--danger)}.exq{border:0;min-width:0;margin:0;padding:0}.exq-head{flex-wrap:wrap;align-items:center;gap:10px;width:100%;margin-bottom:10px;padding:0;display:flex}.exq-num{color:var(--text-3);white-space:nowrap;font-size:13px;font-weight:600}.ex-qcard .exq-num{background:var(--surface-3);width:24px;height:24px;color:var(--text-2);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.exq-text{white-space:pre-wrap;margin-bottom:16px;font-size:17px;line-height:1.55}.exq-options{flex-direction:column;gap:8px;display:flex}.exq-option{border:1px solid var(--border-strong);cursor:pointer;background:var(--surface);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .1s,background .1s;display:flex}.exq-option:hover{border-color:var(--text-3)}.exq-option.on{border-color:var(--accent);background:var(--accent-soft)}.exq-option input{opacity:0;pointer-events:none;position:absolute}.exq-option:focus-within{box-shadow:var(--ring)}.exq-letter{background:var(--surface-3);width:26px;height:26px;color:var(--text-2);border-radius:7px;flex-shrink:0;place-items:center;font-size:13px;font-weight:600;display:grid}.exq-option.on .exq-letter{background:var(--accent);color:#fff}.exq-option-text{font-size:15px}.exq.review{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}.exq.review.wrong{border-left:3px solid var(--danger)}.exq.review.right{border-left:3px solid var(--ok)}.exq.review .exq-text{margin-bottom:10px;font-size:15px}.exq-key{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.exq-key li{border-radius:7px;align-items:center;gap:10px;padding:6px 8px;font-size:14px;display:flex}.exq-key li.correct{background:var(--ok-soft)}.exq-key li.chosen:not(.correct){background:var(--danger-soft)}.exq-mark{place-items:center;display:grid}.exq-mark.ok{color:var(--ok)}.exq-mark.bad{color:var(--danger)}.exq-expl{color:var(--text-2);background:var(--surface-2);border-radius:7px;margin-top:10px;padding:8px 10px;font-size:13.5px}.ex-video{border-radius:var(--radius-sm);background:#000;width:100%;max-height:360px}.ex-media-wait{aspect-ratio:4/3;border-radius:var(--radius-sm);background:var(--surface-3)}.ex-snaps{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.ex-snaps figure{margin:0}.ex-snaps img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-xs);background:var(--surface-3);width:100%;display:block}.ex-snaps figcaption{color:var(--text-3);flex-direction:column;align-items:flex-start;gap:3px;margin-top:4px;font-size:12px;display:flex}.ex-snaps figure.flagged img{outline:2px solid var(--danger);outline-offset:1px}.ex-counts{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ex-counts li{align-items:center;gap:10px;display:flex}.ex-timeline{max-height:520px;margin:0;padding:6px 0;list-style:none;overflow-y:auto}.ex-timeline li{border-left:3px solid #0000;gap:12px;padding:7px 18px;font-size:13.5px;display:flex}.ex-timeline li.serious{border-left-color:var(--danger)}.ex-timeline li.minor{border-left-color:var(--warn)}.ex-tl-time{color:var(--text-3);font-variant-numeric:tabular-nums;flex-shrink:0;width:76px}.ex-coach{border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.exr-pre{background:var(--bg);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.exr-pre-card{flex-direction:column;gap:18px;width:min(860px,100%);padding:28px;display:flex}.exr-pre-head{align-items:center;gap:14px;display:flex}.exr-pre-head h1{margin:2px 0 0;font-size:22px}.exr-pre-facts{color:var(--text-2);flex-wrap:wrap;gap:8px 18px;display:flex}.exr-pre-facts span{align-items:center;gap:6px;display:inline-flex}.exr-pre-ins{white-space:pre-wrap;background:var(--surface-2);border-radius:var(--radius-sm);padding:12px 14px}.exr-pre-grid{grid-template-columns:minmax(0,1fr) 260px;gap:22px;display:grid}.exr-pre-grid h3{margin:0 0 8px;font-size:14px}.exr-rules{color:var(--text-2);flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:13.5px;display:flex}.exr-cam-check{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.exr-cam-box{aspect-ratio:4/3;border-radius:var(--radius-sm);background:var(--surface-3);width:100%;color:var(--text-3);place-items:center;display:grid;overflow:hidden}.exr-cam-box video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.exr-ai-check{flex-direction:column;gap:4px;display:flex}.exr-ai-check span{align-items:center;gap:6px;display:inline-flex}.exr-ai{background:var(--ok-soft);color:var(--ok);white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;font-weight:500;display:inline-flex}.exr-ai.alert{background:var(--danger-soft);color:var(--danger)}.exr-agree{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.exr-agree input{margin-top:3px}.exr-end{text-align:center;align-items:center}.exr-end h1{margin:0;font-size:21px}.exr{background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.exr.nocopy,.exr.nocopy *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.exr:after{content:"";pointer-events:none;background-image:var(--wm);z-index:5;position:absolute;inset:0}.exr-top{padding:calc(10px + env(safe-area-inset-top,0px)) 18px 10px;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;display:flex}.exr-title{min-width:0;color:var(--text-2);flex:1;align-items:center;gap:8px;display:flex}.exr-timer{font-family:var(--font-display);font-variant-numeric:tabular-nums;background:var(--surface-3);border-radius:8px;align-items:center;gap:6px;padding:4px 12px;font-size:20px;font-weight:600;display:inline-flex}.exr-timer.low{background:var(--warn-soft);color:var(--warn)}.exr-timer.crit{background:var(--danger-soft);color:var(--danger);animation:1s infinite ex-pulse}.exr-status{flex:1;justify-content:flex-end;align-items:center;gap:10px;display:flex}.exr-save{color:var(--ok);align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.exr-save.saving{color:var(--text-3)}.exr-save.offline{color:var(--danger)}.exr-cam{background:#000;border-radius:8px;flex-shrink:0;width:96px;height:72px;position:relative;overflow:hidden}.exr-cam video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.exr-rec{color:#fff;background:#0000008c;border-radius:4px;align-items:center;gap:3px;padding:1px 5px;font-size:9.5px;font-weight:700;display:inline-flex;position:absolute;top:4px;left:4px}.exr-rec .dot{background:#ef4444;width:6px;height:6px;animation:1.2s infinite ex-pulse}.exr-body{flex:1;grid-template-columns:230px minmax(0,1fr);min-height:0;display:grid}.exr-nav{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:14px;padding:18px;display:flex;overflow-y:auto}.exr-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.exr-dot{aspect-ratio:1;border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;color:var(--text-2);border-radius:7px;font-size:12.5px;font-weight:600;position:relative}.exr-dot.done{background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.exr-dot.cur{box-shadow:0 0 0 2px var(--accent)}.exr-dot.flag:after{content:"";background:var(--warn);border-radius:50%;width:6px;height:6px;position:absolute;top:2px;right:2px}.exr-legend{gap:12px;display:flex}.exr-legend span{align-items:center;gap:5px;display:inline-flex}.exr-legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.exr-legend i.done{background:var(--accent-soft)}.exr-legend i.flag{background:var(--warn);border-radius:50%}.exr-main{padding:32px clamp(16px,5vw,64px);overflow-y:auto}.exr-main>.exq{max-width:820px;margin:0 auto}.exr-foot{flex-wrap:wrap;align-items:center;gap:8px;max-width:820px;margin:28px auto 0;display:flex}.btn.on-flag{color:var(--warn);border-color:var(--warn)}.exr.unfocused .exr-main{filter:blur(8px)}.exr-warning{z-index:30;background:var(--danger);color:#fff;max-width:min(620px,100vw - 32px);box-shadow:var(--shadow-lg);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.exr-lastmin{z-index:20;background:var(--danger-soft);color:var(--danger);border-radius:8px;padding:8px 14px;font-weight:500;position:fixed;top:76px;left:50%;transform:translate(-50%)}.exr-block{z-index:40;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.exr-block-card{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:440px;display:flex}.exr-block-card h2{margin:0;font-size:21px}.exr-block-card p{color:var(--text-2);margin:0}@media print{.exr,.exr *{display:none!important}}@media (width<=900px){.ex-grid-2,.ex-grid-3,.exr-pre-grid{grid-template-columns:minmax(0,1fr)}.ex-qopts{grid-template-columns:minmax(0,1fr);margin-left:0}.ex-qmeta,.ex-qwarn,.ex-qflag,.ex-qexpl{margin-left:0}.ex-reasons{max-width:50%}}@media (width<=720px){.exr-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.exr-nav{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap;align-items:center;padding:10px 14px}.exr-grid{flex:100%;grid-template-columns:repeat(auto-fill,minmax(34px,1fr))}.exr-top{flex-wrap:wrap;gap:8px}.exr-title{flex-basis:100%}.exr-status{flex:1}.exr-cam{width:64px;height:48px}.ex-topics li{grid-template-columns:minmax(0,1fr);gap:4px}.ex-kpis{gap:10px}.ex-kpis>*{flex-basis:140px}}.ex-decision{border-color:color-mix(in srgb, var(--warn) 45%, var(--border))}.exq-input{width:100%;padding:10px 12px;font-size:15px}.exq-essay{resize:vertical;width:100%;min-height:220px;padding:12px 14px;font-size:15px;line-height:1.6}.exq-over{color:var(--danger);font-weight:600}.exq-match{flex-direction:column;gap:8px;display:flex}.exq-match-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.exq-match-row.on{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));background:var(--accent-soft)}.exq-match-row select{width:auto;min-width:160px;max-width:100%}.exq-order{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.exq-order li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:10px;padding:8px 10px;display:flex}.exq-answer{flex-wrap:wrap;gap:10px 28px;display:flex}.exq-given{font-size:15px;font-weight:600}.exq-plain{margin:4px 0 0;padding-left:20px}.exq-plain li.ok{color:var(--ok)}.exq-plain li.bad{color:var(--danger)}.exq-essay-view{white-space:pre-wrap;border-radius:var(--radius-sm);background:var(--surface-2);overflow-wrap:anywhere;padding:12px 14px;line-height:1.6}.exq.review.pending{border-color:color-mix(in srgb, var(--info) 50%, var(--border))}.exq-markbox{border-radius:var(--radius-sm);background:var(--accent-soft);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px;padding:10px 12px;display:flex}.exq-markbox input[type=text]{min-width:200px}.ex-types{flex-wrap:wrap;gap:6px;display:flex}.ex-type{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font:inherit;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px}.ex-type:hover{border-color:var(--border-strong,var(--text-3));color:var(--text)}.ex-type.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff)}.ex-qkey{color:var(--text-2);margin:6px 0;font-size:13.5px}.ex-acc-box{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}tr.ex-acc-on td{background:color-mix(in srgb, var(--accent-soft) 50%, transparent)}.ss-drawer-wrap{z-index:100;background:#09090b59;justify-content:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.ss-drawer{background:var(--surface);border-left:1px solid var(--border);width:min(100%,560px);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.18s cubic-bezier(.2,.8,.2,1) ss-slide;display:flex}.ss-drawer-head{padding:calc(16px + env(safe-area-inset-top,0px)) 20px 14px;border-bottom:1px solid var(--border);align-items:center;gap:10px;display:flex}.ss-drawer-head h2{margin:0}.ss-drawer-body{padding:16px 20px calc(24px + env(safe-area-inset-bottom,0px));gap:14px;overflow-y:auto}@keyframes ss-slide{0%{opacity:0;transform:translate(24px)}}.ss-facts{grid-template-columns:120px minmax(0,1fr);gap:8px 14px;margin:0;font-size:13.5px;display:grid}.ss-facts dt{color:var(--text-3)}.ss-facts dd{overflow-wrap:anywhere;margin:0}.ss-pre{white-space:pre-wrap}.ss-action .card-body{padding-top:4px}.ss-timeline li{align-items:flex-start}.ss-tl-time{width:128px}.ss-tl-msg{white-space:pre-wrap;color:var(--text-2);overflow-wrap:anywhere;margin-top:2px}.ss-row{cursor:pointer}.ss-row:hover td{background:var(--surface-2)}.ss-row .badge{white-space:nowrap}.ss-clip{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.linklike{font:inherit;color:var(--accent-text);cursor:pointer;background:0 0;border:0;padding:0;font-weight:500}.linklike:hover{text-decoration:underline}.ss-steps{margin:0;padding:0;list-style:none}.ss-step{border-top:1px solid var(--border);color:var(--text);align-items:flex-start;gap:10px;padding:9px 0;display:flex}.ss-steps li:first-child .ss-step{border-top:0}.ss-step:hover{text-decoration:none}.ss-step:hover .ss-step-title{text-decoration:underline}.ss-step-ico{background:var(--surface-2);width:28px;height:28px;color:var(--text-2);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.ss-step.high .ss-step-ico{background:var(--danger-soft);color:var(--danger)}.ss-step.medium .ss-step-ico{background:var(--warn-soft);color:var(--warn)}.ss-step-title{overflow-wrap:anywhere;font-weight:500}.ss-hold{border-left:3px solid var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);padding:10px 14px}.ss-hold.released{border-left-color:var(--border-strong);background:var(--surface-2)}.ss-hold-title{color:var(--text);font-weight:600}.ss-chips{flex-wrap:wrap;gap:6px;display:flex}.ss-chips label{border:1px solid var(--border-strong);cursor:pointer;border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}button.ss-figure{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.ss-figure:hover .ex-kpi-val,a.ss-num:hover{text-decoration:underline}a.ss-num{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}a.ss-num.bad{color:var(--danger)}@media (width<=600px){.ss-facts{grid-template-columns:minmax(0,1fr);gap:2px}.ss-facts dd{margin-bottom:8px}.ss-tl-time{width:auto}.ss-timeline li{flex-direction:column;gap:2px}.ss-clip{white-space:normal;max-width:100%}}.wl-help{margin-top:4px}.wl-bar{background:var(--surface-2);border:1px solid var(--border);border-radius:99px;height:10px;position:relative;overflow:hidden}.wl-bar>span{background:var(--accent);border-radius:99px;position:absolute;inset:0 auto 0 0}.wl-bar.over>span{background:var(--danger)}.wl-bar.under>span{background:var(--warn)}.wl-bar>i{background:var(--text);opacity:.55;width:2px;position:absolute;top:-2px;bottom:-2px}.wl-summary{flex-wrap:wrap;align-items:center;gap:10px 18px;padding:16px 18px;display:flex}.wl-summary-total{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.wl-summary-bar{flex-direction:column;flex:220px;gap:6px;min-width:0;display:flex}.wl-num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.wl-row-btn{font:inherit;color:var(--accent-text,var(--accent));cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:500}.wl-row-btn:hover{text-decoration:underline}.wl-items{margin:0;padding:0;list-style:none}.wl-items li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:9px 18px;display:flex}.wl-items li:first-child{border-top:0}.wl-items .grow{overflow-wrap:anywhere;min-width:0}.danger-text{color:var(--danger)}.tr-page{max-width:980px}@keyframes tr-spin{to{transform:rotate(360deg)}}.btn.on:not(.btn-group .btn){background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.tr-focus{flex-direction:column;gap:10px;margin-bottom:14px;padding:12px 16px;display:flex}.tr-focus-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tr-focus-label{align-items:center;gap:6px;min-width:150px;margin-right:4px;font-size:13px;font-weight:600;display:inline-flex}.chip.weak{border-color:color-mix(in srgb, var(--warn) 40%, var(--border))}.chip.strong{border-color:color-mix(in srgb, var(--ok) 40%, var(--border))}.chip.static{cursor:default}.chip button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;margin-left:2px;padding:0;display:inline-grid}.tr-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.tr-toolbar .btn-group .btn{gap:5px}.tr-subject{width:auto;max-width:min(100%,320px)}.tr-list{flex-direction:column;gap:12px;display:flex}.tr-item{flex-direction:column;gap:8px;padding:16px 18px;display:flex}.tr-item.pinned{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.tr-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tr-kind{border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.tr-kind-research{background:var(--info-soft);color:var(--info)}.tr-kind-open_source{background:var(--ok-soft);color:var(--ok)}.tr-kind-news{background:var(--warn-soft);color:var(--warn)}.tr-title{overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:600;line-height:1.35}.tr-title a{color:var(--text)}.tr-title a:hover{color:var(--accent-text);text-decoration:none}.tr-ext{vertical-align:-1px;color:var(--text-3);margin-left:6px}.tr-summary{color:var(--text-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.tr-meta{color:var(--text-3);flex-wrap:wrap;gap:4px 14px;min-width:0;font-size:12.5px;display:flex}.tr-meta>*{align-items:center;gap:4px;display:inline-flex}.tr-meta a{color:var(--text-3)}.tr-venue{max-width:100%;font-style:italic}.tr-why{color:var(--text-2);border-left:2px solid var(--border-strong);margin:0;padding-left:10px;font-size:13px}.tr-reason{border-radius:8px;align-items:flex-start;gap:8px;padding:7px 10px;font-size:13px;display:flex}.tr-reason svg{flex-shrink:0;margin-top:2px}.tr-reason.shared{background:var(--accent-soft);color:var(--accent-text)}.tr-reason.weak{background:var(--warn-soft);color:var(--warn)}.tr-reason.strong{background:var(--ok-soft);color:var(--ok)}.tr-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.tr-tags{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.tr-actions{gap:2px;margin-left:auto;display:flex}.tr-actions .btn{gap:5px}.tr-actions .btn.on{color:var(--accent-text)}.tr-more{justify-content:center;padding:6px;display:flex}.tr-credit{margin-top:18px}.tr-topics{margin-bottom:16px}.tr-subjects{margin:0;padding:0;list-style:none}.tr-subject-row{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:14px 18px;display:flex}.tr-kw{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;display:flex}.tr-kw input{min-width:160px;box-shadow:none;background:0 0;border:0;flex:1;height:28px;padding:0 4px}.tr-kw input:focus{box-shadow:none;outline:none}.tr-ok,.tr-bad{align-items:center;gap:5px;display:inline-flex}.tr-ok{color:var(--ok)}.tr-bad{color:var(--warn)}.tr-portal-list{flex-direction:column;gap:12px;margin:0;padding:4px 18px 14px;list-style:none;display:flex}.tr-portal-list li{align-items:flex-start;gap:10px;display:flex}.tr-portal-ico{border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.tr-portal-title{color:var(--text);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:500;display:-webkit-box;overflow:hidden}@media (width<=640px){.hide-sm{display:none}.tr-item{padding:14px}.tr-focus-label{width:100%;min-width:0}.tr-subject{flex:1;max-width:100%}}@media (width<=420px){.hide-xs{display:none}}.cl-page{max-width:1080px}.cl-section-title{color:var(--text-2);margin:26px 0 12px;font-size:15px}.cl-search{flex:0 280px;max-width:280px}.cl-search input[type=search]{padding-right:12px}.cl-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px;display:grid}.cl-card{color:var(--text);flex-direction:column;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;overflow:hidden}.cl-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);text-decoration:none;transform:translateY(-1px)}.cl-card-band{background:linear-gradient(135deg, hsl(var(--hue) 70% 42%), hsl(calc(var(--hue) + 35) 65% 52%));color:#fff;justify-content:space-between;align-items:flex-start;height:84px;padding:12px 14px;display:flex}.cl-code{letter-spacing:.04em;background:#0000002e;border-radius:6px;padding:3px 8px;font-size:13px;font-weight:700}.cl-new{color:hsl(var(--hue) 60% 32%);background:#fff;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.cl-card-body{flex-direction:column;flex:1;gap:4px;padding:14px;display:flex}.cl-card-title{overflow-wrap:anywhere;margin:0 0 2px;font-size:16px;line-height:1.3}.cl-sched{align-items:center;gap:4px;display:inline-flex}.cl-card-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;display:flex}.cl-progress{align-items:center;gap:8px;min-width:120px;display:inline-flex}.cl-progress-bar{background:var(--surface-3);border-radius:6px;flex:1;min-width:60px;height:6px;overflow:hidden}.cl-progress-bar span{background:var(--ok);border-radius:6px;height:100%;transition:width .3s;display:block}.cl-progress-text{color:var(--text-2);text-align:right;min-width:32px;font-size:12px;font-weight:600}.cl-progress.sm{min-width:100px}.cl-progress.lg{min-width:200px}.cl-progress.lg .cl-progress-bar{height:8px}.cl-back{margin-bottom:10px}.cl-hero{border-radius:var(--radius);color:#fff;background:linear-gradient(120deg, hsl(var(--hue) 68% 36%), hsl(calc(var(--hue) + 40) 62% 48%));flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:16px;padding:22px 24px;display:flex}.cl-hero h1{color:#fff;overflow-wrap:anywhere;margin:4px 0;font-size:clamp(20px,2.4vw + 10px,28px)}.cl-hero-code{letter-spacing:.05em;opacity:.9;text-transform:uppercase;font-size:12.5px;font-weight:600}.cl-hero-meta{opacity:.92;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;display:flex}.cl-hero-meta .badge{color:#fff;background:#fff3}.cl-hero-progress{background:#00000029;border-radius:10px;flex-direction:column;gap:6px;padding:10px 14px;display:flex}.cl-hero-progress .cl-progress-bar{background:#ffffff4d}.cl-hero-progress .cl-progress-bar span{background:#fff}.cl-hero-progress .cl-progress-text{color:#fff}.cl-tabs a{align-items:center;gap:6px;display:inline-flex}.cl-module{overflow:hidden}.cl-module.draft{border-style:dashed}.cl-module-head{background:var(--surface-2);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 18px;display:flex}.cl-module-head h3{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:15.5px;display:flex}.cl-module.locked .cl-module-head h3{color:var(--text-3)}.cl-module-rules{flex-wrap:wrap;gap:4px 14px;margin-top:3px;display:flex}.cl-module-rules span{align-items:center;gap:4px;display:inline-flex}.cl-module-empty{padding:14px 18px}.cl-items{margin:0;padding:0;list-style:none}.cl-item{border-top:1px solid var(--border);align-items:center;gap:8px;padding-right:12px;display:flex}.cl-items .cl-item:first-child{border-top:0}.cl-item.draft{background:repeating-linear-gradient(-45deg, transparent 0 8px, var(--surface-2) 8px 16px)}.cl-item-link{min-width:0;color:var(--text);flex:1;align-items:center;gap:12px;padding:12px 18px;display:flex}.cl-item-link:hover{background:var(--surface-2);text-decoration:none}.cl-item.locked .cl-item-link{color:var(--text-3);cursor:not-allowed}.cl-item.locked .cl-item-link:hover{background:0 0}.cl-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.cl-item-title{overflow-wrap:anywhere;font-weight:500}.cl-item-sub{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.cl-item-ico{background:var(--surface-3);width:32px;height:32px;color:var(--text-2);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.cl-item-ico.k-page{background:var(--info-soft);color:var(--info)}.cl-item-ico.k-file{background:var(--surface-3);color:var(--text-2)}.cl-item-ico.k-link{background:var(--ok-soft);color:var(--ok)}.cl-item-ico.k-video{background:var(--danger-soft);color:var(--danger)}.cl-item-ico.k-assignment{background:var(--warn-soft);color:var(--warn)}.cl-item-ico.k-exam{background:var(--accent-soft);color:var(--accent-text)}.cl-heading{border-top:0;padding:14px 18px 6px}.cl-heading-text{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);flex:1;font-size:12px;font-weight:700}.cl-state{width:34px;height:34px;color:var(--text-3);flex-shrink:0;place-items:center;display:grid}.cl-state.on{color:var(--ok)}.cl-state.tick{cursor:pointer;background:0 0;border:0;border-radius:50%}.cl-state.tick:hover{background:var(--surface-2);color:var(--ok)}.cl-tools{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.cl-tools .switch{margin-right:6px}.cl-add{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 18px 14px;display:flex}.cl-add .muted{margin-right:4px}.cl-filelist{margin:8px 0 0;padding-left:18px;font-size:13px}.cl-toggle{align-items:center;gap:10px;display:flex}.cl-toggle>span{cursor:pointer;font-size:13.5px}.cl-reader{max-width:900px}.cl-crumbs{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.cl-article{overflow:hidden}.cl-article-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;padding:20px 24px 14px;display:flex}.cl-article-head h1{overflow-wrap:anywhere;margin:0 0 4px;font-size:clamp(19px,1.4vw + 12px,24px)}.cl-article-body{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.cl-article-foot{border-top:1px solid var(--border);background:var(--surface-2);justify-content:flex-end;padding:14px 24px;display:flex}.cl-auto{align-items:center;gap:6px;display:inline-flex}.cl-auto.on{color:var(--ok)}.cl-title-input{height:42px;font-size:18px;font-weight:600}.cl-locked{color:var(--text-2);align-items:center;gap:14px;padding:28px 24px;display:flex}.cl-embed{aspect-ratio:16/9;background:#000;border-radius:10px;width:100%;max-width:100%;position:relative;overflow:hidden}.cl-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.cl-preview{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;width:100%}.cl-pdf{flex-direction:column;gap:10px;display:flex}.cl-pdf-pages{background:var(--surface-3);border-radius:10px;flex-direction:column;gap:12px;max-height:80vh;padding:12px;display:flex;overflow-y:auto}.cl-pdf-page{width:100%;height:auto;box-shadow:var(--shadow-md);background:#fff;border-radius:2px}.cl-preview.img{object-fit:contain;height:auto;max-height:78vh}.cl-facts{color:var(--text-2);flex-wrap:wrap;gap:8px 18px;font-size:13.5px;display:flex}.cl-facts span{align-items:center;gap:5px;display:inline-flex}.cl-pre{white-space:pre-wrap;margin:0}.cl-pager{justify-content:space-between;gap:12px;margin-top:16px;display:flex}.cl-pager .btn{max-width:48%}.rich-text{color:var(--text);overflow-wrap:anywhere;font-size:15px;line-height:1.65}.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}.rich-text h2{margin:1.4em 0 .5em;font-size:20px}.rich-text h3{margin:1.2em 0 .4em;font-size:17px}.rich-text p{margin:0 0 .9em}.rich-text ul,.rich-text ol{margin:0 0 .9em;padding-left:1.5em}.rich-text li>p{margin:0 0 .3em}.rich-text blockquote{border-left:3px solid var(--border-strong);color:var(--text-2);margin:0 0 .9em;padding:4px 0 4px 14px}.rich-text pre{background:var(--surface-3);border-radius:8px;padding:12px 14px;font-size:13px;overflow-x:auto}.rich-text code{background:var(--surface-3);border-radius:4px;padding:1px 5px;font-size:.9em}.rich-text pre code{background:0 0;padding:0}.rich-text img{border-radius:8px;max-width:100%;height:auto}.rich-text hr{border:0;border-top:1px solid var(--border);margin:1.5em 0}.rich-text table{border-collapse:collapse;display:block;overflow-x:auto}.rich-text th,.rich-text td{border:1px solid var(--border);padding:6px 10px}.rich-text iframe{aspect-ratio:16/9;border:0;border-radius:10px;width:100%}.re{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.re:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.re-bar{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:2px;padding:6px;display:flex}.re-btn{width:30px;height:30px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.re-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.re-btn.on{background:var(--accent-soft);color:var(--accent-text)}.re-btn:disabled{opacity:.35;cursor:default}.re-sep{background:var(--border);width:1px;height:18px;margin:0 4px}.re-link{border-bottom:1px solid var(--border);gap:6px;padding:8px;display:flex}.re-link input{flex:1;height:30px}.re-body{cursor:text;max-height:70vh;padding:12px 14px;overflow-y:auto}.re-content,.re-content:focus,.re-content:focus-visible{box-shadow:none;min-height:inherit;outline:none}.re-content :focus-visible{outline:none}.re-body.is-empty .re-content>p:first-child:before{content:attr(data-placeholder);color:var(--text-3);float:left;pointer-events:none;height:0}.re-content.rich-text{font-size:14.5px}.cl-composer .cl-title-input{font-size:16px}.cl-announcement{flex-direction:column;gap:12px;padding:18px 20px;display:flex}.cl-announcement h3{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 3px;font-size:16px;display:flex}.cl-announcement.unread{border-left:3px solid var(--accent)}.cl-announcement.pinned{background:linear-gradient(var(--accent-soft), transparent 70px), var(--surface)}.cl-announcement .rich-text{font-size:14.5px}.cl-forums{flex-wrap:wrap;gap:6px;display:flex}.cl-forums .badge{margin-left:2px}.cl-forum-head{flex-wrap:wrap;align-items:center;gap:10px}.cl-topics{margin:0;padding:0;list-style:none;overflow:hidden}.cl-topics li+li{border-top:1px solid var(--border)}.cl-topic{color:var(--text);align-items:flex-start;gap:12px;padding:14px 18px;display:flex}.cl-topic:hover{background:var(--surface-2);text-decoration:none}.cl-topic .grow{flex-direction:column;gap:3px;display:flex}.cl-topic-ico{color:var(--text-3);margin-top:2px}.cl-topic.unread .cl-topic-title{font-weight:650}.cl-topic-title{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;font-weight:500;display:flex}.cl-topic-excerpt{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cl-topic-side{text-align:right;flex-direction:column;align-items:flex-end;min-width:64px;display:flex}.cl-thread{gap:12px}.cl-post-card{padding:0;overflow:hidden}.cl-post{flex-direction:column;gap:8px;padding:14px 18px;display:flex}.cl-post.nested{border-left:2px solid var(--border);border-top:1px solid var(--border);margin-left:36px;padding-left:16px}.cl-post.answer{background:var(--ok-soft)}.cl-post.new{box-shadow:inset 3px 0 0 var(--accent)}.cl-post.removed{padding:10px 18px}.cl-post-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cl-post-body{font-size:14.5px}.cl-post-actions{flex-wrap:wrap;gap:2px;margin-left:-8px;display:flex}.cl-post-actions .btn{gap:5px}.cl-post-actions .btn.on{color:var(--accent-text)}.cl-reply-form{gap:8px}.cl-meeting{flex-wrap:wrap;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.cl-meeting.s-cancelled{opacity:.6}.cl-meeting.s-live{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));box-shadow:0 0 0 3px var(--danger-soft)}.cl-meeting-date{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex-shrink:0;align-items:center;width:58px;padding:6px 0;line-height:1.15;display:flex}.cl-meeting-date b{font-size:21px}.cl-meeting-date span{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px}.cl-meeting h3{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 4px;font-size:15.5px;display:flex}.cl-meeting-meta{flex-wrap:wrap;gap:4px 14px;display:flex}.cl-meeting-meta span{align-items:center;gap:4px;display:inline-flex}.cl-meeting-notes{color:var(--text-2);margin-top:6px}.cl-joined{color:var(--ok)}.cl-meeting-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.cl-live{animation:1.6s ease-in-out infinite cl-pulse}@keyframes cl-pulse{50%{opacity:.55}}.cl-portal-sessions{margin:0;padding:0 8px 4px;list-style:none}.cl-portal-session{border-radius:var(--radius-sm);color:var(--text);background:var(--surface-2);align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;display:flex}.cl-portal-session:hover{background:var(--surface-3);text-decoration:none}.cl-portal-session.live{background:var(--danger-soft);color:var(--danger)}.cl-portal-session .grow{flex-direction:column;display:flex}.cl-people{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start;gap:16px;display:grid}.cl-person-list{margin:0;padding:4px 0;list-style:none}.cl-person{align-items:center;gap:10px;padding:9px 18px;display:flex}.cl-person+.cl-person{border-top:1px solid var(--border)}.cl-person .grow{flex-direction:column;display:flex}.cl-add-staff{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:12px 18px;display:flex}.cl-add-staff input{flex:200px}.cl-add-staff select{flex:0 190px;width:auto}.cl-roles-help{padding:0 18px 14px}.cl-matrix th,.cl-matrix td{text-align:center;padding:6px 8px}.cl-matrix th:first-child,.cl-matrix td:first-child{text-align:left;background:var(--surface);position:sticky;left:0}.cl-matrix td.yes{background:var(--ok-soft);color:var(--ok)}.cl-portal-list{margin:0;padding:0 8px 10px;list-style:none}.cl-portal-item{border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:12px;padding:9px 10px;display:flex}.cl-portal-item:hover{background:var(--surface-2);text-decoration:none}.cl-portal-item .grow{flex-direction:column;display:flex}.cl-news{color:var(--accent-text);align-items:center;gap:3px;margin-left:8px;font-weight:600;display:inline-flex}@media (width<=640px){.cl-hero{padding:18px}.cl-hero-progress{width:100%}.cl-module-head,.cl-item-link,.cl-add{padding-left:14px;padding-right:14px}.cl-tools .btn.icon{width:30px}.cl-item{flex-wrap:wrap}.cl-item .cl-tools{padding:0 0 8px 58px}.cl-article-head,.cl-article-body,.cl-article-foot{padding-left:16px;padding-right:16px}.cl-pager .btn{max-width:50%}.cl-meeting-actions{width:100%;margin-left:74px}.cl-post.nested{margin-left:12px}.cl-topic-side{min-width:48px}.cl-pdf-pages{max-height:75vh;padding:6px}}.msg-page{max-width:1180px}.msg-layout{grid-template-columns:minmax(260px,340px) 1fr;height:calc(100vh - 210px);min-height:460px;padding:0;display:grid;overflow:hidden}.msg-convs{border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.msg-convs ul{flex:1;margin:0;padding:4px;list-style:none;overflow-y:auto}.msg-tabs{align-self:flex-start;margin:10px}.msg-none{padding:16px}.msg-conv{color:var(--text);border-radius:10px;align-items:flex-start;gap:10px;padding:10px;display:flex}.msg-conv:hover{background:var(--surface-2);text-decoration:none}.msg-conv.on{background:var(--accent-soft)}.msg-conv .grow{flex-direction:column;gap:1px;display:flex}.msg-conv-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.msg-conv-top .muted{flex-shrink:0}.msg-conv.unread b,.msg-conv.unread .msg-conv-subj{font-weight:700}.msg-thread{flex-direction:column;min-width:0;min-height:0;display:flex}.msg-empty{justify-content:center}.msg-thread-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 16px;display:flex}.msg-thread-head .grow{flex-direction:column;display:flex}.msg-thread-head .msg-back{display:none}.msg-list{background:var(--surface-2);flex-direction:column;flex:1;gap:4px;padding:16px;display:flex;overflow-y:auto}.msg-day{text-align:center;color:var(--text-3);margin:14px 0 8px;font-size:12px}.msg{flex-direction:column;align-items:flex-start;max-width:78%;margin-top:4px;display:flex}.msg.mine{align-self:flex-end;align-items:flex-end;margin-left:auto}.msg-author{color:var(--text-3);margin:0 0 2px 10px;font-size:12px}.msg-bubble{background:var(--surface);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;padding:9px 13px;font-size:14.5px;line-height:1.45}.msg.mine .msg-bubble{background:var(--accent);color:#fff;border-color:#0000}.msg.mine .msg-bubble a{color:#fff;text-decoration:underline}.msg-time{color:var(--text-3);align-items:center;gap:4px;margin:2px 8px 0;font-size:11px;display:inline-flex}.msg-compose{border-top:1px solid var(--border);background:var(--surface);align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.msg-compose textarea{resize:none;field-sizing:content;flex:1;min-height:40px;max-height:160px}.msg-people{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:260px;margin:0;padding:4px;list-style:none;overflow-y:auto}.msg-person{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:7px 8px;display:flex}.msg-person:hover{background:var(--surface-2)}.msg-person.on{background:var(--accent-soft)}.msg-person .grow{flex-direction:column;display:flex}@media (width<=760px){.msg-layout{grid-template-columns:1fr;height:calc(100vh - 190px)}.msg-page.has-thread .msg-convs,.msg-page:not(.has-thread) .msg-thread,.msg-page.has-thread .msg-head{display:none}.msg-thread-head .msg-back{display:inline-grid}.msg-convs{border-right:0}.msg{max-width:88%}}.as-list{margin:0;padding:0;list-style:none;overflow:hidden}.as-list li+li{border-top:1px solid var(--border)}.as-row{color:var(--text);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 18px;display:flex}.as-row:hover{background:var(--surface-2);text-decoration:none}.as-row .grow{flex-direction:column;gap:3px;display:flex}.as-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.as-meta{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.as-counts{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.as-fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:12px;margin:0;padding:12px 14px 14px;display:flex}.as-fieldset legend{padding:0 6px;font-size:13px;font-weight:600}.rb-row{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.rb-head{align-items:center;gap:8px;display:flex}.rb-levels{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rb-level{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:4px;padding:4px;display:flex}.rb-level input[type=text]{width:120px;height:30px}.rb-level input[type=number]{width:64px;height:30px}.as-handin .alert.warn,.as-grade .alert.warn{background:var(--warn-soft);color:var(--warn)}.as-drop{border:2px dashed var(--border-strong);cursor:pointer;color:var(--text-2);border-radius:10px;align-items:center;gap:10px;padding:16px;display:flex}.as-drop:hover{border-color:var(--accent);color:var(--text)}.as-drop.busy{opacity:.7}.as-files{flex-wrap:wrap;gap:6px;display:flex}.as-file{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:6px;max-width:100%;padding:4px 6px 4px 10px;display:inline-flex}.as-file .link-btn{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.as-attempts{margin:0;padding:0;list-style:none}.as-attempts li{flex-direction:column;gap:8px;padding:14px 18px;display:flex}.as-attempts li+li{border-top:1px solid var(--border)}.as-answer{background:var(--surface-2);border-radius:8px;padding:10px 12px;font-size:14px}.as-score{font-size:22px;font-weight:700}.as-audio{width:min(100%,360px);height:36px}.danger-text{color:var(--danger);align-items:center;gap:5px;display:inline-flex}.mk-page{background:var(--bg);flex-direction:column;height:100vh;display:flex}.mk-top{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;display:flex}.mk-layout{flex:1;grid-template-columns:230px minmax(0,1fr) minmax(320px,400px);min-height:0;display:grid}.mk-roster{border-right:1px solid var(--border);background:var(--surface);overflow-y:auto}.mk-roster ul{margin:0;padding:6px;list-style:none}.mk-student{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.mk-student:hover:not(:disabled){background:var(--surface-2)}.mk-student.on{background:var(--accent-soft)}.mk-student:disabled{color:var(--text-3);cursor:default}.mk-student .ok{color:var(--ok)}.mk-student .warn{color:var(--warn)}.mk-student .danger{color:var(--danger)}.mk-work{flex-direction:column;gap:14px;padding:18px 22px;display:flex;overflow-y:auto}.mk-work-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mk-text{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px}.mk-file{flex-direction:column;gap:8px;display:flex}.mk-code{background:var(--surface);border:1px solid var(--border);white-space:pre;border-radius:10px;max-height:70vh;padding:12px 14px;font-size:12.5px;overflow:auto}.mk-img{border:1px solid var(--border);border-radius:8px;max-width:100%}.mk-side{border-left:1px solid var(--border);background:var(--surface);overflow-y:auto}.mk-panel{flex-direction:column;gap:14px;padding:16px;display:flex}.mk-rubric{flex-direction:column;gap:12px;display:flex}.mk-crit-title{margin-bottom:6px;font-size:13.5px;font-weight:600}.mk-levels{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:6px;display:grid}.mk-level{border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text-2);cursor:pointer;text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-size:12px;display:flex}.mk-level b{color:var(--text);font-size:16px}.mk-level:hover{border-color:var(--border-strong)}.mk-level.on{background:var(--accent);border-color:var(--accent);color:#fff}.mk-level.on b{color:#fff}.mk-comment{height:32px;margin-top:6px;font-size:13px}.mk-total{background:var(--surface-2);border-radius:10px;align-items:flex-end;gap:14px;padding:12px;display:flex}.mk-total .field{flex:1}.mk-final{align-items:baseline;gap:6px;display:flex}.mk-final b{font-size:26px}.mk-attach,.mk-actions{flex-wrap:wrap;gap:8px;display:flex}.mk-actions .btn{flex:1;justify-content:center}@media (width<=1100px){.mk-layout{grid-template-columns:180px minmax(0,1fr) 320px}}@media (width<=860px){.mk-page{height:auto;min-height:100vh}.mk-layout{grid-template-columns:1fr}.mk-roster{border-right:0;border-bottom:1px solid var(--border);max-height:180px}.mk-side{border-left:0;border-top:1px solid var(--border)}}.gb-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gb-stats{flex-direction:column;display:flex}.gb-stats b{font-size:20px}.gb-wrap{max-height:70vh;padding:0;overflow:auto}.gb{border-collapse:separate;border-spacing:0;min-width:100%;font-size:13px}.gb th,.gb td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:center;white-space:nowrap;background:var(--surface);padding:0}.gb thead th{z-index:2;background:var(--surface-2);font-weight:600;position:sticky;top:0}.gb thead tr:nth-child(2) th{top:33px}.gb-cats th{height:33px;padding:0 10px}.gb-sticky{z-index:1;min-width:190px;max-width:240px;position:sticky;left:0;text-align:left!important;padding:8px 12px!important}.gb thead .gb-sticky{z-index:3}.gb tbody .gb-sticky{font-weight:500;display:table-cell}.gb tbody .gb-sticky .ellipsis,.gb tbody .gb-sticky .muted{display:block}.gb-col{min-width:84px;max-width:140px}.gb-col-btn{width:100%;font:inherit;cursor:pointer;color:var(--text);background:0 0;border:0;flex-direction:column;align-items:center;max-width:140px;padding:6px;font-size:12px;display:flex}.gb-col-btn .ellipsis{max-width:120px}.gb-avg{min-width:52px;font-weight:600;background:var(--surface-2)!important;padding:0 8px!important}.gb-total{min-width:90px;font-weight:600;background:var(--accent-soft)!important;padding:0 10px!important}.gb-total .badge{margin-left:6px}.gb-cell{position:relative}.gb-cell-btn{width:100%;height:36px;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0}.gb-cell-btn:hover:not(:disabled){background:var(--surface-2)}.gb-cell-btn:disabled{cursor:default}.gb-cell.s-override .gb-cell-btn,.gb-legend .s-override{color:var(--info);font-weight:600}.gb-cell.s-missing .gb-cell-btn,.gb-cell.s-missed .gb-cell-btn,.gb-legend .s-missing{color:var(--danger)}.gb-cell.s-excused .gb-cell-btn,.gb-legend .s-excused{color:var(--text-3);font-style:italic}.gb-cell.s-none .gb-cell-btn{color:var(--text-3)}.gb-pop{z-index:10;background:var(--surface);border:1px solid var(--border);width:220px;box-shadow:var(--shadow-lg);text-align:left;white-space:normal;border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%)}.gb-pop label{flex-direction:column;gap:4px;display:flex}.gb-legend{flex-wrap:wrap;gap:6px 14px;display:flex}.gb-mine{margin:0;padding:0;list-style:none}.gb-mine li{border-top:1px solid var(--border);align-items:center;gap:10px;padding:10px 18px;display:flex}.gb-mine-total{align-items:center;gap:12px;padding:16px 18px;display:flex}.gb-mine-total b{font-size:26px}.warn-text{color:var(--warn)}.ob-clo{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;align-items:flex-start;gap:10px;padding:10px;display:flex}.ob-clo .ob-code{text-transform:uppercase;flex:0 0 84px;width:84px;font-weight:600}.ob-list{margin:0;padding:0;list-style:none}.ob-list li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;padding:12px 18px;display:flex}.ob-bar{background:var(--surface-3);border-radius:6px;flex-shrink:0;width:200px;height:22px;margin-right:52px;position:relative;overflow:visible}.ob-bar-fill{background:var(--info);border-radius:6px;height:100%}.ob-bar-fill[data-met=true]{background:var(--ok)}.ob-bar-fill[data-met=false]{background:var(--warn)}.ob-bar-target{background:var(--text);width:2px;position:absolute;top:-3px;bottom:-3px}.ob-bar-text{color:var(--text);place-items:center start;font-size:12px;font-weight:600;display:grid;position:absolute;top:0;bottom:0;left:calc(100% + 8px)}.ob-map th:not(:first-child),.ob-map td:not(:first-child){text-align:center;width:64px}.ob-crit td:first-child{padding-left:28px}@media (width<=640px){.ob-bar{width:calc(100% - 52px)}}.cal-page{max-width:1200px}.cal-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.cal-month{text-align:center;min-width:150px}.cal-legend{color:var(--text-2);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.cal-dot:before{content:"";background:var(--k);border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.k-session{--k:#2563eb}.k-assignment{--k:#d97706}.k-exam{--k:#dc2626}.k-module{--k:#059669}.k-fee{--k:#7c3aed}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));padding:0;display:grid;overflow:hidden}.cal-head{color:var(--text-3);text-align:center;border-bottom:1px solid var(--border);background:var(--surface-2);padding:8px;font-size:12px;font-weight:600}.cal-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:3px;min-width:0;min-height:108px;padding:4px 4px 6px;display:flex}.cal-day:nth-child(7n+7){border-right:0}.cal-day.other{background:var(--surface-2)}.cal-day.other .cal-num{color:var(--text-3)}.cal-num{border-radius:6px;align-self:flex-start;padding:2px 4px;font-size:12px;font-weight:600}.cal-day.today .cal-num{background:var(--accent);color:#fff}.cal-ev{color:var(--text);background:color-mix(in srgb, var(--k) 12%, transparent);border-left:3px solid var(--k);border-radius:4px;align-items:center;gap:4px;min-width:0;padding:2px 5px;font-size:11.5px;display:flex}.cal-ev:hover{background:color-mix(in srgb, var(--k) 20%, transparent);text-decoration:none}.cal-time{flex-shrink:0;font-weight:600}.cal-agenda{margin:0;padding:0 0 8px;list-style:none}.cal-agenda-day{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:14px 18px 6px;font-size:12px;font-weight:700}.cal-agenda-item{color:var(--text);align-items:center;gap:12px;padding:10px 18px;display:flex}.cal-agenda-item:hover{background:var(--surface-2);text-decoration:none}.cal-agenda-item .grow{flex-direction:column;display:flex}.cal-bar{background:var(--k);border-radius:4px;align-self:stretch;width:4px}.cal-agenda-time{width:64px;color:var(--text-2);flex-shrink:0;font-size:13px}.badge.k-session,.badge.k-assignment,.badge.k-exam,.badge.k-module,.badge.k-fee{background:color-mix(in srgb, var(--k) 14%, transparent);color:var(--k)}.cal-howto{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}@media (width<=700px){.cal-day{min-height:72px}.cal-ev .ellipsis{display:none}.cal-ev{padding:2px}.cal-legend{display:none}}.cl-hero-btn{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff29;border-color:#ffffff59}.cl-hero-btn:hover{color:#fff;background:#ffffff42}.cc-search{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-3);align-items:center;gap:8px;padding:0 10px;display:flex}.cc-search input{box-shadow:none;background:0 0;border:0;padding-left:0}.cc-sources{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:min(420px,55vh);margin:0;padding:0;list-style:none;overflow:auto}.cc-sources li+li{border-top:1px solid var(--border)}.cc-sources button{width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:10px 12px;display:flex}.cc-sources button:hover,.cc-sources button:focus-visible{background:var(--surface-2)}.cc-sources .ellipsis{display:block}.cc-src-ico{background:var(--accent-soft);width:32px;height:32px;color:var(--accent-text);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.cc-from{border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:8px;padding:10px 12px;display:flex}.cc-parts{border:0;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:8px;margin:0;padding:0;display:grid}.cc-parts legend{margin-bottom:6px}.cc-part{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.cc-part:has(input:checked){border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--accent-soft)}.cc-part.off{opacity:.55;cursor:default}.cc-part input{margin-top:3px}.cc-part b,.cc-part .small{display:block}.cc-dates{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.cc-running,.cc-done{border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:14px;padding:18px;display:flex}.cc-done{color:var(--ok)}.cc-done b{color:var(--text)}.cc-template{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-2);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.cc-template b{color:var(--text)}.cc-search:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.cc-search input:focus,.cc-search input:focus-visible{box-shadow:none;border:0;outline:none}.gr-set .card-head h3{margin:0}.gr-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px;padding:14px 18px 18px;display:grid}.gr-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:8px;min-width:0;padding:12px;display:flex}.gr-group.mine{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent-soft) 45%, var(--surface))}.gr-group-head{align-items:center;gap:6px;min-width:0;display:flex}.gr-fill{background:var(--viz-track,var(--surface-3));border-radius:2px;height:4px;overflow:hidden}.gr-fill span{background:var(--accent);border-radius:2px;height:100%;display:block}.gr-leader,.gr-move{height:30px;padding:0 6px;font-size:12.5px}.gr-move{width:84px;color:var(--text-3);flex-shrink:0}.gr-members{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.gr-members li{align-items:center;gap:8px;min-width:0;font-size:13.5px;display:flex}.gr-add{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);min-height:120px;color:var(--text-3);font:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;display:flex}.gr-add:hover{color:var(--text);border-color:var(--text-3)}.gr-unassigned{border-radius:var(--radius-sm);background:var(--warn-soft,var(--surface-2));flex-direction:column;gap:8px;margin:0 18px 18px;padding:12px;display:flex}.gr-unassigned .gr-members{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:6px 14px;display:grid}.avatar.xs{flex-shrink:0;width:22px;height:22px;font-size:9.5px}.gr-chips{flex-wrap:wrap;gap:4px;display:inline-flex}.gr-chips .badge{align-items:center;gap:3px;display:inline-flex}.as-team{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-text);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.as-team b{color:var(--text)}.cl-lti{border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;align-items:flex-start;gap:12px;padding:18px;display:flex}.lti-details{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:10px 18px;display:grid}.lti-detail{flex-direction:column;gap:2px;min-width:0;display:flex}.lti-detail code{background:var(--surface-2);border-radius:6px;padding:4px 6px;font-size:12px}.cl-item-ico.k-lti{color:#7c3aed;background:#7c3aed24}.kb-page{max-width:1080px}.kb-ask{flex-direction:column;gap:12px;margin-bottom:22px;padding:16px 18px;display:flex}.kb-ask-form{flex-direction:column;gap:8px;display:flex}.kb-ask-label{align-items:center;gap:7px;font-weight:600;display:inline-flex}.kb-ask-row{flex-wrap:wrap;gap:8px;display:flex}.kb-ask-row input{flex:240px;min-width:0}.kb-ask-row .kb-lang{width:auto;max-width:min(100%,160px)}.kb-result{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.kb-lead{margin:0;font-weight:500}.kb-guard{background:var(--warn-soft);color:var(--warn);border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.kb-guard svg{flex-shrink:0;margin-top:2px}.kb-sub{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.kb-sources{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.kb-source{border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:flex-start;gap:8px;min-width:0;padding:8px 10px;display:flex}.kb-source:hover{border-color:var(--accent);text-decoration:none}.kb-source svg{color:var(--text-3);flex-shrink:0;margin-top:2px}.kb-source .grow{flex-direction:column;display:flex}.kb-foot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kb-person{border:1px solid var(--border);border-radius:8px;gap:10px;width:100%;padding:12px}.kb-reason{font-style:italic}.kb-md{overflow-wrap:anywhere;line-height:1.6}.kb-md h3{margin:16px 0 6px;font-size:16px}.kb-md h4{margin:12px 0 4px;font-size:14px}.kb-md p{margin:0 0 10px}.kb-md ul,.kb-md ol{margin:0 0 10px;padding-left:22px}.kb-md blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--text-2);border-radius:0 6px 6px 0;margin:0 0 12px;padding:8px 12px}.kb-md code{font-family:var(--font-mono,monospace);background:var(--accent-soft);border-radius:4px;padding:1px 4px;font-size:.92em}.kb-browse-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.kb-browse-head h2{flex:1;margin:0;font-size:17px}.kb-filter{flex:0 280px;min-width:0;position:relative}.kb-filter svg{color:var(--text-3);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.kb-filter input{padding-left:32px}.kb-topics{margin-bottom:12px}.kb-topic h3{color:var(--text-2);margin:16px 2px 8px;font-size:14px}.kb-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px;display:grid}.kb-card{color:var(--text);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.kb-card:hover{border-color:var(--accent);text-decoration:none}.kb-card-meta{color:var(--text-3);margin-top:auto;font-size:12px}.kb-clamp{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.kb-article{flex-direction:column;gap:12px;max-width:820px;display:flex}.kb-article-card{padding:20px 24px}.kb-article-card h1{margin:6px 0 4px}.kb-article-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.kb-article-meta{margin-bottom:14px}.kb-summary{color:var(--text-2);margin:0 0 14px;font-size:15px}.kb-banner{text-align:left;border:0;border-bottom:1px solid var(--border);background:var(--warn-soft);width:100%;color:var(--warn);font:inherit;cursor:pointer;padding:8px 14px;font-weight:500;display:block}.table tr.clickable{cursor:pointer}.kb-top li{justify-content:space-between;padding:8px 18px}.kb-offices{border:0;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;display:flex}.kb-offices legend{color:var(--text-2);margin-bottom:6px}.kb-status{margin-top:6px}.kb-editor-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;margin:12px 0;display:grid}.kb-preview{max-height:calc(100vh - 24px);position:sticky;top:12px;overflow:auto}.kb-preview h2{margin:4px 0 8px}.btn.kb-preview-toggle{display:none}.kb-body-input{font-family:var(--font-mono,monospace);font-size:13px;line-height:1.5}.kb-audience{border:0;margin:0;padding:0}.kb-audience legend{color:var(--text-2);margin-bottom:6px;font-size:13px;font-weight:500}.kb-diff{border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;max-height:60vh;padding:10px;font-size:12.5px;line-height:1.5;overflow:auto}.kb-diff-add{background:var(--ok-soft);color:var(--ok)}.kb-diff-del{background:var(--danger-soft);color:var(--danger);text-decoration:line-through}.kb-field-change{margin-bottom:6px}.kb-field-change del{color:var(--danger)}.kb-field-change ins{color:var(--ok);text-decoration:none}.kb-eval-head{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.kb-eval-score{align-items:center;gap:10px;font-size:28px;font-weight:600;display:flex}.kb-pass{align-items:center;gap:4px;font-weight:600;display:inline-flex}.kb-pass.ok{color:var(--ok)}.kb-pass.fail{color:var(--danger)}.kb-portal{padding-bottom:14px}.kb-portal form{flex-wrap:wrap;gap:8px;padding:4px 18px 0;display:flex}.kb-portal input{flex:200px;min-width:0}@media (width<=900px){.kb-editor-grid{grid-template-columns:minmax(0,1fr)}.kb-preview{max-height:none;display:none;position:static}.kb-preview.open{display:block}.btn.kb-preview-toggle{display:inline-flex}}.ai-card{border-left:3px solid var(--accent)}.ai-card .card-head h3{align-items:center;gap:6px;display:inline-flex}.ai-byline{color:var(--text-3);font-size:12px}.ai-byline svg{vertical-align:-2px;margin-right:4px}.ai-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,.8fr);gap:10px;display:grid}.ai-changed select{border-color:var(--warn)}.ai-summary{white-space:pre-wrap;background:var(--surface-2);border-radius:var(--radius-sm);padding:8px 10px;font-size:13.5px}.ai-sources{margin:0;padding-left:18px;font-size:13px}.ai-sources li{overflow-wrap:anywhere;margin:2px 0}.ai-fields{gap:10px;display:grid}.ai-field{border-top:1px solid var(--border);grid-template-columns:minmax(0,180px) minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:8px 0;display:grid}.ai-field:first-child{border-top:0}.ai-field .muted{overflow-wrap:anywhere}.ai-facts{margin:0;padding-left:18px}.ai-facts li{margin:3px 0}.ai-facts li.unusual{font-weight:500}@media (width<=600px){.ai-grid{grid-template-columns:minmax(0,1fr)}.ai-field{grid-template-columns:minmax(0,1fr);gap:4px}}.alert.rs-ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.rs-names{color:var(--text-2);overflow-wrap:anywhere;margin-top:4px}.rs-bars{align-items:flex-end;gap:6px;height:120px;padding:0 2px;display:flex}.rs-bar{flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;gap:3px;min-width:0;height:100%;display:flex}.rs-bar-fill{background:var(--accent);border-radius:4px 4px 0 0;width:100%;max-width:42px;min-height:2px}.rs-bar-n{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12px}.rs-bar-label{color:var(--text-2);font-size:12px;font-weight:600}.rs-num{font-variant-numeric:tabular-nums}.rs-issue{color:var(--danger);font-size:12.5px}.rs-highlight td{background:var(--accent-soft)}.rs-actions{flex-wrap:wrap;gap:8px;display:flex}.rs-result{flex-direction:column;gap:12px;display:flex}.rs-result-head{flex-wrap:wrap;align-items:baseline;gap:8px 14px;display:flex}.rs-grade{font-family:var(--font-display);letter-spacing:-.02em;font-size:30px;font-weight:700;line-height:1}.rs-breakdown{border-collapse:collapse;width:100%;font-size:13.5px}.rs-breakdown th,.rs-breakdown td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}.rs-breakdown td.rs-num,.rs-breakdown th.rs-num{text-align:right}.rs-breakdown tfoot td{border-bottom:0;font-weight:600}.rs-scale{flex-wrap:wrap;gap:4px;display:flex}.rs-scale span{border:1px solid var(--border);color:var(--text-2);white-space:nowrap;border-radius:99px;padding:3px 8px;font-size:12px}.rs-scale span.mine{background:var(--accent-soft);color:var(--accent-text);border-color:#0000;font-weight:600}.rs-marks{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (width<=600px){.rs-marks{grid-template-columns:minmax(0,1fr)}.rs-bars{gap:3px;height:96px}}.rs-page .alert>svg{flex-shrink:0;margin-top:1px}.rs-clip{white-space:normal;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;max-width:260px;display:-webkit-box;overflow:hidden}.rs-status{min-width:170px}@media (width<=900px){.rs-clip{max-width:100%}.rs-status{min-width:0}}.et-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.et-side{flex-direction:column;gap:16px;display:flex;position:sticky;top:16px}.et-bar{flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;display:flex}.et-bar h2{overflow-wrap:anywhere;margin:0;font-size:16px}.et-bar-title{flex:280px;min-width:0}.et-day{margin-bottom:18px}.et-day-head{color:var(--text-2);align-items:baseline;gap:8px;margin:0 0 8px;font-size:13.5px;font-weight:600;display:flex}.et-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.et-card{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;padding:10px 12px;display:block}.et-card:hover{background:var(--surface-2)}.et-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.et-card.error{border-left-color:var(--danger)}.et-card.warning{border-left-color:var(--warn)}.et-card.cancelled{border-left-color:var(--border-strong);opacity:.75}.et-card.cancelled .et-card-title{text-decoration:line-through}.et-card-time{font-variant-numeric:tabular-nums;color:var(--text-3);font-size:12.5px}.et-card-title{overflow-wrap:anywhere;margin:2px 0;font-weight:600}.et-card .badge{white-space:nowrap}.et-chips{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.et-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:99px;align-items:center;gap:4px;padding:1px 8px;font-size:12px;display:inline-flex}.et-issues{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.et-issues li{border-radius:var(--radius-sm);background:var(--warn-soft);align-items:flex-start;gap:8px;padding:8px 10px;font-size:13px;display:flex}.et-issues li.error{background:var(--danger-soft)}.et-issue-ico{color:var(--warn);flex-shrink:0;margin-top:2px}.et-issues li.error .et-issue-ico{color:var(--danger)}.et-issue-text{color:var(--text);overflow-wrap:anywhere}.et-issue-text .linklike{text-align:left;color:var(--text);font-weight:500}.et-rooms-edit{flex-direction:column;gap:6px;display:flex}.et-room-row{grid-template-columns:minmax(0,1fr) 84px auto auto;align-items:center;gap:6px;display:grid}.et-room-row input[type=number]{width:100%}.et-check{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.et-people{flex-wrap:wrap;gap:6px;display:flex}.et-person{background:var(--surface-2);border:1px solid var(--border);border-radius:99px;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:13px;display:inline-flex}.et-results{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:200px;margin:4px 0 0;padding:4px;list-style:none;overflow-y:auto}.et-results button{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;gap:8px;padding:6px 8px;display:flex}.et-results button:hover{background:var(--surface-2)}.et-live{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);padding:10px 12px}.et-exam{border-top:1px solid var(--border);grid-template-columns:92px minmax(0,1fr) auto;align-items:start;gap:14px;padding:14px 18px;display:grid}.et-exam:first-child{border-top:0}.et-date{text-align:center;border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:6px 4px}.et-date b{font-size:22px;line-height:1.1;font-family:var(--font-display);display:block}.et-date span{color:var(--text-3);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px}.et-exam.cancelled .et-exam-title{color:var(--text-3);text-decoration:line-through}.et-exam-title{overflow-wrap:anywhere;font-size:15px;font-weight:600}.et-seat{text-align:right}.et-seat b{font-size:22px;font-family:var(--font-display);line-height:1.1;display:block}.et-exam-actions{justify-content:flex-end;gap:6px}.et-change{color:var(--warn);margin-top:6px;font-size:12.5px}.et-print{max-width:900px;margin:0 auto;padding:24px 20px 40px}.et-print-tools{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.et-sheet{margin-bottom:32px}.et-sheet h1{margin:0 0 4px;font-size:20px}.et-sheet table{border-collapse:collapse;width:100%;font-size:13px}.et-sheet th,.et-sheet td{border:1px solid var(--border-strong);text-align:left;padding:6px 8px}.et-sheet td.sign{width:30%}@media print{.et-print-tools{display:none}.et-print{max-width:none;padding:0}.et-sheet{page-break-after:always;break-after:page}.et-sheet th,.et-sheet td{color:#000;border-color:#000}}@media (width<=1100px){.et-layout{grid-template-columns:minmax(0,1fr)}.et-side{position:static}}@media (width<=600px){.et-exam{grid-template-columns:64px minmax(0,1fr);padding:12px 14px}.et-seat{text-align:left;grid-column:2}.et-exam-actions{grid-column:2;justify-content:flex-start}.et-seat b{margin-left:6px;font-size:16px;display:inline}.et-room-row{grid-template-columns:minmax(0,1fr) 72px auto}.et-room-row .et-check{grid-column:1/-1}.et-cards{grid-template-columns:minmax(0,1fr)}}.rg-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.rg-side{gap:16px;min-width:0}.rg-bottom{align-items:start}.rg-phases{flex-wrap:wrap;gap:8px;display:flex}.rg-phase{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;flex:200px;gap:4px;min-width:0;padding:10px 14px;display:flex}.rg-phase>span:first-child{font-size:13px;font-weight:600}.rg-phase.on{border-color:var(--ok)}.rg-phase .badge{white-space:normal;align-self:flex-start;max-width:100%}.rg-hold{margin:0}.rg-sec-title{overflow-wrap:anywhere}.rg-sections .ex-list-item{align-items:flex-start}.rg-sections .ex-list-side{padding-top:2px}.rg-choice{border-bottom:1px solid var(--border);min-width:0;padding-bottom:10px}.rg-choice:last-of-type{border-bottom:0}.rg-why{color:var(--ok);margin-top:2px}.rg-planner{border-bottom:1px solid var(--border);background:var(--surface-2)}.rg-problems{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.rg-problems li{overflow-wrap:anywhere;align-items:flex-start;gap:6px;display:flex}.rg-problems li svg{flex-shrink:0;margin-top:2px}.rg-problems li.block{color:var(--danger)}.rg-problems li.good{color:var(--ok)}.rg-problems li.note{color:var(--text-2)}.rg-bill{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.rg-bill-title{font-weight:600}.rg-lines,.rg-totals{flex-direction:column;gap:4px;margin:0;font-size:13.5px;display:flex}.rg-lines>div,.rg-totals>div{justify-content:space-between;gap:12px;display:flex}.rg-lines dt,.rg-totals dt{overflow-wrap:anywhere;min-width:0}.rg-lines dd,.rg-totals dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.rg-lines{border-bottom:1px dashed var(--border-strong);padding-bottom:8px}.rg-totals .strong{font-weight:600}.rg-totals .up dd{color:var(--danger)}.rg-totals .down dd{color:var(--ok)}.rg-label{margin-bottom:4px;font-size:13px;font-weight:600}.rg-plain{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.rg-approval{color:var(--ok);align-items:flex-start;gap:6px;display:flex}.rg-approval span{color:var(--text)}.rg-approval svg{flex-shrink:0;margin-top:2px}.rg-note{border-left:3px solid var(--accent);background:var(--surface-2);border-radius:var(--radius-sm);overflow-wrap:anywhere;padding:6px 10px}.rg-offer{color:var(--ok);font-weight:500}.rg-dates{margin:0;padding:4px 0;list-style:none}.rg-dates li{flex-wrap:wrap;align-items:baseline;gap:14px;padding:10px 18px;display:flex}.rg-dates li+li{border-top:1px solid var(--border)}.rg-dates li.past{color:var(--text-3)}.rg-date{font-variant-numeric:tabular-nums;flex-shrink:0;width:190px;font-weight:500}.rg-advise{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.rg-advise-main{min-width:0}.rg-picked{background:var(--accent-soft)!important}button.ss-figure.rg-figure{text-align:left;border:1px solid var(--border);background:var(--surface);padding:14px 16px}button.rg-figure.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.rg-slot{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;min-width:0;margin:0;padding:8px 12px 10px;display:flex}.rg-slot-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.rg-slot-row .field{flex:120px;min-width:0;margin:0}.rg-seatline{flex-wrap:wrap;gap:6px 16px;display:flex}.rg-seat-forms{flex-direction:column;gap:10px;display:flex}@media (width<=1100px){.rg-grid,.rg-advise{grid-template-columns:minmax(0,1fr)}.rg-side{order:-1}}@media (width<=900px){.rg-bottom{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.rg-search-ico{display:none}.rg-phase{flex-flow:wrap;flex-basis:100%;justify-content:space-between;align-items:center;padding:8px 12px}.rg-date{width:auto}.rg-dates li{flex-direction:column;gap:2px}}.rg-actions{flex-wrap:nowrap}@media (width<=900px){.rg-actions{flex-wrap:wrap;justify-content:flex-start!important}}.rg-ask{white-space:nowrap;align-items:center;gap:4px;font-weight:500;display:inline-flex}.rg-rule{color:var(--text-2)}.ap-track{margin:0;padding:0;list-style:none}.ap-step{gap:12px;padding:10px 0;display:flex;position:relative}.ap-step+.ap-step{border-top:1px solid var(--border)}.ap-step-ico{background:var(--surface-2);width:30px;height:30px;color:var(--text-3);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.ap-step.done .ap-step-ico{background:var(--ok-soft);color:var(--ok)}.ap-step.current .ap-step-ico{background:var(--accent-soft);color:var(--accent-text)}.ap-step.waiting .ap-step-ico{background:var(--info-soft);color:var(--info)}.ap-step.blocked .ap-step-ico{background:var(--danger-soft);color:var(--danger)}.ap-step-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ap-step-title{font-weight:600}.ap-step-next{color:var(--text-2);overflow-wrap:anywhere}.ap-step.upcoming .ap-step-title,.ap-step.skipped .ap-step-title{color:var(--text-3);font-weight:500}.ap-track.compact .ap-step{padding:7px 0}.ap-track.compact .ap-step-ico{width:24px;height:24px}.ap-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.ap-side{position:sticky;top:16px}.ap-now{border-left:3px solid var(--accent)}.ap-now-narrow{display:none!important}.ap-list{margin:0;padding-left:18px}.ap-list li+li{margin-top:2px}.ap-before{color:var(--text-3);text-decoration:line-through}.ap-saved{color:var(--text-3);white-space:nowrap;font-size:12.5px}.ap-rows{flex-direction:column;gap:8px;display:flex}.ap-subject{grid-template-columns:minmax(0,1fr) 110px auto;align-items:end;gap:8px;display:grid}.ap-docs{margin:0;padding:0;list-style:none}.ap-doc{flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 0;display:flex}.ap-docs li+li .ap-doc{border-top:1px solid var(--border)}.ap-doc-main{flex:220px;min-width:0}.ap-doc input[type=file]{max-width:100%}.ap-preview{grid-template-columns:180px minmax(0,1fr);gap:6px 14px;margin:0;font-size:13.5px;display:grid}.ap-preview dt{color:var(--text-3)}.ap-preview dd{overflow-wrap:anywhere;margin:0}.ap-letter{background:var(--surface-2);border-radius:var(--radius-sm);padding:18px 20px;line-height:1.6}.ap-letter p{margin:0 0 10px}.ap-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;display:grid}.ap-programme h3{font-size:16px}.ap-fee{font-family:var(--font-display);font-size:18px;font-weight:600}.ap-check{border-top:1px dashed var(--border);margin-top:10px;padding-top:10px}.ap-code{letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;font-size:26px}.ap-hero{padding:26px 0 8px}.ap-hero h1{font-size:28px}.ap-card-page{max-width:760px;margin:0 auto;padding:24px 16px 48px}.ap-admit{grid-template-columns:minmax(0,1fr) 132px;gap:18px 24px;padding:24px;display:grid}.ap-admit-head{border-bottom:3px solid var(--accent);grid-column:1/-1;align-items:center;gap:12px;padding-bottom:12px;display:flex}.ap-admit-no{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;font-weight:600}.ap-photo{background:var(--surface-2);width:132px;height:160px;color:var(--text-3);text-align:center;border-radius:8px;place-items:center;font-size:12px;display:grid;overflow:hidden}.ap-photo img{object-fit:cover;width:100%;height:100%}.ap-admit-foot{border-top:1px solid var(--border);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:18px;padding-top:14px;display:flex}.ap-qr{background:#fff;border-radius:6px;flex-shrink:0}.ap-verify{max-width:520px;margin:0 auto}.ap-seat-input{width:90px}.ap-candidate{grid-template-columns:120px minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=1000px){.ap-layout{grid-template-columns:minmax(0,1fr)}.ap-side{position:static}.ap-side .ap-now{display:none}.ap-now-narrow{display:block!important}}@media (width<=600px){.ap-preview{grid-template-columns:minmax(0,1fr);gap:2px}.ap-preview dd{margin-bottom:8px}.ap-subject{grid-template-columns:minmax(0,1fr) 90px auto}.ap-admit{grid-template-columns:minmax(0,1fr);padding:16px}.ap-photo{width:110px;height:132px}.ap-candidate{grid-template-columns:minmax(0,1fr)}}@media print{.ap-noprint{display:none!important}.ap-card-page{max-width:none;padding:0}.ap-admit{box-shadow:none;border:1px solid #999}}.sy-facts{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:14px 22px;display:grid}.sy-fact{overflow-wrap:anywhere;min-width:0}.sy-fact>.muted{margin-bottom:2px}.sy-buttons{flex-wrap:wrap;gap:8px}.sy-state{border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:14px;padding:16px;display:flex}.sy-state.ok{color:var(--ok)}.sy-state.warn{color:var(--warn)}.sy-state b{color:var(--text)}.sy-error{color:var(--danger);overflow-wrap:anywhere}.sy-list{max-height:260px;margin:6px 0 0;padding-left:18px;overflow-y:auto}.sy-actions{white-space:nowrap;text-align:right}.sy-actions .btn+.btn{margin-left:4px}.sy-mock{align-items:center}.sy-links-head{flex-wrap:wrap;gap:8px}.sy-search{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:6px;padding:0 8px;display:inline-flex}.sy-search input,.sy-search input[type=search]{box-shadow:none;background:0 0;border:0;outline:none;width:160px;min-width:0;padding:6px 0}@media (width<=640px){.sy-search{flex:100%}.sy-search input{width:100%}.sy-actions{white-space:normal}.sy-actions .btn{margin:2px 0}}.sy-tabs button{white-space:nowrap}.sy-links-head select{width:auto}.table td.sy-what,.table td.sy-what div{white-space:normal;overflow-wrap:anywhere;min-width:220px;max-width:560px}.ap-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.ap-kpi{flex-direction:column;gap:6px;min-width:0;padding:14px 16px;display:flex}.ap-kpi-label{color:var(--text-2);font-size:12.5px;font-weight:500}.ap-kpi-val{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.ap-kpi-val .muted{font-size:15px;font-weight:500}.ap-kpi-status{font-size:15px}.ap-meter{background:var(--surface-2);border:1px solid var(--border);border-radius:3px;height:6px;display:flex;overflow:hidden}.ap-meter-done{background:var(--ok)}.ap-meter-going{background:var(--accent);opacity:.55}.ap-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.ap-grid>.stack{gap:16px;min-width:0}.ap-plain{overflow-wrap:anywhere;flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}.ap-needs{color:var(--warn);margin-top:2px}.ap-done{color:var(--text-2)}.ap-late{color:var(--danger);font-weight:500}.ap-session{border-top:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ap-line{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;min-width:0;margin:0;padding:8px 12px 10px;display:flex}.ap-line-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.ap-line-row .field{flex:110px;min-width:0;margin:0}.ap-line-row .field.grow2{flex:3 200px}.ap-tlines{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ap-tline{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-wrap:anywhere;flex-direction:column;gap:8px;min-width:0;padding:10px 12px;display:flex}.ap-outcome{flex-direction:column;gap:2px;display:flex}.ap-decide{border-top:1px dashed var(--border-strong);gap:8px;padding-top:8px}.ap-suggest{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.ap-suggest svg{flex-shrink:0;margin-top:2px}.ap-attach{cursor:pointer;align-self:flex-start}.ap-picks{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ap-history{flex-direction:column;gap:10px;margin:0;padding-left:18px;display:flex}.ap-steps{flex-direction:column;gap:4px;margin:0;padding:10px 18px 14px 34px;display:flex}.ap-off{opacity:.6}.ap-portal{gap:12px}@media (width<=1100px){.ap-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ap-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.ap-kpis{grid-template-columns:minmax(0,1fr)}}.tf-qr{border:1px solid var(--border);background:#fff;border-radius:8px;flex-shrink:0;max-width:100%;height:auto}.tf-setup{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.tf-secret{flex:1;gap:6px;min-width:180px}.tf-key{background:var(--surface-2);border:1px solid var(--border);letter-spacing:.06em;word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:8px;padding:8px 10px;font-size:14px;display:block}.tf-steps{color:var(--text-2);gap:4px;margin:0;padding-left:20px;font-size:13px;display:grid}.tf-code{letter-spacing:.2em;max-width:220px;font-size:18px}.tf-codes{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px 16px;margin:0;padding:12px 12px 12px 34px;font-size:14px;display:grid}.tf-done{color:var(--ok);align-items:center;gap:8px;display:flex}.tf-warn{color:var(--warn)}.sys-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.sys-tile{gap:6px}.sys-table td{vertical-align:top}.sys-table tr.sys-bad td:first-child{box-shadow:inset 3px 0 0 var(--danger)}:root{--accent:#af1d1d;--accent-hover:#961818;--accent-soft:color-mix(in srgb, var(--accent) 10%, transparent);--accent-text:#9a1919;--font-display:Sora, Inter, var(--font-script,) system-ui, sans-serif;--bg:#f6f6f7;--surface:#fff;--surface-2:#f7f7f8;--surface-3:#efeff1;--border:#e7e7ea;--border-strong:#d4d4d8;--text:#18181b;--text-2:#4b4b52;--text-3:#6b6b74;--link:#1f4fa8;--link-hover:#163a7d;--link-soft:#eaf0fb;--sidebar:#fff;--sidebar-2:#f4f4f5;--sidebar-text:#3f3f46;--sidebar-strong:#18181b;--sidebar-muted:#71717a;--sidebar-hover:#f4f4f5;--sidebar-active:#efeff1;--sidebar-border:#e7e7ea;--ok:#157f3c;--ok-soft:#e6f6ec;--warn:#a75a00;--warn-soft:#fdf3e1;--danger:#c42626;--danger-soft:#fdeceb;--info:#1f62b8;--info-soft:#e8f1fc;--radius:12px;--radius-sm:8px;--radius-xs:6px;--shadow-xs:0 1px 2px #18181b0d;--shadow:0 1px 2px #18181b0a, 0 2px 6px #18181b0a;--shadow-md:0 4px 16px #18181b14, 0 1px 3px #18181b0d;--shadow-lg:0 16px 48px #18181b29, 0 2px 8px #18181b0f;--ring:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--series-other:#b4b2aa;--viz-grid:#ececee;--viz-axis:#d0d0d5;--viz-muted:#6b6b74;--viz-track:#f0f0f2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--accent-hover:#c42222;--accent-soft:#e0484829;--accent-text:#f08080;--bg:#0b0b0d;--surface:#131316;--surface-2:#19191d;--surface-3:#212126;--border:#26262b;--border-strong:#3a3a41;--text:#f4f4f5;--text-2:#c8c8ce;--text-3:#9b9ba4;--sidebar:#111113;--sidebar-2:#1b1b1e;--sidebar-border:#1f1f23;--sidebar-text:#c9c9cf;--sidebar-strong:#fff;--sidebar-muted:#8b8b94;--sidebar-hover:#ffffff0f;--sidebar-active:#ffffff1a;--link:#8fb4f5;--link-hover:#b4cdfa;--link-soft:#142540;--ok:#4ade80;--ok-soft:#0c2a18;--warn:#f5b13d;--warn-soft:#2e2009;--danger:#f87171;--danger-soft:#331012;--info:#7cb4f5;--info-soft:#0e2238;--shadow-xs:0 1px 2px #0006;--shadow:0 1px 2px #00000073;--shadow-md:0 6px 20px #00000080;--shadow-lg:0 18px 50px #000000a6;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--series-other:#5f5e59;--viz-grid:#232328;--viz-axis:#3a3a41;--viz-muted:#9b9ba4;--viz-track:#1e1e23;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--accent-hover:#c42222;--accent-soft:#e0484829;--accent-text:#f08080;--bg:#0b0b0d;--surface:#131316;--surface-2:#19191d;--surface-3:#212126;--border:#26262b;--border-strong:#3a3a41;--text:#f4f4f5;--text-2:#c8c8ce;--text-3:#9b9ba4;--sidebar:#111113;--sidebar-2:#1b1b1e;--sidebar-border:#1f1f23;--sidebar-text:#c9c9cf;--sidebar-strong:#fff;--sidebar-muted:#8b8b94;--sidebar-hover:#ffffff0f;--sidebar-active:#ffffff1a;--link:#8fb4f5;--link-hover:#b4cdfa;--link-soft:#142540;--ok:#4ade80;--ok-soft:#0c2a18;--warn:#f5b13d;--warn-soft:#2e2009;--danger:#f87171;--danger-soft:#331012;--info:#7cb4f5;--info-soft:#0e2238;--shadow-xs:0 1px 2px #0006;--shadow:0 1px 2px #00000073;--shadow-md:0 6px 20px #00000080;--shadow-lg:0 18px 50px #000000a6;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--series-other:#5f5e59;--viz-grid:#232328;--viz-axis:#3a3a41;--viz-muted:#9b9ba4;--viz-track:#1e1e23;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:Inter, var(--font-script,) system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01";margin:0;font-size:14px;line-height:1.5}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover);text-underline-offset:2px;text-decoration:underline}p a:not(.btn),.muted a:not(.btn),.small a:not(.btn),.hint a:not(.btn),.m a:not(.btn){text-underline-offset:2px;text-decoration:underline}a.row-link{color:inherit}.skip-link{z-index:1000;background:var(--surface,#fff);color:var(--text);border-radius:8px;padding:8px 14px;position:absolute;top:-60px;left:8px;box-shadow:0 2px 10px #0003}.skip-link:focus{top:calc(8px + env(safe-area-inset-top,0px))}main.content:focus{outline:none}h1,h2,h3,h4{line-height:1.25;font-family:var(--font-display);color:var(--text);margin:0}h1{letter-spacing:-.02em;font-size:24px;font-weight:600}h2{letter-spacing:-.01em;font-size:16px;font-weight:600}h3{font-size:14px;font-weight:600}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{box-shadow:var(--ring);outline:none}::selection{background:color-mix(in srgb, var(--accent) 22%, transparent)}.num{font-variant-numeric:tabular-nums}.app{height:100%;display:flex}.sidebar{background:var(--sidebar);width:252px;color:var(--sidebar-text);border-right:1px solid var(--sidebar-border);flex-direction:column;flex-shrink:0;display:flex}.sidebar-scroll{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:1;padding:4px 0 12px;overflow-y:auto}.brand{color:var(--sidebar-strong);font-size:15.5px;font-weight:600;font-family:var(--font-display);letter-spacing:-.005em;align-items:center;gap:10px;padding:18px 18px 14px;display:flex}.brand-mark{background:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;height:100%}.brand-mark.logo{background:0 0;border-radius:0}.nav-section{padding:2px 10px 6px}.nav-label{text-transform:uppercase;letter-spacing:.08em;width:100%;color:var(--sidebar-muted);text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:12px 10px 5px;font-size:11px;font-weight:600;display:flex}button.nav-label{cursor:pointer}button.nav-label:hover{color:var(--sidebar-strong)}.nav-label .chev{opacity:0;margin-left:auto;transition:transform .15s,opacity .15s}.nav-section:hover .nav-label .chev,.nav-label:focus-visible .chev,.nav-label.collapsed .chev{opacity:.75}.nav-label.collapsed .chev{transform:rotate(-90deg)}.nav-link{height:34px;color:var(--sidebar-text);border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:13.5px;font-weight:500;transition:background .12s,color .12s;display:flex;position:relative}.nav-link:hover{background:var(--sidebar-hover);color:var(--sidebar-strong);text-decoration:none}.nav-link.active{background:var(--sidebar-active);color:var(--sidebar-strong);font-weight:600}.nav-link.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-10px}.nav-link svg{opacity:.75;flex-shrink:0}.nav-link.active svg{opacity:1}.sidebar-foot{border-top:1px solid var(--sidebar-border);align-items:center;gap:10px;padding:10px;display:flex}.sidebar-foot .who{flex:1;min-width:0}.sidebar-foot .who b{color:var(--sidebar-strong);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.sidebar-foot .who span{color:var(--sidebar-muted);text-transform:capitalize;font-size:12px}.sidebar-foot .avatar{background:var(--sidebar-2);color:var(--sidebar-strong);border:1px solid var(--sidebar-border)}.side-btn{width:30px;height:30px;color:var(--sidebar-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid}.side-btn:hover{background:var(--sidebar-hover);color:var(--sidebar-strong)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:saturate(160%)blur(10px);backdrop-filter:saturate(160%)blur(10px);border-bottom:1px solid var(--border);z-index:20;flex-shrink:0;align-items:center;gap:12px;height:56px;padding:0 28px;display:flex;position:relative}.topbar .spacer{flex:1 0 0}.btn.menu-btn{display:none}.content{flex:1;padding:28px;scroll-padding-top:20px;overflow-y:auto}.page{max-width:1400px;margin:0 auto}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.page-head .grow{flex:1;min-width:0}.page-head .sub{color:var(--text-3);margin-top:4px;font-size:13.5px}.page-icon{background:var(--surface);border:1px solid var(--border);width:40px;height:40px;box-shadow:var(--shadow-xs);color:var(--text-2);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.ws-switch{padding:0 10px 6px}.ws-btn{border:1px solid var(--sidebar-border);background:var(--sidebar-2);width:100%;height:38px;color:var(--sidebar-strong);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:8px;padding:0 10px 0 6px;font-size:13.5px;font-weight:600;display:flex}.ws-btn:hover{border-color:var(--border-strong)}.ws-ico{background:var(--sidebar);width:26px;height:26px;color:var(--sidebar-text);border:1px solid var(--sidebar-border);border-radius:7px;flex-shrink:0;place-items:center;display:grid}.ws-menu{min-width:0;left:10px;right:10px}.menu-sep{background:var(--border);height:1px;margin:4px 2px}.nav-foot{border-top:1px solid var(--sidebar-border);margin-top:8px;padding-top:8px}.me-btn{background:var(--text);width:34px;height:34px;color:var(--surface);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;font-size:12.5px;font-weight:600}.me-btn:hover{box-shadow:0 0 0 3px var(--surface-3)}.me-menu{min-width:220px}.me-head{flex-direction:column;min-width:0;padding:8px 10px 6px;display:flex}.me-head b{font-size:13.5px}.tabbar,.scrim{display:none}@media (width<=820px){.tabbar{background:var(--surface);border-top:1px solid var(--border);padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));z-index:30;flex-shrink:0;display:flex;position:relative}.tab{min-width:0;min-height:52px;color:var(--text-3);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:6px 2px;font-size:11px;font-weight:500;display:flex}.tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tab:hover{color:var(--text);text-decoration:none}.tab.active{color:var(--accent-text);font-weight:600}.scrim{z-index:85;background:#09090b59;display:block;position:fixed;inset:0}.btn.menu-btn{display:none!important}}.search{flex:1000 auto;min-width:0;max-width:520px;position:relative}.search input[type=search]{background:var(--surface-2);border-color:var(--border);border-radius:10px;height:36px;padding-left:36px;padding-right:52px}.search input[type=search]:hover{border-color:var(--border-strong)}.search input[type=search]:focus{background:var(--surface)}.search>svg{color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search kbd{pointer-events:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}kbd{border:1px solid var(--border);background:var(--surface);height:20px;color:var(--text-3);box-shadow:0 1px 0 var(--border);border-radius:5px;align-items:center;padding:0 6px;font:500 11px/1 Inter,system-ui,sans-serif;display:inline-flex}.search-results{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:70vh;padding:6px;animation:.12s pop;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.search-group{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;padding:8px 10px 4px;font-size:11px;font-weight:600}.search-item{border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:10px;padding:8px 10px;display:flex}.search-item svg{color:var(--text-3)}.search-item:hover,.search-item.on{background:var(--surface-2);text-decoration:none}.search-item.on{box-shadow:inset 0 0 0 1px var(--border)}.menu-wrap{position:relative}.menu{background:var(--surface);border:1px solid var(--border);min-width:180px;box-shadow:var(--shadow-lg);z-index:50;border-radius:10px;padding:4px;animation:.12s pop;position:absolute;top:calc(100% + 6px);right:0}.menu.up{inset:auto auto calc(100% + 6px) 0}.menu button{cursor:pointer;width:100%;height:34px;color:var(--text);text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:10px;padding:0 10px;font-size:13.5px;display:flex}.menu button:hover{background:var(--surface-2)}.menu button.on{font-weight:600}.menu button.on:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;margin-left:auto}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);height:34px;color:var(--text);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-xs);justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:13.5px;font-weight:500;transition:background .12s,border-color .12s,box-shadow .12s,transform 60ms;display:inline-flex}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{flex-shrink:0}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 1px 2px #780a0a40,inset 0 1px #ffffff1f}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{color:var(--danger)}.btn.danger.solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-3)}.btn.sm{border-radius:7px;height:30px;padding:0 10px;font-size:13px}.btn.icon{width:34px;padding:0}.btn.icon.sm{width:30px}.btn-group{background:var(--surface-3);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.btn-group .btn{box-shadow:none;height:28px;color:var(--text-2);background:0 0;border:none;border-radius:7px}.btn-group .btn:hover{color:var(--text);background:0 0}.btn-group .btn.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs), 0 0 0 1px var(--border)}.input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=date],input[type=datetime-local],input[type=tel],input[type=url],select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);outline:none;width:100%;height:36px;padding:0 11px;transition:border-color .12s,box-shadow .12s,background .12s}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb, var(--border-strong) 70%, var(--text-3))}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8a93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding-right:32px}textarea{resize:vertical;height:auto;min-height:80px;padding:9px 11px;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--ring)}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--text-3) 80%, transparent)}input[type=color]{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:44px;height:36px;padding:2px}.invalid input,.invalid select,.invalid textarea,input.invalid{border-color:var(--danger)}label.check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.field{flex-direction:column;gap:6px;display:flex}.field>label{color:var(--text-2);font-size:13px;font-weight:500}.field .req{color:var(--danger)}.field .help{color:var(--text-3);font-size:12px}.field .err{color:var(--danger);font-size:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;display:grid}.form-grid .wide{grid-column:1/-1}.form-section+.form-section{margin-top:24px}.form-section h3{color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px;font-family:Inter,system-ui,sans-serif;font-size:11.5px}.switch{flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch span{background:var(--border-strong);cursor:pointer;border-radius:20px;transition:all .15s;position:absolute;inset:0}.switch span:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:before{transform:translate(16px)}.switch input:focus-visible+span{box-shadow:var(--ring)}.switch input:disabled+span{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}a.card{color:var(--text)}.card-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:52px;padding:14px 18px;display:flex}.card-head .grow{flex:1;min-width:0}.card-head h3{font-size:14px}.card-head.plain{border-bottom:none;padding-bottom:4px}.card-body{padding:18px}.card-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.muted{color:var(--text-3)}.small{font-size:12.5px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.stack{flex-direction:column;gap:16px;display:flex}.grow{flex:1}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.link-more{color:var(--text-3);align-items:center;gap:2px;font-size:13px;font-weight:500;display:inline-flex}.link-more:hover{color:var(--text);text-decoration:none}.badge{background:var(--surface-3);height:22px;color:var(--text-2);white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.badge.accent{background:var(--link-soft);color:var(--link)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.outline{border-color:var(--border);background:0 0}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.avatar{background:var(--surface-3);width:32px;height:32px;color:var(--text-2);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.avatar.sm{width:24px;height:24px;font-size:10px}.avatar.lg{border-radius:12px;width:48px;height:48px;font-size:16px}.table-wrap{overflow-x:auto}table.table{border-collapse:separate;border-spacing:0;width:100%}.table th{text-align:left;color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;z-index:1;padding:10px 16px;font-size:12px;font-weight:500;position:sticky;top:0}.table th.sortable{cursor:pointer}.table th.sortable:hover{color:var(--text)}.table td{border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;max-width:320px;padding:12px 16px;overflow:hidden}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background .1s}.table tbody tr.click{cursor:pointer}.table tbody tr.click:hover{background:var(--surface-2)}.table td.title-cell{font-weight:600}.pager{border-top:1px solid var(--border);color:var(--text-3);justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;font-size:13px;display:flex}.toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.toolbar .search-input{flex:1;min-width:200px;max-width:360px;position:relative}.toolbar .search-input input{padding-left:34px}.toolbar .search-input svg{color:var(--text-3);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.toolbar select{width:auto;min-width:140px}.board{align-items:flex-start;gap:14px;min-height:420px;padding-bottom:12px;display:flex;overflow-x:auto}.column{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex-shrink:0;width:288px;max-height:calc(100vh - 230px);transition:background .12s,border-color .12s;display:flex}.column.over{border-color:var(--accent);background:var(--accent-soft)}.column-head{align-items:center;gap:8px;padding:12px 14px 8px;font-size:13px;font-weight:600;display:flex}.column-head .badge,.column-head>span:last-child{margin-left:auto}.column-body{flex-direction:column;gap:8px;min-height:60px;padding:6px 8px 10px;display:flex;overflow-y:auto}.kcard{background:var(--surface);border:1px solid var(--border);cursor:grab;box-shadow:var(--shadow-xs);border-radius:10px;padding:12px;transition:box-shadow .15s,border-color .15s,transform .15s}.kcard:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.kcard.dragging{opacity:.4}.kcard b{margin-bottom:4px;font-size:13.5px;font-weight:600;display:block}.kcard .meta{color:var(--text-3);flex-direction:column;gap:2px;font-size:12px;display:flex}.stagebar{gap:3px;padding-bottom:2px;display:flex;overflow-x:auto}.stage{cursor:pointer;background:var(--surface-3);min-width:92px;height:34px;color:var(--text-3);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%);white-space:nowrap;text-overflow:ellipsis;border:none;flex:1;padding:0 14px 0 18px;font-size:12.5px;font-weight:600;transition:filter .12s,background .12s;overflow:hidden}.stage:first-child{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);border-radius:8px 0 0 8px}.stage:last-child{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,10px 50%);border-radius:0 8px 8px 0}.stage:hover{filter:brightness(.96)}.stage.done{background:color-mix(in srgb, var(--stage) 18%, var(--surface));color:var(--text)}.stage.current{background:var(--stage);color:#fff}.stage:disabled{cursor:default}.record-head{flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.record-head .title{flex:1;min-width:240px}.record-head .crumbs{color:var(--text-3);margin-bottom:4px;font-size:13px}.record-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.props{grid-template-columns:minmax(min(130px,40%),38%) minmax(0,1fr);display:grid}.props>div{border-bottom:1px solid var(--border);overflow-wrap:anywhere;min-width:0;padding:10px 0}.props>.k{color:var(--text-3);padding-right:12px;font-size:13px}.props>div:nth-last-child(-n+2){border-bottom:none}.group-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);align-items:center;gap:8px;margin:22px 0 4px;font-size:11.5px;font-weight:600;display:flex}.group-title:first-child{margin-top:0}.chips{flex-wrap:wrap;gap:4px;display:flex}.composer-tabs{border-bottom:1px solid var(--border);gap:2px;padding:0 10px;display:flex;overflow-x:auto}.composer-tabs button{cursor:pointer;color:var(--text-3);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:11px 10px;font-weight:500;display:inline-flex}.composer-tabs button:hover{color:var(--text)}.composer-tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.timeline{flex-direction:column;display:flex}.tl-item{border-bottom:1px solid var(--border);gap:12px;padding:14px 18px;display:flex}.tl-item:last-child{border-bottom:none}.tl-icon{background:var(--surface-3);width:30px;height:30px;color:var(--text-3);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.tl-icon.task{background:var(--warn-soft);color:var(--warn)}.tl-icon.call,.tl-icon.meeting{background:var(--info-soft);color:var(--info)}.tl-icon.email{background:var(--link-soft);color:var(--link)}.tl-icon.note{background:var(--ok-soft);color:var(--ok)}.tl-body{flex:1;min-width:0}.tl-body .subject{font-weight:500}.tl-body .text{white-space:pre-wrap;color:var(--text-2);margin-top:4px;font-size:13px}.tl-body .meta{color:var(--text-3);margin-top:2px;font-size:12px}.done-text{color:var(--text-3);text-decoration:line-through}.home-head{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.home-head .date{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:12px;font-weight:600}.home-head h1{font-size:28px}.home-head .sub{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.home-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.home-main,.home-side{flex-direction:column;gap:20px;min-width:0;display:flex}.home-side{position:sticky;top:0}.section-title{align-items:baseline;gap:10px;margin:4px 2px -6px;display:flex}.section-title h2{font-size:15px}.section-title span{color:var(--text-3);font-size:13px}.kpis{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px;display:grid}.kpi{color:var(--text);flex-direction:column;gap:2px;min-height:112px;padding:16px 16px 12px;transition:border-color .12s,box-shadow .15s;display:flex;position:relative}.kpi:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);text-decoration:none}.kpi .kpi-top{color:var(--text-3);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.kpi .kpi-top svg{color:var(--text-3)}.kpi .kpi-top .arrow{opacity:0;margin-left:auto;transition:opacity .12s}.kpi:hover .kpi-top .arrow{opacity:1}.kpi .val{letter-spacing:-.02em;font-size:28px;font-weight:600;line-height:1.15;font-family:var(--font-display);font-variant-numeric:tabular-nums;margin-top:6px}.kpi .kpi-foot{align-items:flex-end;gap:8px;min-height:26px;margin-top:auto;display:flex}.delta{color:var(--text-3);white-space:nowrap;align-items:center;gap:3px;font-size:12px;font-weight:500;display:inline-flex}.delta b{font-weight:600}.delta.up b{color:var(--ok)}.delta.down b{color:var(--danger)}.spark{margin-left:auto;display:block;overflow:visible}.pipes{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.pipe .card-head{border-bottom:none;align-items:flex-start;padding-bottom:0}.pipe-total{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1}.pipe-meta{color:var(--text-3);flex-wrap:wrap;align-items:center;row-gap:2px;margin:8px 0 2px;font-size:12.5px;display:flex}.pipe-meta>span{white-space:nowrap}.pipe-meta>span+span:before{content:"·";color:var(--border-strong);margin:0 7px}.pipe-meta b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.pipe-meta .rate b{color:var(--ok)}.pipe-rows{flex-direction:column;gap:2px;margin-top:10px;display:flex}.pipe-row{color:var(--text);border-radius:7px;grid-template-columns:minmax(92px,34%) minmax(0,1fr) 64px;align-items:center;gap:10px;margin:0 -8px;padding:5px 8px;font-size:13px;display:grid}.pipe-row:hover{background:var(--surface-2);text-decoration:none}.pipe-row .lbl{color:var(--text-2);align-items:center;gap:6px;min-width:0;display:flex}.pipe-row .lbl span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pipe-row .track{background:var(--viz-track);border-radius:99px;height:10px;position:relative;overflow:hidden}.pipe-row .fill{background:var(--series-1);border-radius:99px;transition:width .5s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 auto 0 0}.pipe-row.outcome .fill{background:var(--series-other)}.pipe-row .n{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.pipe-row .n small{color:var(--text-3);margin-left:4px;font-size:11.5px;font-weight:500}.pipe-sep{background:var(--border);height:1px;margin:6px 0}.feed{margin:0;padding:0;list-style:none}.feed li{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.feed li:last-child{border-bottom:none}.feed .tl-icon{border-radius:8px;width:28px;height:28px}.feed .t{font-size:13.5px;line-height:1.4}.feed .m{color:var(--text-3);margin-top:2px;font-size:12px}.task-check{border:1.5px solid var(--border-strong);border-radius:50%;flex-shrink:0;width:18px;height:18px;margin-top:1px}.task-check.overdue{border-color:var(--danger)}.dash-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.widgets{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.bars{flex-direction:column;gap:10px;display:flex}.bar-row{grid-template-columns:minmax(90px,38%) 1fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.bar-row>span{color:var(--text-2)}.bar-track{background:var(--viz-track);border-radius:99px;height:8px;overflow:hidden}.bar-fill{background:var(--series-1);border-radius:99px;height:100%}.bar-row b{font-variant-numeric:tabular-nums;font-weight:600}.stat-big{font-family:var(--font-display);letter-spacing:-.02em;font-size:30px;font-weight:600;line-height:1.15}.list-plain{margin:0;padding:0;list-style:none}.list-plain li{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.list-plain li:last-child{border-bottom:none}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#09090b73;justify-content:center;align-items:flex-start;padding:7vh 16px;animation:.15s fade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);width:100%;max-width:560px;box-shadow:var(--shadow-lg);border-radius:16px;animation:.18s cubic-bezier(.2,.8,.2,1) pop}.modal.wide{max-width:980px}.modal-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:18px 22px;display:flex}.modal-head h2{flex:1}.modal-body{padding:22px}.modal-foot{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 16px 16px;justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.985)}}.toasts{z-index:200;flex-direction:column;gap:8px;max-width:420px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13.5px;animation:.18s pop;display:flex}.toast.success svg{color:var(--ok)}.toast.error svg{color:var(--danger)}.toast.warning svg{color:var(--warn)}.toast.info svg{color:var(--info)}.alert{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;display:flex}.alert.error{background:var(--danger-soft);color:var(--danger);border-color:#0000}.alert.info{background:var(--info-soft);color:var(--info);border-color:#0000}.alert.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.license-banner{align-items:center;margin-bottom:14px}.license-banner .btn{flex:none}.empty{text-align:center;color:var(--text-3);padding:52px 20px}.empty svg{color:var(--border-strong);margin-bottom:12px}.empty h3{color:var(--text);margin-bottom:4px}.spinner{border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}.center{place-items:center;padding:60px;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--surface-3) 25%, var(--surface-2) 50%, var(--surface-3) 75%);background-size:200% 100%;border-radius:8px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.computed-value{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);min-height:36px;color:var(--text-2);align-items:center;padding:0 11px;display:flex}.thumbs{flex-wrap:wrap;gap:6px;display:inline-flex}.thumbs img{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:44px;height:44px;display:block}.image-input{flex-wrap:wrap;gap:8px;display:flex}.image-tile,.image-add{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;width:96px;height:96px;position:relative;overflow:hidden}.image-tile img{object-fit:cover;width:100%;height:100%;display:block}.image-main{color:#fff;background:#000000a6;border-radius:4px;padding:1px 6px;font-size:10px;position:absolute;bottom:4px;left:4px}.image-tools{gap:3px;display:flex;position:absolute;top:4px;right:4px}.image-tools button{color:#fff;cursor:pointer;background:#000000a6;border:none;border-radius:50%;place-items:center;width:22px;height:22px;font-size:14px;line-height:1;display:grid}.image-add{cursor:pointer;color:var(--text-3);border-style:dashed;border-width:1.5px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex}.image-add:hover{border-color:var(--accent);color:var(--accent-text)}.spin{animation:.8s linear infinite spin}.picker{position:relative}.picker-menu{z-index:50;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:10px;max-height:240px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.picker-opt{cursor:pointer;border-radius:7px;padding:8px 10px}.picker-opt:hover,.picker-opt.on{background:var(--surface-2)}.picker-selected{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:6px;height:36px;padding:0 6px 0 11px;display:flex}.picker-selected span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:2px;margin-bottom:22px;display:flex;overflow-x:auto}.tabs a{color:var(--text-3);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 12px;font-size:13.5px;font-weight:500;display:inline-flex}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a.active{color:var(--text);border-bottom-color:var(--accent)}.plugin-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;display:grid}.plugin-card .ico{background:var(--surface-3);width:44px;height:44px;color:var(--text-2);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.stage-row{grid-template-columns:auto 1fr 120px 52px auto;align-items:center;gap:8px;padding:6px 0;display:grid}.code{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 6px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.auth-wrap{background:radial-gradient(1000px 500px at 15% -10%, var(--accent-soft), transparent 60%), radial-gradient(800px 400px at 110% 110%, color-mix(in srgb, var(--accent) 6%, transparent), transparent 60%), var(--bg);place-items:center;min-height:100%;padding:24px;display:grid}.auth-card{width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.auth-card .card-body{padding:32px}.sso-buttons{flex-direction:column;gap:10px;display:flex}.btn.sso-btn{background:var(--surface);justify-content:center;gap:10px;height:42px;font-weight:500;text-decoration:none}.or-divider{color:var(--text-3);align-items:center;gap:10px;margin:18px 0 14px;font-size:12px;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--border);flex:1;height:1px}.demo-logins{color:var(--text-3);margin-top:16px;font-size:12px}.demo-logins button{color:var(--link);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.public-wrap{background:var(--bg);min-height:100%;padding:40px 16px}.public-card{max-width:640px;margin:0 auto}@media (width<=1280px){.home-grid{grid-template-columns:minmax(0,1fr)}.home-side{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid;position:static}}@media (width<=1100px){.record-grid{grid-template-columns:1fr}.span-4,.span-6,.span-8{grid-column:span 12}}@media (width<=820px){.sidebar{z-index:90;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow-lg);transform:none}.btn.menu-btn{display:inline-flex}.content{padding:16px}.topbar{padding:0 12px}.search kbd{display:none}.search input[type=search]{padding-right:12px}.form-grid,.plugin-grid{grid-template-columns:1fr}.toasts{bottom:16px;left:16px;right:16px}.home-head h1{font-size:23px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{min-height:104px;padding:14px 14px 10px}.kpi .val{font-size:24px}.pipes{grid-template-columns:1fr}.page-head h1{font-size:21px}}.flow-row{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:14px;padding:14px 18px;display:flex}.flow-row:last-child{border-bottom:none}.flow-row:hover{background:var(--surface-2);text-decoration:none}.flow-chips{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.flow-chip{color:var(--text-2);align-items:center;gap:4px;font-size:12px;display:inline-flex}.flow-arrow{color:var(--text-3);margin-right:2px}.flow-templates{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.flow-template{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.flow-template.on{border-color:var(--accent);background:var(--accent-soft)}.flow-name{font-family:var(--font-display);max-width:520px;font-size:18px;font-weight:600}.flow-builder{grid-template-columns:270px minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.flow-palette,.flow-inspector{flex-direction:column;max-height:calc(100vh - 140px);display:flex;position:sticky;top:0}.flow-inspector{overflow-y:auto}.flow-palette-list{padding:0 10px 10px;overflow-y:auto}.flow-group{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);padding:10px 4px 6px;font-size:11px;font-weight:600}.flow-block{border:1px solid var(--border);background:var(--surface);cursor:grab;border-radius:8px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 8px 8px 10px;display:flex}.flow-block:hover{border-color:var(--accent)}.flow-block.used{opacity:.5;cursor:default}.flow-block.used:hover{border-color:var(--border)}.flow-ico{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-text);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.flow-ico.big{width:40px;height:40px}.flow-canvas{background-color:var(--surface-2);background-image:radial-gradient(var(--border) 1px, transparent 1px);border:1px solid var(--border);border-radius:var(--radius);background-size:18px 18px;min-height:480px;padding:20px}.flow-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;border-radius:10px;align-items:center;gap:10px;max-width:640px;margin:0 auto;padding:12px 14px;display:flex}.flow-card:hover{border-color:var(--border-strong)}.flow-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.flow-card.off{opacity:.55}.flow-card.unavailable{opacity:.7;border-style:dashed}.flow-card.dragging{opacity:.35}.flow-trigger{cursor:default;border-left:3px solid var(--accent);align-items:flex-start}.flow-handle{color:var(--text-3);cursor:grab;place-items:center;width:16px;display:grid}.flow-plugin{color:var(--text-2);margin-right:6px;font-weight:600}.flow-plugin:after{content:"·";color:var(--text-3);margin-left:6px;font-weight:400}.flow-num{color:var(--text-3);text-align:center;width:16px;font-size:11px;font-weight:700}.flow-drop{place-items:center;max-width:640px;height:34px;margin:0 auto;display:grid;position:relative}.flow-drop:before{content:"";border-left:2px solid var(--border-strong);position:absolute;top:0;bottom:0;left:50%}.flow-drop.active:after{content:"";border:1.5px dashed var(--border-strong);border-radius:8px;position:absolute;inset:6px 0}.flow-drop.over:after{border-color:var(--accent);background:var(--accent-soft)}.flow-drop span{z-index:1;color:var(--accent-text);font-size:12px;font-weight:600;position:relative}.flow-start{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;justify-content:center;align-items:center;gap:6px;padding:4px 0;font-size:12px;font-weight:600;display:flex}.flow-empty{text-align:center;color:var(--text-3);border:1.5px dashed var(--border-strong);border-radius:10px;max-width:640px;margin:0 auto 10px;padding:30px}.flow-vars{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:4px;margin-top:10px;font-size:12px;display:flex}.flow-vars code{background:var(--surface-2);border:1px solid var(--border);cursor:copy;color:var(--text-2);border-radius:4px;padding:1px 5px}.flow-run{border:1px solid var(--border);border-radius:8px}.flow-run-head{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.flow-run-log{flex-direction:column;gap:6px;margin:0;padding:4px 16px 12px 36px;font-size:13px;display:flex}@media (width<=1200px){.flow-builder{grid-template-columns:240px minmax(0,1fr)}.flow-inspector{grid-column:1/-1;max-height:none;position:static}}@media (width<=760px){.flow-builder{grid-template-columns:1fr}.flow-palette{max-height:300px;position:static}.flow-canvas{padding:12px}}.sol-hero{background:linear-gradient(120deg, var(--surface), var(--accent-soft));border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;align-items:center;gap:24px;padding:22px;display:flex}.sol-hero h2{font-size:20px}.sol-hero p{max-width:560px;margin:6px 0 0}.sol-actions{flex-wrap:wrap;gap:10px;display:flex}.sol-action{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;width:170px;color:var(--text);border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;display:flex}.sol-action:hover{border-color:var(--accent)}.sol-action svg{color:var(--accent-text)}.sol-action span{color:var(--text-3);font-size:12px}.sol-action.primary{background:var(--accent);border-color:var(--accent);color:#fff}.sol-action.primary svg,.sol-action.primary span{color:#ffffffd9}.sol-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.sol-card{cursor:pointer;text-align:left;font:inherit;color:var(--text);flex-direction:column;gap:10px;padding:16px;display:flex}.sol-card:hover{border-color:var(--accent)}.sol-card p{margin:0}.sol-plan{border:1px solid var(--border);border-radius:10px;max-height:340px;overflow-y:auto}.sol-plan-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 12px;display:flex}.sol-plan-row:last-child{border-bottom:none}.sol-idea{text-align:left;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;color:var(--text-2);border-radius:8px;padding:8px 10px;font-size:13px}.sol-idea:hover{border-color:var(--accent);color:var(--text)}.sol-progress{background:var(--accent-soft);color:var(--accent-text);border-radius:10px;align-items:center;gap:12px;padding:14px;display:flex}.sol-progress b{color:var(--text)}.viz-box{position:relative}.viz-box svg{display:block;overflow:visible}.viz-grid{stroke:var(--viz-grid);stroke-width:1px;shape-rendering:crispedges}.viz-axis{stroke:var(--viz-axis);stroke-width:1px;shape-rendering:crispedges}.viz-crosshair{stroke:var(--viz-axis);stroke-width:1px}.viz-tick{fill:var(--viz-muted);font-variant-numeric:tabular-nums;font-size:11px}.viz-label{fill:var(--text-2);font-size:12px}.viz-value{fill:var(--text);font-size:12px;font-weight:600}.viz-tip{z-index:5;pointer-events:none;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:10px;flex-direction:column;gap:2px;min-width:110px;padding:7px 10px;display:flex;position:absolute}.viz-tip b{font-size:14px}.viz-tip span{color:var(--text-2);align-items:center;gap:6px;font-size:12px;display:flex}.viz-tip i{border-radius:1px;width:12px;height:2px;display:inline-block}.viz-empty{min-height:120px;color:var(--text-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.viz-stat{padding:4px 0}.viz-stat-value{letter-spacing:-.02em;font-size:36px;font-weight:700;line-height:1.1}.viz-delta{color:var(--text-3);align-items:center;gap:4px;margin-top:6px;font-size:12px;display:inline-flex}.viz-delta.up{color:var(--ok)}.viz-delta.down{color:var(--danger)}.viz-legend{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.viz-legend li{align-items:center;gap:8px;display:flex}.viz-legend i{border-radius:3px;flex-shrink:0;width:10px;height:10px}.viz-funnel-row{align-items:center;gap:10px;padding:4px 0;font-size:13px;display:flex}.viz-funnel-label{color:var(--text-2);text-align:right;flex-shrink:0}.viz-funnel-value{white-space:nowrap}.viz-list{margin:0;padding:0;list-style:none}.viz-list li{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.viz-list li:last-child{border-bottom:none}.viz-rank{background:var(--surface-2);border:1px solid var(--border);width:20px;height:20px;color:var(--text-2);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.viz-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.viz-table th,.viz-table td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}.viz-table th{color:var(--text-3);font-size:12px;font-weight:500}.viz-table td:not(:first-child),.viz-table th:not(:first-child){text-align:right}.dash-widget{flex-direction:column;min-width:0;display:flex}.dash-widget.size-sm{grid-column:span 3}.dash-widget.size-md{grid-column:span 6}.dash-widget.size-lg{grid-column:span 8}.dash-widget.size-full{grid-column:span 12}.dash-widget.dragging{opacity:.4}.dash-widget-head{align-items:flex-start;gap:8px;padding:14px 16px 6px;display:flex}.dash-widget-body{flex:1;max-height:420px;padding:6px 16px 16px;overflow-y:auto}.nav-add{color:var(--sidebar-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;place-items:center;margin-left:auto;padding:2px;display:grid}.nav-add:hover{color:var(--sidebar-strong);background:var(--sidebar-hover)}.wb{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}.wb-charts{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.wb-chart{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-2);border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:12px;display:flex}.wb-chart:hover{border-color:var(--border-strong)}.wb-chart.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text);font-weight:600}.wb-preview{align-self:start;position:sticky;top:0}@media (width<=1100px){.dash-widget.size-sm{grid-column:span 6}.dash-widget.size-md,.dash-widget.size-lg{grid-column:span 12}}@media (width<=760px){.dash-widget.size-sm{grid-column:span 12}.wb{grid-template-columns:1fr}.wb-charts{grid-template-columns:repeat(3,1fr)}}.ws-tabs{flex-wrap:wrap;align-self:flex-start;gap:6px;margin-top:4px;display:flex}.ws-tab{border:1px solid var(--border);background:var(--surface);height:32px;color:var(--text-2);font:inherit;cursor:pointer;border-radius:99px;align-items:center;gap:6px;padding:0 11px;font-size:13px;font-weight:500;display:inline-flex}.ws-tab:hover{border-color:var(--border-strong);color:var(--text)}.ws-tab.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text);font-weight:600}.ws-also{color:var(--text-3)}.ws-also .link-btn{font-size:inherit}.ws-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.ws-w{flex-direction:column;min-width:0;display:flex}.ws-w>*{flex:1}.ws-w.size-sm{grid-column:span 3}.ws-w.size-md{grid-column:span 6}.ws-w.size-lg{grid-column:span 8}.ws-w.size-full{grid-column:span 12}.ws-tile{text-align:left;font:inherit;cursor:pointer;width:100%}button.ws-tile{appearance:none}.ws-tile .delta-text{color:var(--text-3);flex-direction:column;gap:2px;min-width:0;font-size:12.5px;line-height:1.35;display:flex}.ws-tile .kpi-foot{flex-wrap:wrap;align-items:center}.ws-tile .delta{white-space:normal;display:inline}.ws-tile .delta svg{vertical-align:-2px}.ws-card .viz-box{min-height:60px}.ws-list-value{font-variant-numeric:tabular-nums;white-space:nowrap}.meter{background:var(--viz-grid);border-radius:3px;height:6px;margin-top:10px;overflow:hidden}.meter span{background:var(--series-1);border-radius:3px;height:100%;display:block}@media (width<=1100px){.ws-w.size-sm{grid-column:span 4}.ws-w.size-md,.ws-w.size-lg{grid-column:span 6}}@media (width<=820px){.ws-grid{gap:10px}.ws-w.size-sm,.ws-w.size-md,.ws-w.size-lg{grid-column:span 12}.ws-w.kind-stat{grid-column:span 6}.ws-tabs{margin-top:0}}.link-btn{color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.link-btn.small{font-size:12.5px}.link-btn:hover{text-decoration:underline}.docs.over{border-color:var(--accent);box-shadow:var(--ring)}.docs-empty{text-align:center;color:var(--text-2);border:1.5px dashed var(--border-strong);border-radius:10px;flex-direction:column;align-items:center;gap:6px;margin:14px 18px;padding:22px 16px;display:flex}.docs-empty>svg{color:var(--text-3)}.doc-list{margin:0;padding:4px 10px;list-style:none}.doc-list li{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 8px;display:flex}.doc-list li:last-child{border-bottom:none}.doc-ico{background:var(--surface-3);width:32px;height:32px;color:var(--text-2);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.doc-ico.pdf{background:var(--danger-soft);color:var(--danger)}.doc-ico.doc,.doc-ico.docx,.doc-ico.odt{background:var(--info-soft);color:var(--info)}.doc-ico.xls,.doc-ico.xlsx,.doc-ico.ods,.doc-ico.csv{background:var(--ok-soft);color:var(--ok)}.doc-name{max-width:100%;font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:500;display:block}.doc-name:hover{color:var(--link);text-decoration:underline}.docs-foot{border-top:1px solid var(--border);color:var(--text-3);align-items:center;gap:6px;padding:8px 18px;font-size:12px;display:flex}.role-matrix select{min-width:150px;height:30px;font-size:13px}.role-matrix td{overflow:visible}.role-matrix tr.inherited td,.role-matrix tr.inherited select{color:var(--text-3)}.portal-hero{background:linear-gradient(120deg, var(--surface) 55%, var(--accent-soft));margin-bottom:20px;padding:22px 24px}.portal-id{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.portal-id .date{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin-bottom:4px;font-size:12px;font-weight:600}.portal-id h1{font-size:26px}.portal-id .avatar.lg{background:var(--accent);color:#fff}.portal-profile{flex-wrap:wrap;gap:4px 18px;margin-top:8px;font-size:13px;display:flex}.portal-stats{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:18px;padding-top:16px;display:grid}.portal-stats .val{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.portal-stats .lbl{color:var(--text-3);font-size:12.5px}.portal-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));align-items:start;gap:18px;display:grid}.portal-ico{background:var(--surface-3);width:30px;height:30px;color:var(--text-2);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.portal-section .card-head.plain{padding-bottom:10px}.portal-table td,.portal-table th{padding:10px 14px}.people{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.person{border:1px solid var(--border);color:var(--text);border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.person:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);text-decoration:none}.home-id{flex-wrap:wrap;align-items:flex-end;gap:16px 32px;margin-bottom:20px;display:flex}.home-id-main{flex:360px;min-width:0}.home-id-date{color:var(--text-3);margin-bottom:4px;font-size:13px}.home-id h1{letter-spacing:-.025em;font-size:28px}.home-id-line{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:6px;font-size:13.5px;display:flex}.home-id-line .badge{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.home-id-more{align-items:center;gap:2px;font-size:13px;display:inline-flex}.home-stats-line{color:var(--text-3);flex-wrap:wrap;gap:4px 0;margin-top:8px;font-size:13.5px;display:flex}.home-stats-line>span+span:before{content:"·";margin:0 8px}.home-stats-line b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.quick{flex-wrap:wrap;gap:8px;margin:0 0 18px;display:flex}.quick-link{background:var(--surface);border:1px solid var(--border);height:36px;color:var(--text);border-radius:10px;align-items:center;gap:8px;max-width:100%;padding:0 12px;font-size:13.5px;font-weight:500;display:inline-flex}.quick-link:hover{border-color:var(--border-strong);box-shadow:var(--shadow-xs);text-decoration:none}.quick-link svg{color:var(--text-3);flex-shrink:0}.page-tabs{max-width:1400px;margin:0 auto 18px}.records-group+.records-group{margin-top:22px}.records-group .section-title{margin:0 2px 10px}.records-group .kpis{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.home-empty{margin:18px 2px 0}.today{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:18px;margin-bottom:18px;display:grid}.today.single{grid-template-columns:minmax(0,1fr)}.today>.card{padding:18px 20px}.today-h{align-items:center;gap:8px;margin-bottom:6px;display:flex}.today-h h2{font-size:16px}.today-count{background:var(--danger-soft);min-width:22px;height:20px;color:var(--danger);border-radius:99px;place-items:center;padding:0 7px;font-size:12px;font-weight:600;display:inline-grid}.today-pad{padding:8px 0}.today-clear{color:var(--ok);align-items:flex-start;gap:8px;padding:10px 0 4px;font-weight:500;display:flex}.today-clear svg{flex-shrink:0;margin-top:1px}.today-clear-sub{margin-top:2px;font-weight:400;display:block}.needs,.soon{margin:0;padding:0;list-style:none}.need{border-top:1px solid var(--border);color:var(--text);align-items:center;gap:14px;padding:12px 0;display:flex}.needs li:first-child .need{border-top:0}.need:hover{text-decoration:none}.need:hover .need-text b{text-underline-offset:2px;text-decoration:underline}.need-ico{background:var(--info-soft);width:32px;height:32px;color:var(--info);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.need.tone-danger .need-ico{background:var(--danger-soft);color:var(--danger)}.need.tone-warn .need-ico{background:var(--warn-soft);color:var(--warn)}.need-text{flex-direction:column;flex:1;min-width:0;display:flex}.need-text b{font-size:14px;font-weight:600}.need-text span{color:var(--text-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.need .btn{flex-shrink:0}.needs-quiet{border-top:1px dashed var(--border);flex-direction:column;gap:2px;margin-top:6px;padding-top:10px;display:flex}.needs-quiet-h{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:2px;font-size:11px;font-weight:600}.need-quiet{color:var(--text-2);align-items:center;gap:8px;min-width:0;padding:4px 0;font-size:13px;display:flex}.need-quiet svg{color:var(--text-3);flex-shrink:0}.need-quiet b{color:var(--text);font-weight:600}.soon-item{border-top:1px solid var(--border);color:var(--text);gap:12px;min-width:0;padding:9px 0;display:flex}.soon li:first-child .soon-item{border-top:0}.soon-item:hover{text-decoration:none}.soon-item:hover .soon-text b{text-underline-offset:2px;text-decoration:underline}.soon-when{color:var(--text-3);font-variant-numeric:tabular-nums;flex-direction:column;flex:0 0 88px;font-size:12.5px;display:flex}.soon-when b{color:var(--text);font-size:13px;font-weight:600}.soon-text{min-width:0;color:var(--text-3);flex-direction:column;flex:1;font-size:13px;display:flex}.soon-text b{color:var(--text);font-size:14px;font-weight:500}.soon-item.k-exam .soon-when b,.soon-item.k-fee .soon-when b{color:var(--warn)}@media (width<=1100px){.today{grid-template-columns:minmax(0,1fr)}}@media (width<=820px){.home-id{gap:12px;margin-bottom:14px}.home-id h1{font-size:23px}.home-id-line>span:nth-child(n+3){display:none}.quick{gap:6px;margin-bottom:12px}.today{gap:12px;margin-bottom:12px}.today>.card{padding:14px 16px}.need{gap:12px;padding:10px 0}}.table td .chips{flex-wrap:nowrap;overflow:hidden}.btn.bell{position:relative}.bell-count{background:var(--accent);color:#fff;text-align:center;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--surface);border-radius:8px;padding:0 4px;font-size:10.5px;font-weight:600;line-height:16px;position:absolute;top:2px;right:1px}.notif-menu{width:min(380px,100vw - 24px);padding:0;overflow:hidden}.notif-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 10px 10px 14px;display:flex}.notif-head .btn{width:auto;height:28px}.notif-list{max-height:min(460px,70vh);margin:0;padding:4px;list-style:none;overflow-y:auto}.menu .notif-item{align-items:flex-start;gap:10px;height:auto;padding:9px 10px}.notif-item .dot{margin-top:6px}.notif-item .grow{flex-direction:column;gap:2px;display:flex}.notif-title{color:var(--text-2);font-size:13.5px}.notif-item.unread .notif-title{color:var(--text);font-weight:600}.notif-body{color:var(--text-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box;overflow:hidden}.notif-empty{text-align:center;padding:22px 14px}.notif-foot{border-top:1px solid var(--border);color:var(--link);justify-content:center;align-items:center;gap:6px;padding:10px;font-size:13px;text-decoration:none;display:flex}.notif-foot:hover{background:var(--surface-2)}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);height:28px;color:var(--text-2);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:12.5px;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--border-strong,var(--border))}.chip.on{background:var(--link-soft);color:var(--link);border-color:#0000;font-weight:600}.badge.sm{vertical-align:1px;margin-left:6px;padding:1px 6px;font-size:10.5px}.nc-list{padding:4px 0 8px}.nc-list ul{margin:0;padding:0 6px;list-style:none}.nc-day{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:0;padding:14px 16px 6px;font-size:11.5px;font-weight:600}.nc-item{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 10px;display:flex}.nc-item:hover:not(:disabled){background:var(--surface-2)}.nc-item:disabled{cursor:default}.nc-item .grow{flex-direction:column;gap:3px;display:flex}.nc-level{opacity:.35;border-radius:4px;flex-shrink:0;align-self:stretch;width:4px}.nc-item.unread .nc-level{opacity:1}.nc-title{color:var(--text-2);font-size:14px}.nc-item.unread .nc-title{color:var(--text);font-weight:600}.nc-body{color:var(--text-3);font-size:13px}.nc-more{justify-content:center;padding:10px;display:flex}.content{padding:clamp(14px,2.6vw,28px)}.page-head h1{overflow-wrap:anywhere;font-size:clamp(21px,1vw + 16px,26px)}.page-head>.grow{min-width:min(100%,240px)}.page-head>.row.wrap,.page-head>.row{flex-wrap:wrap}.card-head{flex-wrap:wrap;row-gap:6px}.card-head>h3{min-width:0}.card-head>.grow{min-width:min(100%,150px)}.toolbar>*{min-width:0}.kpis{flex-wrap:wrap;display:flex}.kpis>.kpi{flex:165px;min-width:0}.kpi,.portal-stats>div,.viz-stat{min-width:0;container-type:inline-size}.kpi .val{overflow-wrap:anywhere;font-size:clamp(18px,14cqi,28px)}.portal-stats .val{overflow-wrap:anywhere;font-size:clamp(17px,15cqi,24px)}.viz-stat-value{overflow-wrap:anywhere;font-size:clamp(20px,16cqi,34px)}.record-grid>*,.home-grid>*,.portal-grid>*,.dash-grid>*{min-width:0}.props .badge,.table td .badge{white-space:normal;text-align:left;max-width:100%}@media (width>=901px){.table td .badge{white-space:nowrap;overflow:hidden}.table td .badge:not(:has(.dot,svg)){text-overflow:ellipsis;vertical-align:middle;line-height:20px;display:inline-block}}@media (width<=1100px){.record-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.composer-tabs{gap:0;padding:0 4px}.composer-tabs button{flex:auto;justify-content:center;gap:4px;padding:11px 4px;font-size:13px}.props{grid-template-columns:minmax(0,1fr)}.props>.k{border-bottom:none;padding:10px 0 0;font-size:12px}.props>div:not(.k){padding-top:2px}}.search-item,.doc-list li{min-width:0}@media (width<=900px){.table:not(.role-matrix),.table:not(.role-matrix) tbody{width:100%;display:block}.table:not(.role-matrix) thead{display:none}.table:not(.role-matrix) tr{border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:10px 18px;padding:14px 16px;display:grid;position:relative}.table:not(.role-matrix) tr:last-child{border-bottom:none}.table:not(.role-matrix) td{white-space:normal;text-overflow:clip;overflow-wrap:break-word;border:0;min-width:0;max-width:none;padding:0;display:block;overflow:visible}.table:not(.role-matrix) td[data-label]:not([data-label=""]):before{content:attr(data-label);color:var(--text-3);letter-spacing:.01em;margin-bottom:2px;font-size:11.5px;font-weight:500;display:block}.table:not(.role-matrix) td:first-child{grid-column:1/-1;font-weight:600}.table:not(.role-matrix) td:first-child:before{display:none!important}.table:not(.role-matrix) td:first-child:has(>input[type=checkbox]){grid-column:auto;position:absolute;top:14px;right:16px}.table:not(.role-matrix) td:first-child:has(>input[type=checkbox])+td{grid-column:1/-1;padding-right:32px;font-weight:600}.table:not(.role-matrix) td:first-child:has(>input[type=checkbox])+td:before{display:none}.table:not(.role-matrix) td[data-label=""]:not(:first-child){grid-column:1/-1}.table:not(.role-matrix) td:empty,.table:not(.role-matrix) td[data-empty]:not(:first-child){display:none}.table:not(.role-matrix) td :is(input,select,textarea,.picker,.picker-selected){min-width:0;max-width:100%}.table-wrap{overflow-x:visible}:is(.role-matrix-wrap,.table-wrap:has(.role-matrix)){overflow-x:auto}.portal-table td,.portal-table th{padding:0}}@media (pointer:coarse){.btn{min-height:40px}.btn.sm{min-height:36px}.btn.icon{min-width:40px}.btn.icon.sm{min-width:36px}.nav-link{min-height:42px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=date],input[type=datetime-local],input[type=tel],input[type=url],select,textarea{font-size:16px}.table tbody tr.click:hover{background:0 0}}@media (width<=600px){.overlay{align-items:flex-end;padding:0}.modal,.modal.wide{border-radius:18px 18px 0 0;flex-direction:column;max-width:none;max-height:94dvh;animation:.22s cubic-bezier(.2,.8,.2,1) sheet;display:flex}.modal-body{padding:18px 16px;overflow-y:auto}.modal-head{padding:14px 16px}.modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-radius:0;flex-wrap:wrap}.modal-foot .btn{flex:auto}.menu.notif-menu{width:auto;position:fixed;top:60px;left:8px;right:8px}}@keyframes sheet{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.code-block{background:var(--surface-2);border:1px solid var(--border);white-space:pre;border-radius:8px;margin:8px 0 0;padding:12px;overflow-x:auto}details>summary{cursor:pointer;color:var(--link)}.side-me{min-width:0;color:inherit;border-radius:8px;flex:1;align-items:center;gap:10px;padding:2px;display:flex}.side-me:hover,.side-me.active{background:#ffffff0f;text-decoration:none}.acc-page{max-width:860px}.acc-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.acc-prefs td:not(:first-child),.acc-prefs th:not(:first-child){text-align:center;width:90px}.acc-group td{background:var(--surface-2);text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);font-size:12px;font-weight:600}.ch-kinds{border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:4px 16px;max-height:320px;padding:8px;display:grid;overflow-y:auto}.ch-kind{cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:0 8px;padding:4px 0;font-size:13.5px;display:grid}.ch-kind>.muted:last-child{grid-column:2}.pwa-banner{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm,0 1px 2px #0000000f);align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;display:flex}.pwa-banner img{border-radius:9px;flex-shrink:0}.pwa-banner b{display:block}.pwa-banner svg{vertical-align:-2px}.pwa-offline{background:var(--warn-soft,#fff4d6);color:var(--warn,#8a5a00);border-bottom:1px solid var(--border);justify-content:center;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.acc-devices{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.acc-devices li{align-items:center;gap:8px;font-size:13.5px;display:flex}@media (display-mode:standalone){.topbar,.sidebar{padding-top:env(safe-area-inset-top)}}.lang-picker{width:auto;height:32px;padding:0 8px;font-size:13px}.auth-lang{position:absolute;top:14px;right:16px}.auth-wrap{position:relative}.pv-results{border:1px solid var(--border);border-radius:var(--radius-sm);max-width:520px;margin:8px 0 0;padding:0;list-style:none}.pv-results li+li{border-top:1px solid var(--border)}.pv-results button{width:100%;font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;gap:10px;padding:9px 12px;display:flex}.pv-results button:hover{background:var(--surface-2)}.pv-search{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);max-width:520px;color:var(--text-3);align-items:center;gap:8px;padding:0 10px;display:flex}.pv-search:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.pv-search input{box-shadow:none;background:0 0;border:0;padding-left:0}.pv-search input:focus,.pv-search input:focus-visible{box-shadow:none;border:0;outline:none}.setup-list{flex-direction:column;display:flex}.setup-step{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:12px 18px;display:flex}.setup-step:last-child{border-bottom:none}.setup-step .setup-mark{color:var(--text-3);flex-shrink:0;margin-top:1px}.setup-step.done .setup-mark{color:var(--ok)}.setup-step.skipped{opacity:.7}.plugin-list{flex-direction:column;display:flex}.plugin-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:11px 18px;display:flex}.plugin-row:last-child{border-bottom:none}.plugin-row .ico{background:var(--surface-3);width:36px;height:36px;color:var(--text-2);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.plugin-row.off .ico{opacity:.6}@media (width<=640px){.plugin-row .grow{flex-basis:calc(100% - 48px)}.plugin-row>.row{margin-left:48px}}.profile-pick{flex-direction:column;gap:8px;display:flex}.profile-opt{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.profile-opt input{margin-top:3px}.profile-opt.on{border-color:var(--accent);background:var(--accent-soft)}
