@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--swx-yellow: #ffd100;--swx-ink: #000000;--swx-canvas: #ffffff;--swx-verified: #1b8a4b;--swx-founding: #f5871f;--swx-super: #7a3fd4;--swx-await: #a4161a;--swx-transit: #1e88c7;--swx-maker: #7a3fd4;--swx-shop: #22b573;--swx-match-full: #22b573;--swx-match-partial: #ffd100;--swx-match-none: #000000;--swx-font-sans: "DM Sans", system-ui, sans-serif;--swx-font-numeric: "Inter", system-ui, sans-serif;--swx-radius-card: 4.5px;--swx-radius-pill: 100px;--swx-radius-profile: 9999px}body{background:var(--swx-canvas);color:var(--swx-ink);font-family:var(--swx-font-sans)}.swx-numeric{font-family:var(--swx-font-numeric);font-variant-numeric:tabular-nums}:root{font-family:var(--swx-font-sans);color:var(--swx-ink);background:var(--swx-canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,.button{border:0;border-radius:var(--swx-radius-pill);background:var(--swx-ink);color:#fff;padding:.7rem 1rem;font-weight:650;cursor:pointer;text-decoration:none;display:inline-block}button:disabled{opacity:.45}.secondary{background:#e9e9e2;color:var(--swx-ink)}.link-button{background:transparent;padding:0;color:#555;text-align:left}.center{display:grid;min-height:100vh;place-items:center;text-align:center}.center h1,.page h1{font-family:var(--swx-font-sans),sans-serif}.layout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{position:sticky;top:0;height:100vh;padding:1.3rem;background:var(--swx-yellow);display:flex;flex-direction:column}.brand{font:700 1.3rem var(--swx-font-sans);display:flex;align-items:center;gap:.7rem;margin-bottom:2rem}.brand:first-letter{background:var(--swx-ink);color:var(--swx-yellow);padding:.5rem;border-radius:var(--swx-radius-card)}nav{display:grid;gap:.35rem}nav a{color:var(--swx-ink);text-decoration:none;padding:.75rem;border-radius:var(--swx-radius-card);font-weight:600}nav a.active,nav a:hover{background:var(--swx-ink);color:#fff}.identity{margin-top:auto;display:grid;gap:.3rem;padding-top:1rem;border-top:1px solid #cbbb00}.identity small{color:#635d00}main{min-width:0}.page{padding:2rem;max-width:1400px;margin:auto}.page>header{margin-bottom:1.5rem}.page h1{margin:0;font-size:2rem}.page header p{color:#666;margin:.35rem 0}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:1rem}.metric,.panel,.table-wrap{background:#fff;border:1px solid #e2e2da;border-radius:var(--swx-radius-card);padding:1.2rem;box-shadow:0 4px 16px #11111108}.metric{display:grid;gap:.6rem}.metric small{color:#666}.metric strong,.large{font:700 1.8rem var(--swx-font-sans)}.panel{margin-bottom:1rem}.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:1rem}.hero{width:100%;max-height:480px;object-fit:cover;border-radius:var(--swx-radius-card)}.listing-nav{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.listing-nav .muted{font-variant-numeric:tabular-nums}.dist{margin-bottom:1.25rem}.dist:last-child{margin-bottom:0}.dist-title{margin:0 0 .15rem}.dist-sub{margin:0 0 .6rem;font-size:.85rem}.dist-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.dist-row{display:grid;grid-template-columns:minmax(7rem,12rem) 1fr auto;align-items:center;gap:.6rem;font-size:.85rem}.dist-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dist-bar{height:.5rem;background:#e9e9e2;border-radius:100px;overflow:hidden}.dist-fill{display:block;height:100%;background:var(--swx-ink);border-radius:100px}.dist-count{font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}.login-table-scroll{max-height:22rem;overflow:auto}.login-table{width:100%;border-collapse:collapse;font-size:.85rem}.login-table th{position:sticky;top:0;background:#fafaf7;text-align:left;padding:.4rem .6rem;border-bottom:1px solid #e9e9e2}.login-table td{padding:.4rem .6rem;border-bottom:1px solid #f0f0ec}dl{display:grid;grid-template-columns:130px 1fr;gap:.7rem}dt{color:#777}dd{margin:0}.tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.tags span{background:#eee;padding:.35rem .6rem;border-radius:var(--swx-radius-pill)}.search,input{width:100%;max-width:420px;border:1px solid #ccc;border-radius:var(--swx-radius-card);padding:.7rem;margin-bottom:1rem;background:#fff}.table-wrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid #eee;white-space:nowrap}th{font-size:.75rem;text-transform:uppercase;color:#666;background:#fafaf7}td a{color:var(--swx-ink);font-weight:650}.empty,.notice{padding:2rem;text-align:center;color:#666}.error,.error-text{color:#a40000}.form{display:grid;gap:.5rem}.form label{display:grid;font-size:.85rem;color:#555}.suggestions>div{display:grid;grid-template-columns:1fr 80px 100px auto auto;gap:.6rem;align-items:center;padding:.6rem 0;border-top:1px solid #eee}@media (max-width: 800px){.layout{grid-template-columns:1fr}aside{position:static;height:auto}.identity{display:none}nav{grid-template-columns:repeat(3,1fr)}.detail-grid{grid-template-columns:1fr}.page{padding:1rem}}.run-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}.run-note{color:#666;font-size:.85rem;max-width:52ch}.suite-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.suite-info{display:grid;gap:.25rem;padding:.9rem;border:1px solid #e2e2da;border-radius:var(--swx-radius-card);background:#fafaf7}.suite-info small{color:#666}.suite-info code,.suite-head code{font:600 .72rem ui-monospace,SFMono-Regular,Menlo,monospace;color:#635d00;background:color-mix(in srgb,var(--swx-yellow) 20%,transparent);padding:.1rem .35rem;border-radius:var(--swx-radius-card)}.health-banner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding:1rem 1.2rem;border-radius:var(--swx-radius-card);margin-bottom:1rem;border:1px solid}.health-banner strong{font:700 1.2rem var(--swx-font-sans),sans-serif}.health-banner span{font-size:.85rem}.health-banner.ok{background:#e7f6ec;border-color:#8ed3a6;color:#125a2c}.health-banner.fail{background:#fdeaea;border-color:#e7a1a1;color:#8a1414}.suite{border-left:4px solid #ccc}.suite.ok{border-left-color:#1a7f37}.suite.fail{border-left-color:#c1121f}.suite-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.6rem}.suite-head h2{margin:0;font-size:1.1rem}.suite-head small{color:#666}.suite-tally{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.badge{font:700 .68rem ui-monospace,monospace;letter-spacing:.06em;padding:.2rem .5rem;border-radius:var(--swx-radius-card)}.badge-ok{background:#1a7f37;color:#fff}.badge-fail{background:#c1121f;color:#fff}.tally{display:flex;gap:.6rem;align-items:center;font-size:.8rem;font-weight:600}.ok-text{color:#1a7f37}.fail-text{color:#c1121f}.skip-text{color:#9a7500}.muted{color:#999;font-weight:400}.file-list{display:grid;gap:.3rem}details.file{border:1px solid #eee;border-radius:var(--swx-radius-card);overflow:hidden;background:#fff}details.file[open]{border-color:#e0e0d6}details.file.failed{border-color:#e7a1a1;background:snow}details.file summary{display:flex;align-items:center;gap:.6rem;padding:.55rem .8rem;cursor:pointer;list-style:none;font-size:.85rem}details.file summary::-webkit-details-marker{display:none}details.file summary:hover{background:#fafaf7}.file-path{font:500 .8rem ui-monospace,SFMono-Regular,Menlo,monospace;color:#333;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.file-counts{display:flex;gap:.5rem;font:600 .78rem ui-monospace,monospace;flex-shrink:0}.dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.dot-passed{background:#1a7f37}.dot-failed{background:#c1121f}.dot-skipped{background:#d0a215}.test-list{list-style:none;margin:0;padding:.2rem .8rem .6rem 2rem;display:grid;gap:.15rem}.test-line{display:flex;align-items:center;gap:.5rem;font-size:.82rem}.mark{font-weight:700;width:1rem;text-align:center;flex-shrink:0}.mark-passed{color:#1a7f37}.mark-failed{color:#c1121f}.mark-skipped{color:#d0a215}.test-failed .test-name{color:#8a1414;font-weight:600}.test-name{flex:1;min-width:0}.test-dur{color:#aaa;font:400 .72rem ui-monospace,monospace;flex-shrink:0}.failure{margin:.4rem 0 .6rem 1.5rem;padding:.7rem .9rem;background:#2b0d0d;color:#ffd7d7;border-radius:var(--swx-radius-card);font:500 .74rem ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-x:auto;line-height:1.5}.coverage-toggle{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none}.coverage-toggle input{width:auto;margin:0;cursor:pointer}.coverage{margin:.4rem 0 .8rem;padding:.9rem 1rem;border:1px solid #e6e6dc;border-radius:var(--swx-radius-card);background:#fbfbf6}.coverage-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.coverage-head strong{font:700 .95rem var(--swx-font-sans),sans-serif}.badge-cov{color:#fff}.cov-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem 1.2rem;margin-bottom:.3rem}.cov-bar{display:grid;grid-template-columns:5.5rem 1fr 3.2rem;align-items:center;gap:.5rem;font-size:.8rem}.cov-bar-label{color:#555}.cov-track{position:relative;height:8px;border-radius:var(--swx-radius-pill);background:#e7e7de;overflow:hidden}.cov-track.small{height:6px}.cov-fill{position:absolute;inset:0 auto 0 0;border-radius:var(--swx-radius-pill)}.cov-pct{font:600 .78rem ui-monospace,SFMono-Regular,Menlo,monospace;text-align:right;font-variant-numeric:tabular-nums}.cov-low .cov-fill,.cov-low.badge-cov{background:#c1121f}.cov-low .cov-pct{color:#c1121f}.cov-mid .cov-fill{background:#d0a215}.cov-mid.badge-cov{background:#9a7500}.cov-mid .cov-pct{color:#9a7500}.cov-high .cov-fill,.cov-high.badge-cov{background:#1a7f37}.cov-high .cov-pct{color:#1a7f37}details.cov-files{margin-top:.6rem;border-top:1px dashed #e0e0d6;padding-top:.5rem}details.cov-files summary{cursor:pointer;font-size:.82rem;color:#555;list-style:none}details.cov-files summary::-webkit-details-marker{display:none}details.cov-files summary:before{content:"▸ ";color:#999}details.cov-files[open] summary:before{content:"▾ "}details.cov-files ul{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.3rem}.cov-file{display:grid;grid-template-columns:1fr 8rem 2.6rem 3.5rem;align-items:center;gap:.6rem;font-size:.78rem}.cov-file .cov-lines{font:500 .72rem ui-monospace,monospace;text-align:right}.cov-more{margin:.5rem 0 0;font-size:.78rem}.running-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.4rem}.running-title{font:700 1.05rem var(--swx-font-sans),sans-serif}.running-elapsed{font:600 .95rem ui-monospace,SFMono-Regular,Menlo,monospace;color:#635d00;background:color-mix(in srgb,var(--swx-yellow) 20%,transparent);padding:.15rem .5rem;border-radius:var(--swx-radius-card);font-variant-numeric:tabular-nums}.bottle-row{display:flex;gap:1.6rem;flex-wrap:wrap;justify-content:center;padding:.7rem 0 .3rem}.bottle-cell{display:flex;flex-direction:column;align-items:center;gap:.4rem;min-width:118px}.bottle{width:90px;height:auto;display:block}.bottle-label{font:700 1rem var(--swx-font-sans),sans-serif}.bottle-caption{font-size:.8rem;color:#666;font-weight:600}.bottle-glass{fill:#fafaf7}.bottle-stroke{stroke:#cbbb00;stroke-width:2.5;stroke-linejoin:round}.bottle-cap{fill:var(--swx-ink)}.liquid{transition:transform .28s linear}.liquid-wave{fill:var(--swx-yellow)}.bottle-fill .liquid-wave{fill:var(--swx-yellow);animation:wave 1.9s linear infinite}.bottle-pass .liquid-wave{fill:#1a7f37}.bottle-pass .bottle-stroke{stroke:#1a7f37}.bottle-fail .liquid-wave{fill:#c1121f}.bottle-fail .bottle-stroke{stroke:#c1121f}.bottle-idle .bottle-glass{fill:#f2f2ec}.bottle-idle .bottle-stroke{stroke:#d5d5cc}.bottle-idle .bottle-cap{fill:#bcbcb2}.bottle-excluded .bottle-glass{fill:#f4f4ee}.bottle-excluded .bottle-stroke{stroke:#c9c9bf;stroke-dasharray:5 5}.bottle-excluded .bottle-cap{fill:#c9c9bf}.bottle-cell-idle,.bottle-cell-excluded{opacity:.85}.bottle-cell-pass .bottle-caption{color:#1a7f37}.bottle-cell-fail .bottle-caption{color:#c1121f}.bottle-cell-idle .bottle-caption,.bottle-cell-excluded .bottle-caption{color:#9a988c}.bottle-hint{color:#666;font-size:.85rem;text-align:center;margin:.7rem auto 0;max-width:62ch}@keyframes wave{to{transform:translate(-120px)}}@media (prefers-reduced-motion: reduce){.bottle-fill .liquid-wave{animation:none}.liquid{transition:none}}.hm-app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.6rem;background:#fff;border-bottom:1px solid #e2e2da;position:sticky;top:0;z-index:5}.brand-link{margin-bottom:0;text-decoration:none;color:var(--swx-ink)}.topbar-id{display:flex;align-items:center;gap:1.1rem;font-size:.9rem}.topbar-id strong{font-weight:650}.topbar-id .link-button{color:#666}main{min-width:0;flex:1}.dashboard{max-width:1100px;margin:0 auto;padding:2.6rem 1.6rem 4rem}.dash-head{margin-bottom:2rem}.dash-head h1{font:700 2.4rem var(--swx-font-sans),sans-serif;margin:0}.dash-head p{color:#666;margin:.5rem 0 0;font-size:1.05rem}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.1rem}.tile{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:.3rem;padding:1.5rem;background:#fff;border:1px solid #e2e2da;border-radius:var(--swx-radius-card);text-decoration:none;color:var(--swx-ink);box-shadow:0 4px 16px #11111108;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;height:176px;overflow:hidden}.tile-env-badge{position:absolute;top:1rem;right:1rem;padding:.15rem .6rem;border-radius:var(--swx-radius-pill);font:700 .68rem var(--swx-font-sans),sans-serif;letter-spacing:.06em}.tile:hover{transform:translateY(-3px);border-color:var(--swx-yellow);box-shadow:0 12px 30px #1111111f}.tile:focus-visible{outline:3px solid var(--swx-yellow);outline-offset:2px}.tile-icon{font-size:2rem;line-height:1}.tile-title{font:700 1.25rem var(--swx-font-sans),sans-serif;margin-top:.4rem}.tile-desc{color:#666;font-size:.9rem;align-self:start;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile-go{justify-self:end;font-size:1.3rem;color:#bbb;transition:color .12s ease,transform .12s ease}.tile:hover .tile-go{color:var(--swx-ink);transform:translate(3px)}.back-link{display:inline-block;margin-bottom:1rem;color:#666;text-decoration:none;font-weight:600;font-size:.9rem}.back-link:hover{color:var(--swx-ink)}@media (max-width: 640px){.tile-grid{grid-template-columns:1fr 1fr}.dash-head h1{font-size:1.9rem}.topbar{padding:.75rem 1rem}}.lang-toggle{background:#f0f0e8;color:#333;border-radius:var(--swx-radius-card);padding:.35rem .6rem;font:700 .72rem ui-monospace,monospace;letter-spacing:.04em}.empty-apps{background:#fff;border:1px dashed #cfcfc4;border-radius:var(--swx-radius-card);padding:2.4rem;text-align:center;max-width:520px}.empty-apps h2{font:700 1.3rem var(--swx-font-sans),sans-serif;margin:0 0 .4rem}.empty-apps p{color:#666;margin:0}.tile-disabled{opacity:.55;cursor:default;box-shadow:none}.tile-disabled:hover{transform:none;border-color:#e2e2da;box-shadow:none}.muted{color:#666}.tabs{display:flex;gap:.4rem;margin-bottom:1.2rem}.tab{background:#ecece4;color:#333;border-radius:var(--swx-radius-pill);padding:.55rem 1rem;font-weight:600}.tab.active{background:var(--swx-yellow);color:var(--swx-ink)}.matrix th,.matrix td{border-bottom:1px solid #eee}.matrix thead th{background:#fafaf7;font-size:.72rem;text-transform:uppercase;color:#666;vertical-align:bottom}.matrix .app-col{text-align:center;font-weight:600;white-space:nowrap}.matrix .role-cell{text-align:left;font-weight:650;white-space:nowrap;position:sticky;left:0;background:#fff}.matrix .cell{text-align:center}.matrix input[type=checkbox]{width:18px;height:18px;accent-color:var(--swx-ink);cursor:pointer}.tag-sys{margin-left:.45rem;font:600 .6rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em;color:#8a6d00;background:color-mix(in srgb,var(--swx-yellow) 33%,transparent);padding:.1rem .35rem;border-radius:var(--swx-radius-card);vertical-align:middle}.users-list{display:grid;gap:.6rem}.user-row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;padding:.85rem 1rem;border:1px solid #eee;border-radius:var(--swx-radius-card);background:#fff}.user-id{display:grid}.user-id small{color:#888}.role-chips{display:flex;gap:.5rem;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border:1px solid #d5d5cc;border-radius:var(--swx-radius-pill);font-size:.85rem;font-weight:600;cursor:pointer;background:#fafaf7;-webkit-user-select:none;user-select:none}.chip.on{background:var(--swx-ink);color:#fff;border-color:var(--swx-ink)}.chip input{accent-color:var(--swx-yellow);cursor:pointer}.role-dropdown{position:relative;min-width:220px}.role-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;min-height:2.4rem;padding:.45rem .7rem;border:1px solid #d5d5cc;border-radius:var(--swx-radius-card);background:#fff;color:var(--swx-ink);font:inherit;font-weight:600;cursor:pointer;text-align:left}.role-dropdown-trigger:hover{border-color:var(--swx-ink)}.role-dropdown-trigger[aria-expanded=true]{border-color:var(--swx-ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--swx-yellow) 33%,transparent)}.role-dropdown-trigger:disabled{opacity:.55;cursor:progress}.role-dropdown-value{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.role-dropdown-placeholder{color:#999;font-weight:500}.role-pill{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:var(--swx-radius-pill);background:var(--swx-ink);color:#fff;font-size:.78rem;font-weight:600}.role-dropdown-caret{color:#888;font-size:.7rem;flex-shrink:0}.role-dropdown-menu{position:absolute;z-index:15;top:calc(100% + .35rem);left:0;min-width:100%;max-height:260px;overflow:auto;display:grid;gap:.1rem;padding:.4rem;border:1px solid #e3e3db;border-radius:var(--swx-radius-card);background:#fff;box-shadow:0 12px 34px #0002}.role-option{display:flex;align-items:center;gap:.55rem;padding:.45rem .55rem;border-radius:var(--swx-radius-card);font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap}.role-option:hover{background:#fafaf7}.role-option.on{background:#f4f4ee}.role-option input{accent-color:var(--swx-ink);cursor:pointer;width:16px;height:16px}.role-dropdown-empty{margin:0;padding:.5rem;color:#999;font-size:.85rem}@keyframes dd-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: no-preference){.role-dropdown-menu{animation:dd-in .12s ease}}.toast{position:fixed;bottom:1.4rem;left:50%;transform:translate(-50%);background:var(--swx-ink);color:#fff;padding:.75rem 1.2rem;border-radius:var(--swx-radius-card);font-weight:600;box-shadow:0 8px 30px #0003;z-index:20}@media (prefers-reduced-motion: no-preference){.toast{animation:toast-in .18s ease}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}button:focus-visible,.tab:focus-visible,.chip:focus-within,input[type=checkbox]:focus-visible{outline:3px solid var(--swx-yellow);outline-offset:2px}.create-user-form{display:grid;gap:1rem}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.field-grid label{display:grid;gap:.3rem;font-size:.82rem;color:#555;font-weight:600}.field-grid input{margin-bottom:0;max-width:none}.chips-label{font-size:.82rem;color:#555;font-weight:600;align-self:center;margin-right:.3rem}.account-row{align-items:flex-start}.account-row .role-chips{flex:1;justify-content:flex-start}.account-row .role-dropdown{min-width:220px}.tag-mirror{margin-left:.45rem;font:600 .6rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em;color:#125a2c;background:#e7f6ec;padding:.1rem .35rem;border-radius:var(--swx-radius-card);vertical-align:middle}.danger{background:#fdeaea;color:#a40000}.admin-console{display:grid}.admin-flow{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem .75rem;padding:.8rem 1.1rem;margin-bottom:1.2rem;background:color-mix(in srgb,var(--swx-yellow) 12%,#fff);border:1px solid color-mix(in srgb,var(--swx-yellow) 42%,#e2e2da);border-radius:var(--swx-radius-card)}.admin-flow-step{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem}.admin-flow-num{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;flex-shrink:0;border-radius:var(--swx-radius-profile);background:var(--swx-ink);color:#fff;font:700 .8rem var(--swx-font-numeric),sans-serif}.admin-flow-arrow{color:#b9b9ad;font-weight:700}.tabs.seg{gap:0;margin-bottom:0;padding:.3rem;width:fit-content;max-width:100%;overflow:auto;background:#ecece4;border-radius:var(--swx-radius-pill)}.seg-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .95rem;border-radius:var(--swx-radius-pill);background:transparent;color:#4a4a44;font-weight:600;white-space:nowrap}.seg-tab.active{background:#fff;color:var(--swx-ink);box-shadow:0 2px 8px #0000001f}.seg-tab-ico{font-size:1rem}.seg-tab-count{min-width:1.35rem;height:1.35rem;padding:0 .35rem;display:inline-grid;place-items:center;border-radius:var(--swx-radius-pill);background:#00000012;color:#555;font:600 .72rem var(--swx-font-numeric),sans-serif}.seg-tab.active .seg-tab-count{background:var(--swx-yellow);color:var(--swx-ink)}.admin-tabhint{color:#666;font-size:.9rem;margin:.85rem 0 1.15rem}.panel-head{margin-bottom:1rem}.panel-head h2{margin:0 0 .2rem}.panel-head>.muted{margin:0}.matrix-wrap{padding:0;overflow:auto}.matrix .app-col{padding:.8rem .6rem}.matrix .app-col-ico{display:block;font-size:1.15rem;margin-bottom:.3rem}.matrix .app-col-name{display:block}.matrix tbody tr:hover td,.matrix tbody tr:hover .role-cell{background:#fcfcf6}.matrix .role-dot{display:inline-block;width:8px;height:8px;margin-right:.55rem;border-radius:50%;background:var(--swx-ink);vertical-align:middle}.matrix .cell.on{background:color-mix(in srgb,var(--swx-yellow) 16%,transparent)}.people-list{display:grid;gap:.55rem}.person-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.7rem .9rem;border:1px solid #ecece4;border-radius:var(--swx-radius-card);background:#fff;transition:border-color .12s ease}.person-row:hover{border-color:#d7d7cd}.person{display:flex;align-items:center;gap:.75rem;min-width:0}.person-avatar{width:2.4rem;height:2.4rem;flex-shrink:0;display:grid;place-items:center;border-radius:var(--swx-radius-profile);background:var(--swx-ink);color:#fff;font:700 .82rem var(--swx-font-numeric),sans-serif}.person-id{display:grid;min-width:0}.person-id small{color:#888}.person-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.account-row{align-items:center;flex-wrap:wrap}.account-row .person-avatar{margin-top:0}.pending-note{font-size:.82rem;color:#8a6d00;background:color-mix(in srgb,var(--swx-yellow) 22%,transparent);padding:.3rem .6rem;border-radius:var(--swx-radius-pill);font-weight:600}.advanced{border-top:1px dashed #e2e2da;padding-top:.6rem}.advanced>summary{cursor:pointer;font-size:.82rem;font-weight:600;color:#777;list-style:none;-webkit-user-select:none;user-select:none}.advanced>summary::-webkit-details-marker{display:none}.advanced>summary:before{content:"▸ ";color:#b9b9ad}.advanced[open]>summary:before{content:"▾ "}.person-advanced{flex-basis:100%;margin-top:.2rem}.person-advanced .role-dropdown{margin-top:.5rem;max-width:320px}.role-picker{border:1px solid #e2e2da;border-radius:var(--swx-radius-card);padding:.9rem 1rem;margin:0}.role-picker>legend{font-weight:700;font-size:.9rem;padding:0 .4rem}.role-picker-hint{margin:0 0 .7rem;color:#666;font-size:.82rem}.role-cards{display:grid;gap:.9rem}.role-card{background:#fff;border:1px solid #e2e2da;border-radius:var(--swx-radius-card);padding:1.1rem 1.2rem;box-shadow:0 4px 16px #11111108}.role-card.admin{border-color:color-mix(in srgb,var(--swx-yellow) 55%,#e2e2da);background:color-mix(in srgb,var(--swx-yellow) 7%,#fff)}.role-card-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.9rem}.role-card-head h3{margin:0;font-size:1.05rem}.role-card-lock{margin-left:auto;font-size:.78rem;font-weight:700;color:#8a6d00;background:color-mix(in srgb,var(--swx-yellow) 30%,transparent);padding:.2rem .6rem;border-radius:var(--swx-radius-pill);white-space:nowrap}.app-toggle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.5rem}.app-toggle{display:flex;align-items:center;gap:.55rem;padding:.5rem .7rem;border:1px solid #e2e2da;border-radius:var(--swx-radius-card);background:#fafaf7;font-weight:600;font-size:.9rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .12s ease,background .12s ease}.app-toggle:hover{border-color:#cfcfc4}.app-toggle.on{background:color-mix(in srgb,var(--swx-yellow) 15%,#fff);border-color:color-mix(in srgb,var(--swx-yellow) 55%,#e2e2da)}.app-toggle input{width:17px;height:17px;accent-color:var(--swx-ink);cursor:pointer;flex-shrink:0}.app-toggle input:disabled{cursor:default}.role-card.admin .app-toggle{cursor:default}.app-toggle-ico{font-size:1.05rem}.app-toggle-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-card-note{margin:.9rem 0 0;font-size:.82rem;color:#666}.danger:hover{background:#f8d7d7}.ai-form{display:grid;gap:1rem}.ai-field{display:grid;gap:.35rem;font-size:.82rem;color:#555;font-weight:600}.ai-select{max-width:420px;border:1px solid #ccc;border-radius:var(--swx-radius-card);padding:.7rem;background:#fff}.ai-textarea{width:100%;border:1px solid #ccc;border-radius:var(--swx-radius-card);padding:.7rem;background:#fff;font:inherit;line-height:1.5;resize:vertical}.ai-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.file-button{cursor:pointer;margin:0}.ai-personality{border-top:1px solid #eee;padding-top:1rem}.ai-persona-hint{margin:0;font-weight:400;font-size:.8rem}.ai-persona-badge{margin-left:.5rem;font:700 .62rem ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .45rem;border-radius:var(--swx-radius-pill);background:#e9e9e2;color:#555;vertical-align:middle}.ai-persona-badge.custom{background:var(--swx-yellow);color:var(--swx-ink)}.ai-result h2{margin:0 0 .6rem;font:700 1.1rem var(--swx-font-sans),sans-serif}.ai-summary{white-space:pre-wrap;word-break:break-word;font:inherit;margin:0;background:#fafaf7;border:1px solid #eee;border-radius:var(--swx-radius-card);padding:1rem}.ai-meta{margin:.7rem 0 0;font-size:.8rem}.ai-dropzone{border:1px dashed #bbb;border-radius:var(--swx-radius-card);padding:1rem;gap:.6rem}.ai-preview{max-width:100%;max-height:320px;object-fit:contain;border-radius:var(--swx-radius-card);background:#fafaf7}.ai-result figure{margin:0;display:grid;gap:.35rem}.ai-result .metrics{margin-top:1rem}.badge.needs-review{background:#8a6d00;color:#fff}.tag-chips{display:flex;gap:.7rem;flex-wrap:wrap}.tag-chip{display:grid;gap:.15rem;padding:.7rem 1rem;border-radius:var(--swx-radius-card);font-weight:700}.tag-chip small{font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.tag-chip.primary{background:var(--swx-ink);color:#fff}.tag-chip.secondary{background:#e9e9e2;color:var(--swx-ink)}.score-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.3rem;max-width:420px}.score-list li{display:flex;justify-content:space-between;font-size:.85rem;padding:.35rem 0;border-top:1px solid #eee}.badge.neutral{background:#e9e9e2;color:#333}.taxonomy-editor{display:grid;gap:1rem}.taxonomy-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.taxonomy-editor h2,.taxonomy-editor h3{margin:0;font:700 1.1rem var(--swx-font-sans),sans-serif}.taxonomy-table{width:100%;border-collapse:collapse}.taxonomy-table th{white-space:normal}.taxonomy-table td{white-space:normal;vertical-align:top;padding:.5rem}.taxonomy-table td input,.taxonomy-table td textarea{width:100%;max-width:none;margin:0;border:1px solid #ccc;border-radius:var(--swx-radius-card);padding:.5rem;background:#fff;font:inherit}.taxonomy-table td textarea{resize:vertical;line-height:1.4}.taxonomy-table td:nth-child(3){width:70px}.taxonomy-table td:last-child{width:44px;text-align:center}.taxonomy-table td:last-child button{padding:.4rem .6rem}.threshold-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.threshold-grid input{max-width:none;margin:0}.threshold-grid small{font-weight:500}.retrain-models{display:flex;gap:1rem;flex-wrap:wrap}.retrain-model{display:grid;gap:.6rem;padding:1rem;border:1px solid #e2e2da;border-radius:var(--swx-radius-card);min-width:220px}.retrain-model-head{display:flex;align-items:center;gap:.6rem;justify-content:space-between}.retrain-result{margin-top:1rem}.version-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem}.version-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.7rem .9rem;border:1px solid #e2e2da;border-radius:var(--swx-radius-card)}.version-meta{display:grid;gap:.2rem}.version-meta span{font-size:.8rem}.version-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.guide-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fffbe0,#fff 60%);border-color:#f3e69a}.guide-hero:after{content:"";position:absolute;top:-40px;right:-30px;width:180px;height:180px;background:radial-gradient(circle,color-mix(in srgb,var(--swx-yellow) 33%,transparent),transparent 70%);pointer-events:none}.guide-kicker{display:inline-block;font:700 .68rem ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:#7a6a00;background:var(--swx-yellow);padding:.25rem .6rem;border-radius:var(--swx-radius-pill);margin-bottom:.8rem}.guide-hero h2{font:700 1.6rem var(--swx-font-sans),sans-serif;margin:0 0 .6rem;max-width:22ch}.guide-hero p{max-width:60ch;margin:0 0 .8rem;color:#3a3a30}.guide-analogy{background:#fff;border:1px solid #f0e8b8;border-radius:var(--swx-radius-card);padding:.8rem 1rem;font-size:.95rem}.guide-hero button{margin-top:.4rem}.guide-steps{list-style:none;margin:0;padding:0;display:grid;gap:.8rem;counter-reset:step}.guide-step{position:relative;display:grid;grid-template-columns:auto auto 1fr;align-items:start;gap:1rem;padding:1rem 1.1rem;border:1px solid #e2e2da;border-radius:var(--swx-radius-card);background:#fafaf7;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.guide-step:hover{transform:translateY(-2px);box-shadow:0 8px 22px #11111112;border-color:var(--swx-yellow)}.guide-step-num{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--swx-ink);color:var(--swx-yellow);font:700 1rem var(--swx-font-sans),sans-serif}.guide-step-icon{font-size:1.5rem;line-height:2rem}.guide-step-text h3{margin:0 0 .2rem;font:700 1rem var(--swx-font-sans),sans-serif}.guide-step-text p{margin:0;color:#555;font-size:.92rem}.guide-note-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem}.guide-note-grid h3{margin:0 0 .5rem;font:700 1rem var(--swx-font-sans),sans-serif}.guide-note-grid ul{margin:0;padding-left:1.1rem;display:grid;gap:.45rem}.guide-note-grid li{font-size:.92rem;color:#555}@media (prefers-reduced-motion: reduce){.guide-step{transition:none}.guide-step:hover{transform:none}}.inbox-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.inbox-filter{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#444;margin:0}.inbox-filter input{width:auto;margin:0}.inbox-verify{display:grid;gap:.6rem;max-width:520px}.inbox-verify h2{margin:0;font:700 1.1rem var(--swx-font-sans),sans-serif}.inbox-verify .ai-actions{margin-top:.3rem}.inbox-code{max-width:160px;letter-spacing:.35em;font:600 1.1rem ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;margin:0;border:1px solid #ccc;border-radius:var(--swx-radius-card);padding:.6rem}.notice.inbox-verified{text-align:left;padding:.8rem 1rem;background:#e7f6ec;color:#125a2c;border-radius:var(--swx-radius-card)}.inbox-layout{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:1rem;align-items:start}.inbox-list{background:#fff;border:1px solid #e2e2da;border-radius:var(--swx-radius-card);overflow:hidden;box-shadow:0 4px 16px #11111108}.inbox-messages{list-style:none;margin:0;padding:0}.inbox-row{display:grid;gap:.2rem;width:100%;text-align:left;background:transparent;color:inherit;border-radius:0;border-bottom:1px solid #eee;padding:.9rem 1rem;font-weight:500}.inbox-row:hover{background:#fafaf7}.inbox-row.selected{background:#fff8c8}.inbox-row.unread .inbox-from,.inbox-row.unread .inbox-subject{font-weight:750}.inbox-row.unread{border-left:3px solid var(--swx-yellow)}.inbox-from{font-size:.85rem;color:#333}.inbox-subject{font-size:.95rem;color:var(--swx-ink)}.inbox-snippet{font-size:.8rem;color:#777;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-meta{font-size:.72rem;color:#999}.inbox-detail{min-width:0}.inbox-email header h2{margin:0 0 .4rem;font:700 1.3rem var(--swx-font-sans),sans-serif}.inbox-email header p{margin:.15rem 0}.inbox-body{white-space:pre-wrap;word-break:break-word;font:inherit;line-height:1.55;margin:1rem 0;background:#fafaf7;border:1px solid #eee;border-radius:var(--swx-radius-card);padding:1rem;max-height:420px;overflow:auto}.inbox-summarise{border-top:1px solid #eee;padding-top:1rem}.inbox-summarise h3{margin:1rem 0 .5rem;font:700 1rem var(--swx-font-sans),sans-serif}@media (max-width: 900px){.inbox-layout{grid-template-columns:1fr}}.ai-active-model{border-top:1px solid #eee;padding-top:1rem}.task-bell{position:relative;background:#f0f0e8;color:var(--swx-ink);border-radius:var(--swx-radius-card);padding:.3rem .55rem;font-size:1rem;line-height:1;cursor:pointer}.task-bell[aria-expanded=true]{background:var(--swx-yellow)}.task-bell-dot{position:absolute;top:-2px;right:-2px;width:9px;height:9px;background:var(--swx-yellow);border:2px solid #fff;border-radius:var(--swx-radius-profile);display:none}.task-bell.has-unread .task-bell-dot{display:block}.task-bell[aria-expanded=true] .task-bell-dot{background:var(--swx-ink)}@media (prefers-reduced-motion: no-preference){.task-bell.pinging{animation:task-bell-ping .5s ease}}@keyframes task-bell-ping{0%{transform:scale(1)}40%{transform:scale(1.25) rotate(-6deg)}to{transform:scale(1) rotate(0)}}.task-alert-stack{position:fixed;top:4rem;right:1.6rem;width:340px;max-width:calc(100vw - 2rem);z-index:20;display:flex;flex-direction:column;gap:.6rem;align-items:flex-end;pointer-events:none}.task-alert-card{pointer-events:auto;position:relative;width:100%;background:var(--swx-ink);color:#fff;border-radius:var(--swx-radius-card);border-left:3px solid var(--swx-yellow);padding:0 1rem;overflow:hidden;box-shadow:0 16px 40px #00000038;max-height:0;opacity:0;transform:scale(.4) translate(60px,-70px);transform-origin:top right;transition:transform .38s cubic-bezier(.2,.9,.3,1.15),opacity .25s ease,max-height .4s ease,padding .38s ease}.task-alert-card.emanate{max-height:320px;opacity:1;transform:scale(1) translate(0);padding:.85rem 1rem .9rem}.task-alert-card.is-high{border-left-color:#ff5a5a}.task-alert-card:before{content:"";position:absolute;top:-6px;right:20px;width:13px;height:13px;background:var(--swx-ink);border-left:3px solid var(--swx-yellow);transform:rotate(45deg);border-radius:var(--swx-radius-card);opacity:0;transition:opacity .3s ease .1s}.task-alert-card.is-high:before{border-left-color:#ff5a5a}.task-alert-card.emanate:before{opacity:1}@media (prefers-reduced-motion: reduce){.task-alert-card{transform:none;transition:opacity .2s ease}.task-alert-card.emanate{transform:none}}.task-alert-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.task-alert-tag{font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.12rem .4rem;border-radius:var(--swx-radius-card);background:color-mix(in srgb,var(--swx-yellow) 18%,transparent);color:var(--swx-yellow)}.task-alert-hide{margin-left:auto;padding:.1rem .2rem;background:none;color:#fff6;font-size:.95rem;line-height:1;cursor:pointer}.task-alert-hide:hover{color:#fff}.task-alert-title{margin:0;font-size:.92rem;font-weight:600;line-height:1.5;color:#ffffffec;min-height:1.5em}.task-alert-caret{display:inline-block;width:2px;height:1em;margin-left:1px;vertical-align:text-bottom;background:var(--swx-yellow);animation:task-caret-blink 1s steps(1) infinite}@keyframes task-caret-blink{50%{opacity:0}}@media (prefers-reduced-motion: reduce){.task-alert-caret{display:none}}.task-alert-sub{margin:.3rem 0 0;font-size:.75rem;color:#ffffff8c}.task-alert-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.75rem}.task-alert-btn{padding:.32rem .7rem;border-radius:var(--swx-radius-pill);font-size:.78rem;font-weight:600;line-height:1;cursor:pointer;color:var(--swx-ink);background:#fff}.task-alert-btn.is-done{background:var(--swx-yellow)}.task-alert-btn.is-calendar{background:#ffffff1f;color:#fff;border:1px solid #ffffff33}.task-alert-btn.is-calendar.is-on{background:var(--swx-yellow);color:var(--swx-ink);border-color:transparent}.task-alert-btn.is-dismiss{margin-left:auto;padding-inline:.4rem;background:none;color:#ffffff8c}.task-alert-btn.is-dismiss:hover{color:#fff}.task-alert-btn:disabled{opacity:.5;cursor:default}.task-alert-empty{border-left-color:color-mix(in srgb,var(--swx-yellow) 60%,transparent)}.task-alert-undo{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;padding:.55rem .8rem;background:var(--swx-yellow);color:var(--swx-ink);border-radius:var(--swx-radius-card);box-shadow:0 12px 30px #00000026}.task-alert-undo-label{font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-alert-undo-btn{flex:none;padding:.28rem .8rem;background:var(--swx-ink);color:#fff;font-weight:700;font-size:.75rem;border-radius:var(--swx-radius-pill);cursor:pointer}.task-alert-undo-btn:disabled{opacity:.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.calendar-nav{display:flex;align-items:center;gap:.4rem}.calendar-navbtn{width:34px;height:34px;padding:0;display:grid;place-items:center;background:#e9e9e2;color:var(--swx-ink);font-size:1.2rem;border-radius:var(--swx-radius-pill)}.calendar-navbtn:hover{background:#ddd}.calendar-today{background:#e9e9e2;color:var(--swx-ink);padding:.45rem 1rem;font-weight:600;font-size:.85rem}.calendar-month{margin:0;font:700 1.3rem var(--swx-font-numeric);letter-spacing:.01em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.calendar-weekday{text-align:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#777;padding:.3rem 0;font-weight:600}.calendar-cell{min-height:96px;display:flex;flex-direction:column;gap:.2rem;padding:.35rem;border:1px solid #e6e6dc;border-radius:var(--swx-radius-card);background:#fff;cursor:pointer;overflow:hidden}.calendar-cell:hover{border-color:#cdcdc2}.calendar-cell.is-outside{background:#fbfbf8;color:#aaa}.calendar-cell.is-weekend{background:#fafaf7}.calendar-cell.is-holiday{background:#f6f3ea;border-color:#e6dfc8}.calendar-cell.is-today .calendar-daynum{background:var(--swx-yellow);color:var(--swx-ink);border-radius:var(--swx-radius-pill);width:1.6rem;height:1.6rem;display:grid;place-items:center}.calendar-cell.is-selected{border-color:var(--swx-yellow);box-shadow:0 0 0 2px color-mix(in srgb,var(--swx-yellow) 55%,transparent)}.calendar-daynum{font-family:var(--swx-font-numeric);font-variant-numeric:tabular-nums;font-weight:600;font-size:.85rem;align-self:flex-end}.calendar-holiday{font-size:.68rem;font-weight:600;color:#8a6d00;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event{display:flex;align-items:center;gap:.25rem;width:100%;padding:.15rem .35rem;border:none;border-radius:var(--swx-radius-card);background:#ecece4;color:var(--swx-ink);font-size:.7rem;line-height:1.2;text-align:left;cursor:pointer}.calendar-event:hover{background:#e2e2d8}.calendar-event.source-task{background:#e7eef6}.calendar-event.source-task:hover{background:#dbe6f2}.calendar-event.is-high{box-shadow:inset 3px 0 #a40000}.calendar-event.is-open{box-shadow:0 0 0 2px color-mix(in srgb,var(--swx-yellow) 70%,transparent)}.calendar-event-time{flex:none;font-weight:700;color:#6b6b63;font-size:.66rem}.calendar-event-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.calendar-add{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;padding:.8rem;border:1px solid #e6e6dc;border-radius:var(--swx-radius-card);background:#fafaf7}.calendar-add-day{font-family:var(--swx-font-numeric);font-weight:700;color:var(--swx-ink);white-space:nowrap}.calendar-add-title{flex:2;min-width:160px;margin:0}.calendar-add-detail{flex:3;min-width:180px;margin:0}.calendar-add-time{flex:0 0 auto;width:7.5rem;margin:0}.calendar-add-place{flex:2;min-width:150px;margin:0}.calendar-add-save{background:var(--swx-yellow);color:var(--swx-ink);font-weight:700}.calendar-add-cancel{background:#e9e9e2;color:#555}.calendar-legend{margin:.9rem 0 0;font-size:.8rem}.calendar-drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;justify-content:flex-end;background:#0003}.calendar-drawer{width:min(360px,90vw);height:100%;display:flex;flex-direction:column;gap:1rem;padding:1.4rem;background:#fff;box-shadow:-8px 0 24px #0000001f;overflow-y:auto;animation:calendar-drawer-in .18s ease-out}@keyframes calendar-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.calendar-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.calendar-drawer-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:#777}.calendar-drawer-close{width:30px;height:30px;padding:0;display:grid;place-items:center;background:#e9e9e2;color:var(--swx-ink);font-size:.8rem;border-radius:var(--swx-radius-pill)}.calendar-drawer-close:hover{background:#ddd}.calendar-drawer-title{margin:0;font-size:1.25rem;font-weight:700;line-height:1.25}.calendar-drawer-facts{display:flex;flex-direction:column;gap:1rem;margin:0}.calendar-drawer-fact dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:#777;margin-bottom:.2rem}.calendar-drawer-fact dd{margin:0;font-size:.95rem;line-height:1.4}.calendar-drawer-date{display:block;font-weight:600}.calendar-drawer-time{display:block;color:#6b6b63;font-size:.85rem}.calendar-drawer-note{margin:0;font-size:.8rem}.calendar-drawer-remove{margin-top:auto;align-self:flex-start;background:#e9e9e2;color:#a40000;font-weight:600;padding:.5rem 1.1rem}.calendar-drawer-remove:hover{background:#f0dede}.font-numeric{font-family:var(--swx-font-numeric);font-variant-numeric:tabular-nums}@media (max-width: 700px){.calendar-cell{min-height:72px}.calendar-event-title,.calendar-holiday{font-size:.62rem}}.label-workspace{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:1.5rem;align-items:start}.label-image{background:#fafaf7;border:1px solid #eee;border-radius:var(--swx-radius-card);overflow:hidden;display:grid;place-items:center;aspect-ratio:9/16;max-height:520px}.label-image img{width:100%;height:100%;object-fit:contain}.label-image-empty{padding:2rem;text-align:center}.label-form{display:grid;gap:.9rem;align-content:start}.label-form h2{margin:0;font:700 1.3rem var(--swx-font-sans),sans-serif}.label-form .ai-field{display:grid;gap:.35rem;font-size:.85rem;color:#555}.tag-chip:not(.primary):not(.secondary){background:#fafaf7;border:1px solid #e2e2da;font-weight:600;font-size:.85rem}@media (max-width: 900px){.label-workspace{grid-template-columns:1fr}}.connection-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.4rem}.connection-head h2{margin:0;font:700 1.25rem var(--swx-font-sans),sans-serif}.connection-soon{opacity:.7}.connection-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-bottom:1rem}.connection-tile{display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem;background:#fff;border:1px solid #f0e0da;border-radius:var(--swx-radius-card);color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.connection-tile:hover{border-color:var(--swx-yellow);box-shadow:0 2px 10px #0000000f;transform:translateY(-1px)}.connection-tile-icon{font-size:1.6rem;line-height:1}.connection-tile-body{display:flex;flex-direction:column;gap:.15rem;min-width:0;margin-right:auto}.connection-tile-title{font:700 1.05rem var(--swx-font-sans),sans-serif}.connection-tile-sub{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connector-head-actions{margin-left:auto;display:flex;align-items:center;gap:.6rem}.connector-refresh{padding:.3rem .7rem;font-size:.8rem}.connector-meta{margin:0 0 .8rem;font-size:.85rem}.connector-subhead{margin:1.1rem 0 .4rem;font:700 .95rem var(--swx-font-sans),sans-serif}.connector-metrics{margin-top:1rem}.connector-logs{list-style:none;margin:.3rem 0 0;padding:0;display:grid;gap:.5rem}.connector-log{display:grid;gap:.15rem;padding:.55rem .7rem;background:#fbf7f5;border:1px solid #f0e0da;border-radius:var(--swx-radius-card)}.connector-log-meta{font-size:.72rem}.connector-log-msg{font-family:ui-monospace,monospace;font-size:.8rem;word-break:break-word}.connector-costnote{margin:.5rem 0 0;font-size:.78rem}.cost-breakdown{list-style:none;margin:.3rem 0 0;padding:0;display:grid;gap:.4rem}.cost-row{display:grid;grid-template-columns:minmax(7rem,12rem) 1fr auto;align-items:center;gap:.7rem;font-size:.82rem}.cost-row-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cost-row-track{height:.55rem;background:#f0e0da;border-radius:var(--swx-radius-card);overflow:hidden}.cost-row-bar{display:block;height:100%;background:#7c7570;border-radius:var(--swx-radius-card)}.cost-row-value{font-size:.82rem;white-space:nowrap}.budget-list{list-style:none;margin:.2rem 0 0;padding:0;display:grid;gap:.7rem}.budget-card{display:grid;gap:.4rem;padding:.7rem .85rem;background:#fff;border:1px solid #f0e0da;border-radius:var(--swx-radius-card)}.budget-card-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.budget-card-name{font-weight:700}.budget-bar-line{padding:.1rem 0}.budget-bar{position:relative;display:block;height:.7rem;background:#f0e0da;border-radius:var(--swx-radius-card);overflow:hidden}.budget-bar-fill{display:block;height:100%;border-radius:var(--swx-radius-card);transition:width .3s ease}.budget-bar-ok .budget-bar-fill{background:#1a7f37}.budget-bar-warn .budget-bar-fill{background:#f5871f}.budget-bar-over .budget-bar-fill{background:#c1121f}.budget-bar-unknown .budget-bar-fill{background:#b8ada7}.budget-bar-tick{position:absolute;top:0;bottom:0;width:2px;background:#00000059;transform:translate(-1px)}.budget-card-meta{font-size:.8rem}.badge.budget-status-ok{background:#1a7f37;color:#fff}.badge.budget-status-warn{background:#b45309;color:#fff}.badge.budget-status-over{background:#c1121f;color:#fff}.badge.budget-status-unknown{background:#ece3df;color:#6b5f59}.budget-card-actions{display:flex;gap:1rem;font-size:.82rem}.link-button.danger{color:#c1121f}.budget-form{display:grid;gap:.7rem;padding:.85rem;margin:.2rem 0 .9rem;background:#fbf7f5;border:1px solid #f0e0da;border-radius:var(--swx-radius-card)}.budget-form-row{display:grid;grid-template-columns:2fr 1fr;gap:.7rem}.budget-field{display:grid;gap:.25rem;font-size:.8rem;font-weight:600}.budget-field input{padding:.45rem .55rem;border:1px solid #e0cfc8;border-radius:var(--swx-radius-card);font:inherit;font-weight:400}.budget-check{display:flex;align-items:center;gap:.5rem;font-size:.82rem}.budget-form-actions{display:flex;align-items:center;gap:1rem}@media (max-width: 640px){.budget-form-row{grid-template-columns:1fr}.cost-row{grid-template-columns:minmax(5rem,8rem) 1fr auto}}.tg-notice,.tg-linked{text-align:left;padding:.8rem 1rem;border-radius:var(--swx-radius-card)}.tg-linked{background:#e7f6ec;color:#125a2c}.tg-notice{background:#fafaf7;color:#666}.tg-link{display:grid;gap:.9rem;margin-top:.4rem}.tg-code-card{display:grid;gap:.6rem;justify-items:start;padding:1rem;border:1px solid #e6e6dc;border-radius:var(--swx-radius-card);background:#fafaf7}.tg-code-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.tg-code-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.tg-code{font:700 1.4rem ui-monospace,monospace;letter-spacing:.18em;padding:.4rem .8rem;background:#fff;border:1px solid #e2e2da;border-radius:var(--swx-radius-card)}.tg-instructions{margin:0;font-size:.85rem}.tg-expires{margin:0;font-size:.78rem}.tg-messages{margin-top:1.4rem}.tg-messages-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.tg-messages-head h3{margin:0;font:700 1.05rem var(--swx-font-sans),sans-serif}.tg-empty{text-align:left;padding:1.2rem;background:#fafaf7;border-radius:var(--swx-radius-card);color:#666}.tg-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.tg-row{display:grid;grid-template-columns:1fr auto;align-items:start;gap:1rem;padding:.9rem 1rem;border:1px solid #eee;border-radius:var(--swx-radius-card);background:#fafaf7}.tg-row.is-added{border-left:3px solid #1a7f37}.tg-row-body{display:grid;gap:.35rem;min-width:0}.tg-row-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.tg-sender{font-weight:700}.tg-received{font-size:.78rem}.tg-forward{font-size:.8rem}.tg-snippet{margin:0;white-space:pre-wrap;word-break:break-word}.tg-row-actions{display:grid;gap:.4rem;justify-items:end;text-align:right;max-width:220px}.tg-msg{font-size:.8rem}.tg-hint{color:#8a6d00}@media (max-width: 700px){.tg-row{grid-template-columns:1fr}.tg-row-actions{justify-items:start;text-align:left;max-width:none}}.assistant{display:flex;flex-direction:column;gap:1rem}.assistant-modelbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.85rem;color:#555}.assistant-modelbar label{font-weight:600}.assistant-modelbar select{max-width:280px;margin:0;border:1px solid #ccc;border-radius:var(--swx-radius-card);padding:.45rem .6rem;background:#fff;font:inherit}.assistant-thread{display:flex;flex-direction:column;gap:.8rem;padding:1.2rem;min-height:340px;max-height:min(58vh,620px);overflow-y:auto;background:#fff;border:1px solid #e2e2da;border-radius:var(--swx-radius-card);box-shadow:0 4px 16px #11111108}.assistant-empty{margin:auto;text-align:center;color:#888;max-width:44ch;display:grid;gap:.5rem}.assistant-empty-icon{font-size:2rem}.assistant-msg{display:flex}.assistant-msg.user{justify-content:flex-end}.assistant-msg.assistant{justify-content:flex-start}.assistant-bubble{max-width:min(88%,68ch);padding:.7rem 1rem;border-radius:var(--swx-radius-card);line-height:1.55;white-space:pre-wrap;word-break:break-word}.assistant-msg.user .assistant-bubble{background:var(--swx-ink);color:#fff}.assistant-msg.assistant .assistant-bubble{background:#fafaf7;border:1px solid #eee;color:var(--swx-ink)}.assistant-typing{display:inline-flex;gap:.3rem;align-items:center}.assistant-typing span{width:7px;height:7px;border-radius:var(--swx-radius-pill);background:#bbb;animation:assistant-blink 1.2s infinite ease-in-out}.assistant-typing span:nth-child(2){animation-delay:.2s}.assistant-typing span:nth-child(3){animation-delay:.4s}@keyframes assistant-blink{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion: reduce){.assistant-typing span{animation:none}}.assistant-composer{display:flex;gap:.7rem;align-items:flex-end}.assistant-composer textarea{flex:1;margin:0;max-width:none;border:1px solid #ccc;border-radius:var(--swx-radius-card);padding:.7rem;background:#fff;font:inherit;line-height:1.5;resize:none}.assistant-send{flex:none}.assistant-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.assistant-hint{font-size:.78rem;color:#999;margin:0}.assistant-toggle{background:#f0f0e8;color:var(--swx-ink);border-radius:var(--swx-radius-card);padding:.3rem .55rem;font-size:1rem;line-height:1;cursor:pointer}.assistant-toggle[aria-expanded=true]{background:var(--swx-yellow)}.assistant-dock{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;justify-content:flex-end}.assistant-scrim{position:absolute;top:0;right:0;bottom:0;left:0;border:0;margin:0;padding:0;background:#0006;cursor:pointer}.assistant-panel{position:relative;width:min(420px,100%);height:100%;background:var(--swx-canvas);border-left:1px solid #e2e2da;box-shadow:-12px 0 40px #0000002e;display:flex;flex-direction:column;padding:1rem 1.1rem 1.1rem}.assistant-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.assistant-panel-title{font:700 1.05rem var(--swx-font-sans),sans-serif}.assistant-panel-close{background:#e9e9e2;color:#555;width:30px;height:30px;padding:0;display:grid;place-items:center;border-radius:var(--swx-radius-pill);font-size:.85rem;line-height:1}.assistant-panel-close:hover{background:#ddd}.assistant--panel{flex:1;min-height:0}.assistant--panel .assistant-thread{flex:1;min-height:0;max-height:none}@keyframes assistant-slide{0%{transform:translate(100%)}to{transform:translate(0)}}@media (prefers-reduced-motion: no-preference){.assistant-panel{animation:assistant-slide .18s ease}}.env-hero{display:flex;align-items:center;gap:1.3rem;border-width:2px}.env-mark{flex:none;border-radius:var(--swx-radius-card)}.env-verdict{display:grid;gap:.5rem}.env-verdict-lead{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#777}.env-badge{justify-self:start;padding:.35rem 1rem;border-radius:var(--swx-radius-pill);font:700 1.6rem var(--swx-font-sans),sans-serif;letter-spacing:.04em}.env-blurb{margin:.2rem 0 0;color:#555;max-width:60ch}.env-mismatch{text-align:left}.env-config{grid-template-columns:200px 1fr}.env-config-row{display:contents}.env-config dt{color:#777}.env-config dd code{word-break:break-all}.metric strong,.large{font-family:var(--swx-font-numeric);font-variant-numeric:tabular-nums}table,.cov-pct,.cov-lines,.score-list li{font-variant-numeric:tabular-nums}.mtx-table{width:100%;border-collapse:collapse;font-size:.8rem}.mtx-table th,.mtx-table td{padding:.3rem .35rem;border-bottom:1px solid #f0f0ec;white-space:nowrap;text-align:center}.mtx-table thead th{position:sticky;top:0;background:#fafaf7;font-size:.68rem;text-transform:none}.mtx-rowhead{position:sticky;left:0;background:#fff;text-align:left!important;font-weight:600;z-index:1}.mtx-num{width:3.2rem;max-width:none;margin:0;padding:.3rem .25rem;text-align:center;font-family:var(--swx-font-numeric);font-variant-numeric:tabular-nums}.chip-toggles{display:flex;flex-wrap:wrap;gap:.4rem}.chip-toggle{background:#ecece4;color:#333;border-radius:var(--swx-radius-pill);padding:.45rem .85rem;font-weight:600;font-size:.82rem}.chip-toggle.on{background:var(--swx-yellow);color:var(--swx-ink)}.asg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.asg-row{display:grid;grid-template-columns:minmax(8rem,11rem) 1fr 3.2rem 3rem;align-items:center;gap:.6rem;font-size:.82rem}.asg-bar{height:.55rem;background:#e9e9e2;border-radius:100px;overflow:hidden}.asg-fill{display:block;height:100%;background:var(--swx-ink);border-radius:100px}.asg-row.win .asg-fill{background:var(--swx-yellow)}.asg-row.win .asg-label{font-weight:700}.asg-mult{font-family:var(--swx-font-numeric);font-variant-numeric:tabular-nums;font-size:.72rem;color:#666;text-align:right}.asg-final{font-family:var(--swx-font-numeric);font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.band-high{color:#1a7f37}.band-medium{color:#9a7500}.band-low{color:#c1121f}.tuner-status{display:inline-block;padding:.2rem .6rem;border-radius:var(--swx-radius-pill);background:#ecece4;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.tuner-status.published{background:#dff2e4;color:#1a7f37}.tuner-status.pending_approval{background:#fdeecf;color:#9a7500}.theme-picker{position:relative;display:inline-flex}.theme-toggle{background:#f0f0e8;color:var(--swx-ink);border-radius:var(--swx-radius-card);padding:.3rem .55rem;font-size:1rem;line-height:1;cursor:pointer}.theme-toggle[aria-expanded=true]{background:var(--swx-yellow)}.theme-menu{position:absolute;top:calc(100% + .5rem);right:0;z-index:40;width:264px;background:#fff;border:1px solid #e2e2da;border-radius:var(--swx-radius-card);box-shadow:0 12px 30px #0002;padding:.6rem}.theme-menu-head{margin:0 0 .5rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#666}.theme-list{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.15rem}.theme-row{display:flex;align-items:center;gap:.25rem;border-radius:var(--swx-radius-card)}.theme-row.active{background:#faf7e0}.theme-select{flex:1;min-width:0;display:flex;align-items:center;gap:.55rem;background:transparent;padding:.4rem .5rem;border-radius:var(--swx-radius-card);cursor:pointer;text-align:left}.theme-select:hover{background:#f5f5ef}.theme-swatch{display:inline-flex;width:34px;height:20px;border-radius:var(--swx-radius-card);overflow:hidden;border:1px solid #d8d8cf;flex:none}.theme-swatch span{flex:1}.theme-name{flex:1;min-width:0;font-size:.88rem;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-check{color:var(--swx-verified);font-weight:700}.theme-edit,.theme-lock{background:transparent;padding:.25rem;font-size:.85rem;line-height:1;cursor:pointer}.theme-lock{cursor:default;opacity:.6}.theme-new{width:100%;background:#f0f0e8;color:var(--swx-ink);border-radius:var(--swx-radius-pill);padding:.45rem;font-size:.85rem;font-weight:600;cursor:pointer}.theme-new:hover{background:#e8e8de}.theme-ambience{margin-top:.7rem;padding-top:.7rem;border-top:1px solid #ecece4}.ambience-toggle{display:flex;align-items:center;gap:.55rem;cursor:pointer}.ambience-toggle input{position:absolute;width:1px;height:1px;opacity:0}.ambience-track{position:relative;flex:none;width:34px;height:20px;border-radius:var(--swx-radius-pill);background:#d8d8ce;transition:background .15s ease}.ambience-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--swx-radius-profile);background:#fff;box-shadow:0 1px 2px #0000001f;transition:transform .15s ease}.ambience-toggle input:checked+.ambience-track{background:var(--swx-yellow)}.ambience-toggle input:checked+.ambience-track .ambience-thumb{transform:translate(14px)}.ambience-toggle input:focus-visible+.ambience-track{outline:3px solid var(--swx-yellow);outline-offset:2px}.ambience-label{flex:1;font-size:.85rem;font-weight:600;color:var(--swx-ink)}.ambience-hint{margin:.4rem 0 0;font-size:.72rem;line-height:1.35;color:#777}.marketplace-ambience{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:0;pointer-events:none}.dashboard:has(.marketplace-ambience) .dashboard-content{position:relative;z-index:1}.dashboard:has(.marketplace-ambience) .tile{background:color-mix(in srgb,var(--swx-canvas) 90%,transparent);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.dashboard:has(.marketplace-ambience) .dash-head-text{display:inline-block;padding:.3rem 1rem .5rem;margin-left:-1rem;border-radius:var(--swx-radius-card);background:color-mix(in srgb,var(--swx-canvas) 88%,transparent);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.theme-editor{display:flex;flex-direction:column;gap:.6rem}.theme-field{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#444}.theme-field>span{font-weight:600}.theme-field input:not([type=color]){border:1px solid #d8d8cf;border-radius:var(--swx-radius-card);padding:.4rem .55rem;font:inherit}.theme-color{flex-direction:row;align-items:center;justify-content:space-between}.theme-color input[type=color]{width:44px;height:28px;padding:0;border:1px solid #d8d8cf;border-radius:var(--swx-radius-card);background:none;cursor:pointer}.theme-reset{background:transparent;color:#666;font-size:.72rem;text-decoration:underline;cursor:pointer;padding:0}.theme-editor-actions{display:flex;align-items:center;gap:.5rem;margin-top:.2rem}.theme-editor-spacer{flex:1}.theme-delete{background:transparent;color:var(--swx-await);font-size:.8rem;font-weight:600;cursor:pointer;padding:0}.theme-save{background:var(--swx-yellow);color:var(--swx-ink);border-radius:var(--swx-radius-pill);padding:.4rem .9rem;font-size:.85rem;font-weight:700;cursor:pointer}.theme-save:disabled{opacity:.5;cursor:not-allowed}.dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dash-head-text{min-width:0}.customize-done{flex:none;background:var(--swx-yellow);color:var(--swx-ink);border-radius:var(--swx-radius-pill);padding:.5rem 1.2rem;font-size:.9rem;font-weight:700;cursor:pointer}.customize-hint{margin:0 0 1rem;color:#666;font-size:.9rem}.rearrange-tip{margin:1.4rem 0 0;color:#999;font-size:.82rem}.tile-slot{position:relative;display:block;width:100%;padding:0;border:0;background:none;font:inherit;text-align:left;text-decoration:none;color:inherit;cursor:pointer;touch-action:none}.tile-grid.editing .tile-slot{cursor:grab}.tile-grid.editing .tile-slot:active{cursor:grabbing}.tile-slot:focus-visible{outline:3px solid var(--swx-yellow);outline-offset:2px;border-radius:var(--swx-radius-card)}.tile-slot .tile{width:100%;height:100%}.tile-slot-dragging{opacity:.4}.tile-editing:hover{border-color:#e2e2da;box-shadow:0 4px 16px #11111108}.tile-editing:hover .tile-go{color:#bbb;transform:none}@keyframes tile-wiggle-a{0%,to{transform:rotate(-.7deg)}50%{transform:rotate(.7deg)}}@keyframes tile-wiggle-b{0%,to{transform:rotate(.7deg)}50%{transform:rotate(-.7deg)}}.tile-wiggle{animation:tile-wiggle-a .26s ease-in-out infinite;transform-origin:center}.tile-slot:nth-child(2n) .tile-wiggle{animation-name:tile-wiggle-b}.tile-slot:nth-child(3n) .tile-wiggle{animation-delay:-.08s}.tile-slot:nth-child(4n) .tile-wiggle{animation-delay:-.15s}.tile-combine{border-color:var(--swx-yellow);box-shadow:0 0 0 3px var(--swx-yellow) inset;animation:none}.tile-overlay{cursor:grabbing;transform:scale(1.04);box-shadow:0 20px 44px #1113;border-color:var(--swx-yellow)}.tile-folder{cursor:pointer}.folder-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;width:2.4rem;height:2.4rem;padding:4px;background:#f3f2ea;border-radius:var(--swx-radius-card);font-size:.85rem;line-height:1;place-items:center}.folder-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:grid;place-items:center;padding:1.5rem}.folder-scrim{position:absolute;top:0;right:0;bottom:0;left:0;border:0;margin:0;padding:0;background:#0006;cursor:pointer}.folder-panel{position:relative;width:min(720px,100%);max-height:80vh;overflow-y:auto;background:#fff;border-radius:var(--swx-radius-card);box-shadow:0 24px 60px #0003;padding:1.4rem 1.6rem 1.6rem}.folder-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.folder-panel-title{font:700 1.4rem var(--swx-font-sans),sans-serif;margin:0}.folder-name-input{flex:1;min-width:0;font:700 1.3rem var(--swx-font-sans),sans-serif;border:1px solid #d8d8cf;border-radius:var(--swx-radius-card);padding:.35rem .6rem}.folder-close{flex:none;background:#f0f0e8;border-radius:var(--swx-radius-card);padding:.3rem .55rem;font-size:1rem;line-height:1;cursor:pointer}.folder-apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.folder-app{display:flex;flex-direction:column;gap:.5rem}.folder-app-tile{min-height:150px}.folder-moveout{align-self:center;background:transparent;color:#666;font-size:.8rem;font-weight:600;text-decoration:underline;cursor:pointer;padding:0}.folder-moveout:hover{color:var(--swx-await)}@media (prefers-reduced-motion: reduce){.tile-wiggle{animation:none}}.drive-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.drive-usage{color:#6b6b63;font-size:.9rem}.drive-toolbar{display:flex;gap:.5rem;flex-wrap:wrap}.drive-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem;padding:.4rem 0;border-bottom:1px solid #e9e9e2;margin-bottom:.5rem}.drive-crumb-wrap{display:inline-flex;align-items:center}.drive-crumb-sep{color:#b7b7ad;margin:0 .15rem}.drive-crumb{border-radius:var(--swx-radius-card);padding:.05rem .2rem;transition:background .12s ease,box-shadow .12s ease}.drive-crumb.drop-target{background:#fffbe6;box-shadow:inset 0 0 0 1px var(--swx-yellow)}.drive-list{list-style:none;margin:0;padding:0}.drive-row{display:flex;align-items:center;gap:.6rem;padding:.45rem .4rem;border-bottom:1px solid #f0f0ec;border-radius:var(--swx-radius-card);transition:background .12s ease,box-shadow .12s ease}.drive-row.dragging{opacity:.4}.drive-row.can-drop{background:#fffdf0;box-shadow:inset 0 0 0 1px #ffd1008c}.drive-row.drop-target{background:#fff7c2;box-shadow:inset 0 0 0 2px var(--swx-yellow)}.drive-grip{flex:none;border:0;background:none;color:#b7b7ad;cursor:grab;font-size:1rem;line-height:1;padding:.25rem .15rem;border-radius:var(--swx-radius-card);touch-action:none}.drive-grip:hover{color:#6b6b63;background:#f4f4ee}.drive-grip:active{cursor:grabbing}.drive-open{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:.5rem;border:0;background:none;text-align:left;cursor:grab;touch-action:none;padding:.35rem .4rem;border-radius:var(--swx-radius-card);color:inherit;font:inherit}.drive-open:hover{background:#f4f4ee}.drive-open:active{cursor:grabbing}.drive-row.trashed .drive-open{cursor:default}.drive-ico{flex:none}.drive-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-size{flex:none;width:6rem;text-align:right;color:#6b6b63;font-size:.85rem}.drive-modified{flex:none;width:7rem;text-align:right;color:#6b6b63;font-size:.85rem}.drive-actions{flex:none;display:flex;gap:.75rem;justify-content:flex-end}.drive-drag-chip{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--swx-yellow);border-radius:var(--swx-radius-card);box-shadow:0 8px 24px #14140a24;padding:.4rem .7rem;font-size:.9rem;cursor:grabbing}.drive-empty{display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:2rem 1rem}.drive-empty-actions{display:flex;gap:.5rem}@media (max-width: 640px){.drive-modified{display:none}.drive-size{width:4.5rem}}.drive-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:1rem}.drive-dialog-scrim{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#14140a59;cursor:pointer}.drive-dialog-panel{position:relative;z-index:1;width:min(28rem,100%);background:#fff;border-radius:var(--swx-radius-card);box-shadow:0 20px 60px #14140a40;padding:1.25rem 1.25rem 1rem;display:flex;flex-direction:column;gap:.85rem}.drive-dialog-title{margin:0;font-size:1.1rem}.drive-dialog-message{margin:0;color:#4a4a44;font-size:.92rem}.drive-dialog-input{width:100%;padding:.55rem .7rem;border:1px solid #d8d8cf;border-radius:var(--swx-radius-card);font:inherit}.drive-dialog-input:focus-visible{outline:none;border-color:var(--swx-yellow);box-shadow:0 0 0 3px #ffd10059}.drive-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.button.danger{background:#c0492f;border-color:#c0492f;color:#fff}.button.danger:hover{background:#a83c25;border-color:#a83c25}
