:root{--ink:#1f2937;--ink-strong:#0f172a;--ink-muted:#64748b;--ink-faint:#94a3b8;--surface:#fff;--surface-sunken:#f8fafc;--plane:#f4f6fa;--line:#e2e8f0;--line-soft:#eef2f7;--brand:#2563eb;--brand-dark:#1d4ed8;--brand-tint:#eaf1ff;--status-empty:#94a3b8;--status-low:#2563eb;--status-medium:#0ca30c;--status-high:#fab219;--status-full:#d03b3b;--radius:14px;--shadow:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0f;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;font-size:15px}*{box-sizing:border-box}body{background:var(--plane);min-width:320px;color:var(--ink);margin:0}button,input,textarea,select{font:inherit}#app,.app-shell{min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:18px;height:68px;padding:0 26px;display:flex}.topbar-brand{align-items:center;gap:14px;min-width:0;display:flex}.logo-plate{flex:none;line-height:0;display:block}.logo-plate img{border-radius:8px;width:auto;height:44px;display:block}.topbar-brand h1{color:var(--ink-strong);letter-spacing:-.01em;margin:0;font-size:1.32rem}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.main-nav{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;align-items:flex-end;height:48px;padding:0 26px;display:flex;position:sticky;top:0;overflow-x:auto}.main-nav-inner{align-items:flex-end;gap:26px;width:100%;height:100%;display:flex}.nav-item{color:#526079;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;height:100%;padding:0 2px;font-size:.93rem;font-weight:500;transition:color .15s,border-color .15s}.nav-item:hover{color:var(--brand-dark)}.nav-item-active{color:var(--brand);border-bottom-color:var(--brand);font-weight:700}.tenant-switch{border:1px solid var(--line);background:var(--surface-sunken);border-radius:10px;padding:3px;display:inline-flex}.tenant-option{color:#526079;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:6px 13px;font-size:.84rem;font-weight:600}.tenant-option:hover{color:var(--brand-dark)}.tenant-option-active{background:var(--surface);color:var(--brand-dark);box-shadow:0 1px 2px #0f172a1f}.icon-button{border:1px solid var(--line);background:var(--surface);color:#475569;cursor:pointer;border-radius:10px;place-items:center;width:40px;height:40px;display:grid;position:relative}.icon-button:hover{color:var(--ink-strong);border-color:#c9d6ea}.badge{background:var(--status-full);color:#fff;border:2px solid var(--surface);border-radius:999px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:.7rem;font-weight:700;display:grid;position:absolute;top:-6px;right:-6px}.alerts-menu,.user-menu{position:relative}.user-trigger{color:#475569;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:5px 10px 5px 6px;display:flex}.user-trigger:hover{background:var(--surface-sunken);border-color:var(--line)}.user-avatar{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:.82rem;font-weight:700;display:grid;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%}.user-copy{flex-direction:column;align-items:flex-start;line-height:1.25;display:flex}.user-copy strong{color:var(--ink-strong);font-size:.88rem}.user-copy span{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.76rem;overflow:hidden}.dropdown{background:var(--surface);border:1px solid var(--line);z-index:40;border-radius:12px;min-width:260px;max-height:420px;padding:8px;display:none;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 18px 44px #0f172a29}.dropdown-open{display:block}.alerts-dropdown{width:340px}.dropdown-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin:4px 8px 8px;font-size:.74rem;font-weight:700}.dropdown-empty{color:var(--ink-muted);margin:0;padding:10px;font-size:.86rem}.alert-row{border-left:3px solid var(--status-high);background:var(--surface-sunken);border-radius:9px;margin-bottom:6px;padding:9px 10px}.alert-row-critical{border-left-color:var(--status-full)}.alert-title{color:var(--ink-strong);margin:0;font-size:.86rem;font-weight:600}.alert-detail{color:var(--ink-muted);margin:2px 0 0;font-size:.78rem}.dropdown-email{color:var(--ink-muted);border-bottom:1px solid var(--line-soft);overflow-wrap:anywhere;margin:0;padding:8px 10px;font-size:.82rem}.dropdown-item{text-align:left;color:#334155;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;margin-top:4px;padding:9px 10px;font-size:.88rem;display:block}.dropdown-item:hover{background:var(--surface-sunken)}.dropdown-item-danger{color:#b91c1c}.content{width:min(1480px,100%);min-width:0;margin:0 auto;padding:22px 26px 44px}.hero-strip{border:1px solid var(--line);background:linear-gradient(105deg,#fff 0%,#f4f8ff 45%,#eaf1ff 100%);border-radius:16px;align-items:center;gap:30px;min-height:136px;margin-bottom:20px;padding:24px 32px;display:flex;position:relative;overflow:hidden}.hero-strip:before{content:"";z-index:0;background:radial-gradient(circle,#93b4f52e,#0000 68%);border-radius:50%;width:260px;height:260px;position:absolute;top:-90px;left:-70px}.hero-greeting{z-index:1;flex:auto;min-width:0;position:relative}.hero-greeting h2{color:var(--ink-strong);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.68rem;font-weight:800;overflow:hidden}.hero-greeting p{color:var(--ink-muted);margin:7px 0 0;font-size:.95rem}.hero-emoji{transform-origin:70% 70%;animation:2.8s ease-in-out infinite hero-wave;display:inline-block}.hero-art{flex:none;width:clamp(240px,27vw,400px);height:108px;animation:6s ease-in-out infinite hero-float}.hero-image{object-fit:cover;object-position:center;width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 14% 86%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 14% 86%,#0000 100%)}.hero-quote{z-index:1;flex:none;position:relative}.hero-quote p{color:#4a5b7a;margin:0;font-size:.97rem;font-style:italic;line-height:1.6}.hero-quote-rule{background:var(--brand);border-radius:2px;width:40px;height:3px;margin-top:11px;display:block}.hero-clock{z-index:1;text-align:right;flex:none;min-width:176px;position:relative}.hero-date{color:var(--ink-muted);white-space:nowrap;margin:0;font-size:.85rem}.hero-time{color:var(--ink-strong);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:1.85rem;font-weight:800}@keyframes hero-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes hero-wave{0%,60%,to{transform:rotate(0)}70%{transform:rotate(14deg)}80%{transform:rotate(-8deg)}90%{transform:rotate(10deg)}}@media (prefers-reduced-motion:reduce){.hero-art,.hero-emoji{animation:none!important}}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.section-heading h2{color:var(--ink-strong);letter-spacing:-.01em;margin:0;font-size:1.22rem}.section-heading p{color:var(--ink-muted);margin:3px 0 0;font-size:.82rem}.trend-badge{vertical-align:middle;border-radius:999px;align-items:center;gap:4px;margin-left:10px;padding:3px 9px;font-size:.76rem;font-weight:700;display:inline-flex}.trend-up{color:#15630f;background:#e6f6e6}.trend-down{color:#a02020;background:#fdeaea}.search-field{border:1px solid var(--line);background:var(--surface);height:38px;color:var(--ink-faint);border-radius:9px;flex:320px;align-items:center;gap:9px;padding:0 13px;display:flex}.search-field:focus-within{border-color:#93b4f7;box-shadow:0 0 0 3px #3b82f61f}.search-field input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:.88rem}.search-field input::placeholder{color:var(--ink-faint)}.page-head{flex-wrap:wrap;align-items:center;gap:13px;margin-bottom:18px;display:flex}.page-icon,.panel-icon,.tile-icon,.license-glyph{border-radius:11px;flex:none;place-items:center;display:grid}.page-icon{width:42px;height:42px}.panel-icon{border-radius:9px;width:32px;height:32px}.page-title h2{color:var(--ink-strong);letter-spacing:-.01em;margin:0;font-size:1.32rem}.page-title p{color:var(--ink-muted);margin:3px 0 0;font-size:.83rem}.page-tools{flex-wrap:wrap;align-items:center;gap:9px;margin-left:auto;display:flex}.tone-blue{color:#1d4ed8;background:#e6efff}.tone-green{color:#147a14;background:#e4f7e6}.tone-violet{color:#6d3fd4;background:#f0eaff}.tone-amber{color:#8a5a00;background:#fdf2da}.tone-red{color:#a02020;background:#fdeaea}.tone-indigo{color:#3f46c4;background:#e8eaff}.tone-teal{color:#0f766e;background:#e0f5f3}.tone-slate{color:#475569;background:#eef2f7}.primary-button{border:1px solid var(--brand);color:#fff;cursor:pointer;background:linear-gradient(#3b82f6 0%,#2563eb 100%);border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-size:.88rem;font-weight:600;display:inline-flex;box-shadow:0 8px 18px #2563eb38}.primary-button:disabled{opacity:.6;cursor:not-allowed}.ghost-button{background:var(--surface);border:1px solid var(--line);color:#334155;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:.86rem;font-weight:600;display:inline-flex}.ghost-button:hover:not(:disabled){color:var(--brand-dark);border-color:#b9cdf0}.ghost-button:disabled{opacity:.6;cursor:not-allowed}.link-button{color:var(--brand);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:.84rem;font-weight:600;display:inline-flex}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{color:var(--ink-faint);cursor:not-allowed}.full-width{width:100%}.field-label{color:var(--ink-muted);margin-bottom:5px;font-size:.8rem;display:block}.field-input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;min-width:0;padding:8px 12px;font-size:.86rem}.field-input.compact{padding:6px 10px;font-size:.82rem}.field-input:focus{border-color:#93b4f7;outline:none;box-shadow:0 0 0 3px #3b82f61f}.toolbar-toggle{color:var(--ink-muted);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;font-size:.84rem;display:inline-flex}.panel-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.panel-head{flex-wrap:wrap;align-items:center;gap:11px;margin-bottom:14px;display:flex}.panel-head.standalone{margin-bottom:12px}.panel-title h3{color:var(--ink-strong);margin:0;font-size:1rem}.panel-title p{color:var(--ink-muted);margin:2px 0 0;font-size:.79rem}.panel-tools{flex-wrap:wrap;align-items:center;gap:14px;margin-left:auto;display:flex}.section-block{margin-top:18px}.split-row{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;margin-top:16px;display:grid}.status-card{background:var(--brand-tint);border-radius:var(--radius);border:1px solid #d3e2ff;margin:8px 0;padding:16px 18px}.status-card-error{background:#fef2f2;border-color:#fbd5d5}.status-title{color:var(--ink-strong);margin:0;font-weight:700}.status-copy{color:var(--ink-muted);margin:4px 0 0;font-size:.86rem}.status-card .primary-button{margin-top:12px}.danger-zone{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.delete-confirm-field{color:var(--ink-muted);margin:12px 0 4px;font-size:.86rem;display:block}.delete-confirm-field .field-input{width:100%;margin-top:6px;display:block}.delete-steps{gap:8px;margin:10px 0 14px;padding-left:18px;display:grid}.delete-step-name{color:var(--ink-strong);font-size:.86rem;font-weight:650;display:block}.delete-step-detail{color:var(--ink-muted);font-size:.84rem;display:block}.delete-step.is-skipped .delete-step-name{color:var(--ink-muted);font-weight:550}.provision-licences{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.modal-hint-warning{color:#9a3412}.select-head{width:64px}.select-all{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.selection-note{color:var(--ink-muted);align-items:center;gap:10px;margin:10px 2px 0;font-size:.84rem;display:flex}.grid-note{color:var(--ink-muted);margin:14px 2px 0;font-size:.82rem}.tile-row{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.tile-row-compact{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.stat-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:13px;padding:16px 18px;display:flex}.stat-tile-alert{background:linear-gradient(snow 0%,#fff 55%);border-color:#f4cfcf}.tile-icon{width:42px;height:42px}.tile-body{min-width:0}.tile-label{color:var(--ink-muted);margin:0;font-size:.78rem;font-weight:600}.tile-value{color:var(--ink-strong);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:4px 0 3px;font-size:2.15rem;font-weight:700;line-height:1.05}.tile-note{color:var(--ink-muted);margin:0;font-size:.79rem}.tile-subnote{color:var(--ink-faint);margin:3px 0 0;font-size:.75rem}.legend{color:var(--ink-muted);align-items:center;gap:14px;font-size:.78rem;display:inline-flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-dot{border-radius:50%;flex:none;width:9px;height:9px}.legend-dot-used{background:var(--brand)}.legend-dot-free{background:#dbe3ee}.family-list{gap:11px;margin:0;padding:0;list-style:none;display:grid}.family-row{grid-template-columns:minmax(120px,170px) minmax(0,1fr) minmax(120px,auto);align-items:center;gap:14px;display:grid}.family-name{color:var(--ink);font-size:.87rem}.family-bar-wrap{width:100%;display:block}.family-bar-track{background:#e8edf5;border-radius:4px;min-width:8px;height:13px;display:block;overflow:hidden}.family-bar-fill{background:var(--brand);border-radius:4px;height:100%;transition:width .35s;display:block}.family-bar-fill-over{background:var(--status-full)}.family-value{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.83rem}.family-percent{color:var(--ink-muted)}.family-empty{color:var(--ink-muted);font-size:.85rem}.donut-card{flex-direction:column;display:flex}.donut-body{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.donut{flex:none;width:150px;height:150px}.donut-track{stroke:#e8edf5}.donut-arc{stroke:var(--brand)}.donut-value{fill:var(--ink-strong);font-size:26px;font-weight:700}.donut-caption{fill:var(--ink-muted);font-size:10.5px}.donut-legend{flex:150px;gap:9px;margin:0;padding:0;list-style:none;display:grid}.donut-legend li{align-items:center;gap:8px;font-size:.85rem;display:flex}.legend-label{color:var(--ink-muted)}.legend-value{color:var(--ink-strong);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.legend-share{border-top:1px solid var(--line-soft);padding-top:9px}.donut-extras{border-top:1px solid var(--line-soft);gap:8px;margin:16px 0 0;padding-top:13px;display:grid}.donut-extra{justify-content:space-between;align-items:baseline;gap:10px;font-size:.79rem;display:flex}.donut-extra dt{color:var(--ink-muted)}.donut-extra dd{color:var(--ink);text-align:right;margin:0;font-weight:600}.donut-extra-alert dd{color:#a02020}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.license-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:15px 17px 13px;display:flex}.license-card-head{align-items:flex-start;gap:10px;display:flex}.license-glyph{width:36px;height:36px}.license-glyph.small{border-radius:8px;width:26px;height:26px}.license-card-title{flex:1;min-width:0}.license-card-title h3{color:var(--ink-strong);margin:0;font-size:.94rem;line-height:1.32}.license-card-sku{color:var(--ink-faint);overflow-wrap:anywhere;margin:2px 0 0;font-size:.71rem}.license-card-headline{color:var(--ink-muted);align-items:baseline;gap:5px;margin:0;font-size:.85rem;display:flex}.license-card-headline strong{color:var(--ink-strong);font-variant-numeric:tabular-nums;font-size:1.55rem}.license-card-percent{color:var(--ink-strong);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.license-card-stats{border-top:1px solid var(--line-soft);grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:10px 0 0;display:grid}.license-card-stats dt{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.license-card-stats dd{color:var(--ink-strong);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:.95rem;font-weight:600}.license-card-note{color:var(--ink-muted);background:var(--surface-sunken);border:1px solid var(--line-soft);border-radius:8px;margin:0;padding:7px 9px;font-size:.78rem}.card-expired{box-shadow:inset 4px 0 0 var(--status-full), var(--shadow);background:linear-gradient(#fff7f7 0%,#fff 58%);border-color:#f0c2c2}.card-expiring{box-shadow:inset 4px 0 0 var(--status-high), var(--shadow);background:linear-gradient(#fffcf3 0%,#fff 58%);border-color:#f2e0b4}.license-card-chips{flex-direction:column;flex:none;align-items:flex-end;gap:5px;display:flex}.license-card-renewal{color:var(--ink-faint);margin:0;font-size:.76rem}.expiry-chip-suspended,.expiry-chip-locked,.expiry-chip-deleted{color:#fff;background:#a02020;border-color:#a02020}.expiry-chip-grace{color:#a02020;background:#fdeaea;border-color:#f0bcbc}.expiry-chip-stale{color:#55606e;background:#f1f4f8;border-color:#dde4ed}.expiry-chip-soon{color:#8a5a00;background:#fdf3da;border-color:#f2ddad}.flag-critical{color:#a02020;background:#fdeaea;border-color:#f4c8c8;font-weight:600}.cell-stack{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.cell-critical{color:#a02020;font-weight:600}.toolbar-toggle-alert{color:#8a5a00;font-weight:600}.license-card-flag{color:#92400e;background:#fff8e6;border:1px solid #f6e3b5;border-radius:8px;margin:0;padding:6px 9px;font-size:.78rem}.license-card-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:8px;display:flex}.license-card-category{color:var(--ink-muted);background:var(--surface-sunken);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.73rem}.license-card-more{background:linear-gradient(160deg,#f2f6ff 0%,#fff 70%);border-style:dashed;justify-content:center;align-items:flex-start}.more-count{color:var(--ink-strong);margin:0;font-size:1rem;font-weight:700}.more-copy{color:var(--ink-muted);margin:0;font-size:.8rem}.report-card h3{color:var(--ink-strong);margin:0;font-size:1rem}.report-copy{color:var(--ink-muted);margin:0;font-size:.83rem;line-height:1.5}.report-note{color:var(--ink-faint);margin:0;font-size:.76rem}.meter-track{background:#e8edf5;border-radius:4px;width:100%;height:9px;overflow:hidden}.meter-fill{border-radius:4px;height:100%;transition:width .35s;display:block}.meter-fill-empty{background:var(--status-empty)}.meter-fill-low{background:var(--status-low)}.meter-fill-medium{background:var(--status-medium)}.meter-fill-high{background:var(--status-high)}.meter-fill-full,.meter-fill-over{background:var(--status-full)}.status-chip{white-space:nowrap;border:1px solid #0000;border-radius:999px;flex:none;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-block}.status-chip-empty{color:#55606e;background:#f1f4f8;border-color:#dde4ed}.status-chip-low{background:var(--brand-tint);color:#1e40af;border-color:#cbdcff}.status-chip-medium{color:#15630f;background:#e6f6e6;border-color:#c2e6c2}.status-chip-high{color:#8a5a00;background:#fdf3da;border-color:#f2ddad}.status-chip-full{color:#a02020;background:#fdeaea;border-color:#f6cccc}.status-chip-over{color:#fff;background:#a02020;border-color:#a02020}.table-scroll{padding:0;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.86rem}.data-table th,.data-table td{text-align:left;border-top:1px solid var(--line-soft);vertical-align:middle;padding:11px 14px}.data-table thead th{background:var(--surface-sunken);color:#475569;white-space:nowrap;z-index:1;border-top:0;font-weight:600;position:sticky;top:0}.data-table td.numeric,.data-table th.numeric{text-align:right;font-variant-numeric:tabular-nums}.table-licence{align-items:center;gap:10px;display:flex}.utilisation-cell{min-width:118px}.utilisation-cell .meter-track{height:6px;margin-top:5px}.sort-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.table-primary{color:var(--ink-strong);font-weight:600;display:block}.table-secondary{color:var(--ink-faint);font-size:.72rem;display:block}.cell-muted{color:var(--ink-muted)}.cell-empty{text-align:center;color:var(--ink-muted);padding:24px 12px}.chip-row{flex-wrap:wrap;gap:4px;display:flex}.license-pill{background:var(--surface-sunken);border:1px solid var(--line);color:#475569;white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.72rem}.config-list{gap:11px;margin:0;display:grid}.config-list>div{grid-template-columns:minmax(130px,180px) minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.config-list dt{color:var(--ink-muted);font-size:.82rem}.config-list dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.85rem}.mono{font-family:Cascadia Mono,Consolas,SF Mono,Menlo,monospace;font-size:.82rem}.modal-backdrop{z-index:100;background:#0f172a73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{background:var(--surface);border-radius:16px;width:min(960px,100%);max-height:86vh;padding:20px 22px 24px;overflow-y:auto;box-shadow:0 30px 70px #0f172a4d}.modal-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.modal-head h2{color:var(--ink-strong);margin:0;font-size:1.15rem}.modal-subtitle{color:var(--ink-muted);margin:4px 0 0;font-size:.82rem}.modal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.modal-toolbar .field-input{flex:260px}.modal-counts{color:var(--ink-muted);gap:10px;font-size:.83rem;display:flex}.count-flag{color:#a02020;font-weight:600}.modal-hint{color:#92400e;background:#fff8e6;border:1px solid #f6e3b5;border-radius:8px;margin:0 0 10px;padding:7px 10px;font-size:.8rem}.login-screen{background:radial-gradient(1000px 500px at 15% -10%,#dbeafe 0%,#0000 60%),radial-gradient(900px 480px at 110% 110%,#e0e7ff 0%,#0000 55%),linear-gradient(#eef2f6 0%,#f7f9fc 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:min(430px,100%);padding:32px 30px;box-shadow:0 30px 70px #0f172a1f}.login-header{text-align:center;margin-bottom:22px}.login-logo-img{border-radius:12px;width:168px;margin:0 auto 18px;display:block;box-shadow:0 12px 26px #2563eb38}.login-header h1{color:var(--ink-strong);margin:0 0 8px;font-size:1.45rem}.login-header p{color:var(--ink-muted);margin:0;font-size:.88rem;line-height:1.55}.login-form{gap:14px;display:grid}.dev-login{border-top:1px dashed var(--line);justify-items:start;gap:8px;margin-top:14px;padding-top:14px;display:grid}.dev-login .field-input{width:100%}.login-error-text{color:#b91c1c;margin:0;font-size:.85rem}.login-footnote{color:var(--ink-muted);text-align:center;margin:20px 0 0;font-size:.8rem}@media (width<=1100px){.split-row{grid-template-columns:minmax(0,1fr)}}@media (width<=1180px){.hero-quote{display:none}}@media (width<=900px){.hero-art{display:none}}@media (width<=620px){.hero-strip{flex-wrap:wrap;gap:12px}.hero-clock{text-align:left;min-width:0}.hero-greeting h2{white-space:normal}}@media (width<=860px){.topbar{flex-wrap:wrap;height:auto;padding:10px 12px}.main-nav{height:44px;padding:0 12px}.main-nav-inner{gap:16px}.content{padding:14px 12px 32px}.page-tools{width:100%;margin-left:0}.family-row{grid-template-columns:minmax(0,1fr);gap:5px}.family-value{text-align:left}.user-copy{display:none}.hero-copy h2{font-size:1.35rem}}.row-clickable{cursor:pointer}.row-clickable:hover{background:var(--surface-sunken)}.row-clickable:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.license-pill-locked{color:var(--ink-muted);border-style:dashed}.user-modal-identity{align-items:center;gap:13px;display:flex}.user-avatar.large{width:48px;height:48px;font-size:1rem}.user-facts{background:var(--surface-sunken);border:1px solid var(--line-soft);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0 0 18px;padding:14px 16px;display:grid}.user-facts dt{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);font-size:.72rem}.user-facts dd{color:var(--ink-strong);margin:4px 0 0;font-size:.9rem;font-weight:600}.user-modal-subhead{color:var(--ink-strong);margin:0 0 10px;font-size:.95rem}.account-control{margin-bottom:16px}.account-row{border:1px solid var(--line);background:var(--surface-sunken);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.account-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:.72rem;font-weight:700}.account-state{color:var(--ink);max-width:60ch;margin:4px 0 0;font-size:.86rem}.offboard-toggle{color:var(--ink-strong);cursor:pointer;align-items:center;gap:9px;margin:12px 0 8px;font-size:.88rem;font-weight:600;display:flex}.offboard-toggle input{accent-color:#a02020;width:16px;height:16px}.offboard-warning{border-left:3px solid var(--status-high);padding-left:10px}.account-note{color:#15630f;background:#e6f6e6;border:1px solid #c2e6c2;border-radius:8px;margin:10px 0 0;padding:8px 11px;font-size:.82rem}.modal-tabs{border-bottom:1px solid var(--line);gap:22px;margin-bottom:16px;display:flex}.modal-tab{color:#526079;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 2px 9px;font-size:.9rem;font-weight:500}.modal-tab:hover{color:var(--brand-dark)}.modal-tab-active{color:var(--brand);border-bottom-color:var(--brand);font-weight:700}.profile-panel{gap:18px;margin-bottom:6px;display:grid}.fact-block h4{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 9px;font-size:.74rem;font-weight:700}.fact-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px 20px;margin:0;display:grid}.fact dt{color:var(--ink-muted);font-size:.74rem}.fact dd{color:var(--ink-strong);overflow-wrap:anywhere;margin:2px 0 0;font-size:.89rem}.fact-missing,.fact-hint{color:var(--ink-muted);margin:0;font-size:.8rem;line-height:1.55}.fact-hint{margin-top:8px}.panel-loading{color:var(--ink-muted);margin:0;padding:18px 0;font-size:.88rem}.licence-choice-list{gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.licence-choice{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;align-items:center;gap:11px;padding:11px 13px;display:flex}.licence-choice:hover{border-color:#c9d6ea}.licence-choice.is-selected{background:#fff7f7;border-color:#f0b8b8}.licence-choice.is-adding{background:#f5f9ff;border-color:#bcd3fb}.licence-choice.is-adding .licence-choice-action{color:var(--brand-dark)}.add-checkbox{accent-color:var(--brand)!important}.assign-panel{border-bottom:1px solid var(--line-soft);margin-bottom:4px;padding-bottom:18px}.assign-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.licence-choice.is-locked{cursor:default;background:var(--surface-sunken);border-style:dashed}.licence-choice input{accent-color:#a02020;flex:none;width:16px;height:16px}.licence-choice-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.licence-choice-name{color:var(--ink-strong);font-size:.9rem;font-weight:600}.licence-choice-note{color:var(--ink-muted);font-size:.76rem}.licence-choice-action{color:var(--ink-muted);white-space:nowrap;font-size:.76rem;font-weight:700}.licence-choice.is-selected .licence-choice-action{color:#a02020}.modal-actions{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:14px;display:flex}.danger-button{color:#fff;cursor:pointer;background:#b42323;border:1px solid #a02020;border-radius:9px;align-items:center;gap:7px;padding:9px 16px;font-size:.88rem;font-weight:600;display:inline-flex}.danger-button:hover{background:#a02020}.confirm-block{margin-top:4px}.confirm-list{color:var(--ink-strong);margin:10px 0;padding-left:20px;font-size:.88rem}.confirm-list li{margin-bottom:3px}.confirm-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.modal-head-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.stat-tile-clickable{cursor:pointer}.stat-tile-clickable:hover,.stat-tile-clickable:focus-visible{border-color:#94a3b8}
