:root{color:#1d252c;background:#f4f6f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-rows:56px 1fr}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;background:#1f2529;color:#fff;border-bottom:1px solid #15191c}.topbar h1{margin:0;font-size:18px;font-weight:700}.product-context{color:#b7c1c8;font-size:12px}.status-group,.quick-actions,.toolbar{display:flex;align-items:center;gap:8px}.status-pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:4px;font-size:12px;white-space:nowrap}.status-pill.neutral{background:#354047;color:#e4eaee}.status-pill.warn{background:#704c20;color:#fff2db}.connection-indicator{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:#e4eaee}.connection-indicator.unavailable{color:#f0b866}.broker-device-selector{display:inline-flex;align-items:center;gap:6px;color:#d7e0e5;font-size:12px}.broker-device-selector select{max-width:180px;height:28px;border:1px solid #59666e;border-radius:4px;background:#2c353a;color:#fff;font:inherit}.user-menu{position:relative;margin-left:8px}.user-menu-trigger{display:inline-flex;align-items:center;gap:7px;padding:4px 0;border:0;background:transparent;color:#fff;font-size:12px;cursor:pointer}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{color:#d7e0e5;text-decoration:underline}.user-menu-trigger:focus-visible{outline:2px solid #9fb7c5;outline-offset:3px}.user-menu-chevron{transition:transform .12s ease}.user-menu-trigger[aria-expanded=true] .user-menu-chevron{transform:rotate(180deg)}.user-menu-panel{position:absolute;z-index:10;top:calc(100% + 6px);right:0;min-width:120px;padding:4px;border:1px solid #cfd6db;border-radius:6px;background:#fff;box-shadow:0 8px 20px #0003}.user-menu-panel button{width:100%;padding:7px 10px;border:0;border-radius:4px;background:transparent;color:#263039;text-align:left;cursor:pointer}.user-menu-panel button:hover{background:#edf1f3}.workspace{min-height:0;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:14px 10px;background:#e8ecef;border-right:1px solid #d2d9de}.nav-item{width:100%;min-height:38px;display:flex;align-items:center;gap:10px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#263039;text-align:left;cursor:pointer}.nav-item:hover{background:#dce3e7}.nav-item[aria-current=page]{background:#d4dde2;font-weight:700}.content{min-width:0;padding:18px}.browser-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.browser-header h2{margin:0;font-size:22px}.browser-header p{margin:2px 0 0;color:#66727b;font-size:13px}.quick-actions button{height:34px;display:inline-flex;align-items:center;gap:6px;border:1px solid #c5cdd2;border-radius:6px;background:#fff;color:#263039;cursor:pointer}.toolbar{min-height:46px;padding:8px;border:1px solid #d8dee2;border-radius:6px;background:#fff}.toolbar input,.toolbar select{height:30px;min-width:0;border:1px solid #cbd3d8;border-radius:4px;background:#fff;color:#1d252c}.search-box{flex:1 1 220px;display:flex;align-items:center;gap:6px}.search-box input{flex:1;padding:0 8px}.size-control{width:180px;display:flex;align-items:center;gap:8px;color:#47545e;font-size:12px}.size-control input{flex:1}.font-browser{min-width:0}.font-table{margin-top:14px;border:1px solid #d8dee2;border-radius:6px;background:#fff;overflow:hidden}.font-table-head{display:grid;grid-template-columns:2fr 1.6fr 1.1fr .8fr .8fr 1.1fr;gap:10px;padding:9px 12px;background:#eef2f4;color:#4b5963;font-size:12px;font-weight:700}.sort-header{display:flex;align-items:center;gap:4px}.sort-buttons{display:inline-flex;flex-direction:column;gap:1px}.sort-button{display:inline-flex;align-items:center;justify-content:center;width:14px;height:10px;padding:0;border:none;background:transparent;color:#8b98a1;cursor:pointer}.sort-button[aria-pressed=true]{color:#1d252c}.font-table-body{display:grid}.font-table-sentinel{grid-column:1 / -1;height:1px}.font-row{display:grid;grid-template-columns:2fr 1.6fr 1.1fr .8fr .8fr 1.1fr;gap:10px;align-items:start;padding:12px;border-top:1px solid #e2e7ea}.font-name-cell{min-width:0;display:grid;gap:8px}.font-name-cell strong,.metadata-cell{min-width:0;overflow-wrap:anywhere}.preview-sample{line-height:1.2;color:#263039;overflow-wrap:anywhere}.library-badges{display:flex;flex-wrap:wrap;gap:6px}.library-badges span,.detail-chip-list span{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:22px;padding:0 8px;border-radius:4px;background:#e7f0e8;color:#29432e;font-size:12px;overflow-wrap:anywhere}.row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.row-action-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #c5cdd2;border-radius:4px;background:#fff;color:#263039;cursor:pointer}.row-action-button{min-height:28px;padding:0 8px;font-size:12px}.icon-button{width:32px;height:32px;padding:0}.metadata-cell{color:#47545e;font-size:13px}.seat-usage-cell{color:#66727b;font-size:13px}.seat-usage-button{min-height:28px;padding:0 8px;border:1px solid #b8c9bc;border-radius:4px;background:#e7f0e8;color:#29432e;cursor:pointer;font-size:12px;font-weight:700}.usage-state,.usage-summary{margin:0;color:#66727b;font-size:13px}.usage-error{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#9a311f}.usage-error button{min-height:28px;padding:0 8px;border:1px solid #c5cdd2;border-radius:4px;background:#fff;color:#263039;cursor:pointer}.usage-stack{display:grid;gap:10px}.usage-summary{font-weight:700}.usage-card{margin:0;padding:8px;border:1px solid #e2e7ea;border-radius:4px;background:#f8fafb}.license-summary-empty{color:#66727b;font-size:13px}.license-summary-card{padding:8px;border:1px solid #b8c9bc;border-radius:6px;background:#e7f0e8;margin-bottom:6px}.license-summary-name{font-weight:700;color:#29432e}.license-summary-ratio{font-size:13px;color:#29432e}.license-summary-card.is-noncompliant{border-color:#d8b3ab;background:#f7e9e6}.license-summary-card.is-noncompliant .license-summary-name,.license-summary-card.is-noncompliant .license-summary-ratio{color:#9a311f}.license-summary-warning{font-size:12px;font-weight:600;color:#9a311f}.activation-control{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.activation-switch{position:relative;width:40px;height:22px;padding:2px;border:none;border-radius:11px;background:#c5cdd2;cursor:pointer;transition:background-color .15s ease}.activation-switch.on{background:#3aa655}.activation-switch.pending{animation:activation-switch-pulse .9s ease-in-out infinite}.activation-switch:disabled:not(.pending){background:#e2e7ea;cursor:not-allowed;animation:none}.activation-switch-thumb{display:block;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s ease;transform:translate(0)}.activation-switch-thumb.shifted{transform:translate(18px)}@keyframes activation-switch-pulse{0%,to{opacity:1}50%{opacity:.45}}.activation-message{font-size:11px;color:#66727b}.activation-message.error{color:#9a311f}.empty-state{padding:40px 12px;color:#66727b;text-align:center}.error-state{color:#9a311f}.detail-drawer{position:fixed;top:56px;right:0;bottom:0;z-index:10;width:min(420px,100vw);padding:16px;overflow:auto;border-left:1px solid #cfd6db;background:#fff;box-shadow:-12px 0 24px #1f25291f}.detail-drawer-header{display:flex;align-items:start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #e1e6e9}.detail-kicker{color:#66727b;font-size:12px;font-weight:700;text-transform:uppercase}.detail-drawer h3,.detail-section h4{margin:0}.detail-drawer h3{margin-top:3px;font-size:20px}.detail-section{padding:14px 0;border-bottom:1px solid #edf1f3}.detail-section h4{margin-bottom:10px;font-size:13px;color:#263039}.detail-section dl{display:grid;gap:8px;margin:0}.detail-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px}.detail-row dt{color:#66727b;font-size:12px}.detail-row dd{min-width:0;margin:0;color:#1d252c;font-size:13px;overflow-wrap:anywhere}.detail-chip-list{display:flex;flex-wrap:wrap;gap:6px}.detail-library-checkboxes{display:flex;flex-direction:column;gap:6px}.detail-library-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:#1d252c}.detail-library-error{display:block;margin-top:8px;font-size:11px;color:#9a311f}.admin-stack,.admin-panel{display:grid;gap:12px}.libraries-layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:14px;align-items:start}.libraries-panel{display:grid;gap:6px;padding:8px;border:1px solid #d8dee2;border-radius:6px;background:#fff}.library-list-item{min-width:0;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 9px;border:0;border-radius:4px;background:transparent;color:#263039;text-align:left;cursor:pointer}.library-list-item:hover,.library-list-item[aria-current=true]{background:#eef2f4}.library-list-item span{min-width:0;overflow-wrap:anywhere}.library-list-item strong{color:#66727b;font-size:12px;font-weight:700;white-space:nowrap}.license-panel{border:1px solid #d8dee2;border-radius:6px;background:#fff;overflow:auto}.license-table{width:100%;min-width:640px;border-collapse:collapse}.license-table th,.license-table td{padding:10px 12px;border-bottom:1px solid #e2e7ea;text-align:left;vertical-align:top}.license-table th{background:#eef2f4;color:#4b5963;font-size:12px}.license-table td{color:#263039;font-size:13px}.empty-license-cell{height:112px;color:#66727b;text-align:center;vertical-align:middle}.license-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.license-list-count{margin:0;color:#66727b;font-size:13px}.license-list-table{border:1px solid #d8dee2;border-radius:6px;background:#fff;overflow:hidden}.license-list-head,.license-list-row{display:grid;grid-template-columns:1.8fr 1fr .8fr 1.4fr 1fr 1fr;gap:10px;padding:10px 14px;align-items:center;text-align:left}.license-list-head{background:#eef2f4;color:#4b5963;font-size:12px;font-weight:700}.license-list-row{width:100%;border:0;border-top:1px solid #e2e7ea;background:#fff;color:#1d252c;font-size:13px;cursor:pointer}.license-list-row:hover{background:#f8fafb}.license-list-name{font-weight:700}.license-badge-amber{color:#7a4a12}.license-badge-noncompliant{color:#9a311f;font-weight:600}.seat-usage-note{font-size:12px;color:#66727b}.seat-usage-note.is-noncompliant{color:#9a311f;font-weight:600}.license-list-empty{display:flex;align-items:center;gap:8px;padding:40px 14px;justify-content:center;color:#66727b;font-size:13px}.license-new-button{height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 14px;border:1px solid #1d7a37;border-radius:6px;background:#3aa655;color:#fff;font-weight:600;font-size:13px;cursor:pointer}.admin-notice,.admin-message{display:flex;align-items:center;gap:8px;min-height:36px;padding:8px 10px;border:1px solid #d8dee2;border-radius:6px;background:#fff;color:#47545e;font-size:13px}.admin-message{width:max-content;max-width:100%}.success-state{color:#29623d}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-form{display:grid;gap:12px;padding:14px;border:1px solid #d8dee2;border-radius:6px;background:#fff}.admin-form header{display:flex;align-items:center;gap:8px}.admin-form h3{margin:0;font-size:15px}.admin-form label{display:grid;gap:5px}.admin-form label span{color:#66727b;font-size:12px}.admin-form input,.admin-form select{height:32px;min-width:0;border:1px solid #cbd3d8;border-radius:4px;background:#fff;color:#1d252c}.admin-form input{padding:0 8px}.admin-form button{width:max-content;min-height:32px;padding:0 10px;border:1px solid #c5cdd2;border-radius:4px;background:#1f2529;color:#fff;cursor:pointer}.admin-form button:disabled{background:#eef2f4;color:#8a969e;cursor:not-allowed}.import-result{max-width:460px;padding:14px;border:1px solid #d8dee2;border-radius:6px;background:#fff;margin-top:12px}.import-result dl{display:grid;gap:6px;margin:0 0 12px}.import-result dl>div{display:grid;grid-template-columns:120px 1fr}.import-result dt{color:#66727b;font-size:12px}.import-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.agent-config-panel{display:grid;grid-template-columns:minmax(120px,160px) minmax(160px,1fr) minmax(160px,1fr) max-content max-content;gap:10px;align-items:end;padding:14px;border:1px solid #d8dee2;border-radius:6px;background:#fff}.agent-config-panel h3{margin:0;font-size:15px}.agent-config-panel label{display:grid;gap:5px}.agent-config-panel label span,.agent-config-status{color:#66727b;font-size:12px}.agent-config-panel input{height:32px;min-width:0;padding:0 8px;border:1px solid #cbd3d8;border-radius:4px}.agent-config-panel button{min-height:32px;padding:0 10px;border:1px solid #c5cdd2;border-radius:4px;background:#1f2529;color:#fff;cursor:pointer}.agent-offline-panel{max-width:460px;padding:14px;border:1px solid #d8dee2;border-radius:6px;background:#fff}.agent-offline-panel p{margin:0;color:#47545e;font-size:13px}.connect-fontario-prompt{display:grid;justify-items:center;gap:10px;max-width:360px;margin:48px auto 0;padding:24px;border:1px solid #d8dee2;border-radius:8px;background:#fff;text-align:center}.connect-fontario-prompt h2{margin:0;font-size:17px}.connect-fontario-prompt p{margin:0;color:#47545e;font-size:13px}.connect-fontario-prompt .admin-message{min-width:0;width:100%;box-sizing:border-box}.connect-fontario-prompt button{min-height:34px;padding:0 16px;border:1px solid #c5cdd2;border-radius:4px;background:#1f2529;color:#fff;cursor:pointer}.connect-fontario-prompt button:disabled{opacity:.6;cursor:default}.sso-settings-panel{display:grid;gap:14px;padding:14px;border:1px solid #d8dee2;border-radius:6px;background:#fff}.sso-settings-panel h3,.sso-settings-panel p{margin:0}.sso-connection-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end}.sso-connection-form label{display:grid;gap:5px;color:#66727b;font-size:12px}.sso-connection-form input,.sso-connection-form select,.sso-connection-form textarea,.sso-connection-form button,.sso-connection button{min-height:32px;padding:0 8px;border:1px solid #c5cdd2;border-radius:4px}.sso-connection-form textarea{padding:8px;resize:vertical}.sso-policy-note{align-self:center;color:#66727b;font-size:12px}.sso-connections-list{display:grid;gap:8px}.sso-connection{display:grid;grid-template-columns:minmax(220px,1fr) max-content repeat(3,max-content);gap:8px;align-items:center;padding-top:10px;border-top:1px solid #e6eaed}.sso-connection>div{display:grid;gap:3px}.sso-connection>div span{overflow-wrap:anywhere;color:#66727b;font-size:12px}.agent-cloud-sync-panel{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,2fr) max-content;gap:10px;align-items:center;padding:14px;border:1px solid #d8dee2;border-radius:6px;background:#fff}.agent-cloud-sync-heading{display:flex;align-items:center;gap:8px}.agent-cloud-sync-heading h3{margin:0;font-size:15px}.agent-cloud-sync-panel .admin-notice,.agent-cloud-sync-panel .admin-message{min-width:0;width:100%}.agent-cloud-sync-panel button{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;border:1px solid #c5cdd2;border-radius:4px;background:#1f2529;color:#fff;cursor:pointer;white-space:nowrap}.agent-cloud-sync-panel button:disabled{background:#eef2f4;color:#8a969e;cursor:not-allowed}@media(max-width:800px){.workspace{grid-template-columns:1fr}.sidebar{display:flex;gap:4px;overflow-x:auto;border-right:0;border-bottom:1px solid #d2d9de}.nav-item{width:auto;white-space:nowrap}.toolbar{flex-wrap:wrap}.font-table-head{display:none}.font-row{grid-template-columns:1fr}.detail-drawer{top:0}.admin-grid,.libraries-layout,.agent-config-panel,.agent-cloud-sync-panel{grid-template-columns:1fr}}.assoc-fonts-picker{display:grid;gap:10px}.assoc-fonts-mode-row{display:flex;justify-content:flex-end}.assoc-fonts-toolbar{display:flex;gap:8px}.assoc-fonts-toolbar input{flex:1;height:32px;padding:0 8px;border:1px solid #cbd3d8;border-radius:4px}.assoc-fonts-list{border:1px solid #d8dee2;border-radius:6px;background:#fff;overflow:hidden}.assoc-fonts-family-row,.assoc-fonts-style-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid #e2e7ea;font-size:13px}.assoc-fonts-group:first-child .assoc-fonts-family-row{border-top:none}.assoc-fonts-family-row{background:#fbfcfc}.assoc-fonts-family-row button{border:0;background:none;font-weight:700;cursor:pointer;padding:0;flex:1;text-align:left}.assoc-fonts-style-row{padding-left:32px;color:#47545e}.assoc-fonts-empty{padding:24px;text-align:center;color:#66727b;font-size:13px}.license-info-tab{display:grid;gap:16px}.info-card{padding:14px;border:1px solid #d8dee2;border-radius:6px;background:#fff}.field{display:grid;gap:5px}.field span{color:#66727b;font-size:12px}.field input,.field textarea{min-width:0;border:1px solid #cbd3d8;border-radius:4px;background:#fff;color:#1d252c;padding:6px 8px;font:inherit}.field input{height:32px}.field textarea{min-height:72px;resize:vertical}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.term-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #edf1f3}.term-label{font-size:13px;color:#1d252c}.term-toggle{display:inline-flex;gap:4px}.term-opt{border:1px solid #d8dee2;border-radius:999px;background:#fff;font-size:11px;padding:4px 8px;cursor:pointer}.term-opt.is-selected-yes{background:#e7f0e8;color:#29432e}.term-opt.is-selected-no{background:#f7e3df;color:#9a311f}.term-opt.is-selected-unset{background:#eef2f4;color:#4b5963}.purchase-list{display:flex;flex-direction:column}.purchase-row{display:grid;grid-template-columns:60px 90px 100px 120px 30px;gap:8px;padding:6px 0;border-bottom:1px solid #edf1f3;font-size:13px;align-items:center}.add-purchase-form{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.doc-list{display:flex;flex-direction:column}.doc-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #edf1f3;font-size:13px}.doc-actions{display:flex;gap:8px;margin-top:10px;align-items:center}.doc-upload-button{border:1px solid #c5cdd2;border-radius:4px;padding:6px 10px;cursor:pointer;font-size:12px}.detail-loading{padding:40px;text-align:center;color:#66727b}.license-detail .detail-title-row{display:flex;justify-content:space-between;align-items:center;margin:10px 0 16px}.license-detail .tab-strip{display:flex;gap:4px;border-bottom:1px solid #d8dee2;margin-bottom:16px}.license-detail .tab-btn{border:0;background:none;padding:8px 4px;margin-right:18px;font-size:14px;color:#66727b;cursor:pointer;border-bottom:2px solid transparent}.license-detail .tab-btn.is-active{color:#1d252c;font-weight:700;border-bottom-color:#3aa655}.save-error{color:#9a311f;margin:0 0 12px;font-size:13px}.auth-shell{align-items:center;background:#f4f6f8;display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-card{background:#fff;border:1px solid #d9dee5;border-radius:12px;box-shadow:0 12px 32px #1423321a;max-width:28rem;padding:2rem;width:100%}.auth-sso-options{display:grid;gap:10px;margin-top:16px;text-align:center}.auth-sso-options a{padding:10px 14px;border:1px solid #c5cdd2;border-radius:4px;background:#fff;color:#1f2529;font-weight:600;text-decoration:none}.auth-card form,.auth-card label{display:grid;gap:.5rem}.auth-card form{gap:1rem}
