:root{--app-bg: #f4f8fa;--surface: #ffffff;--surface-subtle: #f8fbfc;--ribbon-bg: #eef5f7;--sidebar-bg: #063a61;--sidebar-bg-strong: #042f50;--sidebar-line: rgba(255, 255, 255, .16);--border: #d5e1e7;--stroke: #c8d7df;--text: #0d2a3d;--muted: #607383;--primary: #063a61;--primary-hover: #084d7d;--primary-soft: #e7f0f5;--green: #73a517;--green-soft: #eef7df;--amber: #f4b842;--amber-soft: #fff6dd;--danger: #b42318;--danger-soft: #fae7e4;--white: #ffffff;--shadow: 0 14px 34px rgba(6, 58, 97, .08);--radius-lg: 12px;--radius-md: 9px;--radius-sm: 6px}*{box-sizing:border-box}html{min-width:320px;background:var(--app-bg)}body{margin:0;min-height:100vh;color:var(--text);font-family:Segoe UI,Arial,sans-serif;background:linear-gradient(135deg,#f8fbfc,#eef6f8 52%,#f6f9f1),var(--app-bg)}button,input,select,textarea{font:inherit}button{color:inherit}.boot-screen{min-height:100vh;display:grid;place-content:center;gap:8px;text-align:center}.boot-logo{width:132px;height:86px;margin:0 auto 8px;border-radius:10px;object-fit:cover;box-shadow:var(--shadow)}.app-shell{min-height:100vh;display:grid;grid-template-columns:268px minmax(0,1fr)}.sidebar{position:sticky;top:0;min-height:100vh;display:flex;flex-direction:column;padding:20px 18px;background:linear-gradient(180deg,var(--sidebar-bg) 0%,var(--sidebar-bg-strong) 100%);color:#ffffffe0}.brand{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;padding:0 4px 22px;border-bottom:1px solid var(--sidebar-line)}.brand-logo-frame{width:58px;height:52px;overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:9px;background:#ffffffeb}.brand-logo-frame img{width:190%;height:190%;object-fit:cover;object-position:48% 46%;transform:translate(-24%,-22%)}.brand strong,.brand span{display:block}.brand strong{color:var(--white);font-size:14px;font-weight:750;line-height:1.12}.brand span{margin-top:4px;color:#ffffffad;font-size:12px}.nav-stack{display:grid;gap:3px;padding-top:18px}.nav-title{margin:18px 10px 7px;color:#ffffff80;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nav-title:first-child{margin-top:0}.nav-button{position:relative;width:100%;min-height:42px;display:flex;align-items:center;gap:11px;padding:0 10px 0 13px;border:0;border-left:3px solid transparent;border-radius:7px;background:transparent;color:#ffffffc7;font-size:13px;font-weight:620;text-align:left;cursor:pointer}.nav-button:hover,.nav-button.is-active{border-left-color:var(--green);background:#ffffff14;color:var(--white)}.icon{width:18px;height:18px;flex:0 0 auto;fill:currentColor}.large-icon{width:46px;height:46px;color:var(--primary);fill:currentColor}.sidebar-note{margin-top:auto;padding:14px 12px;border-top:1px solid var(--sidebar-line)}.sidebar-note strong,.sidebar-note span{display:block}.sidebar-note strong{color:var(--white);font-size:13px}.sidebar-note span{margin-top:5px;color:#ffffff9e;font-size:12px;line-height:1.45;word-break:break-word}.main-shell{min-width:0;display:grid;grid-template-rows:auto 1fr}.topbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 28px;border-bottom:1px solid var(--border);background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar h1{margin:0;color:var(--primary);font-size:22px;font-weight:760}.topbar p{margin:2px 0 0;color:var(--muted);font-size:12px}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.topbar-meta{color:var(--muted);font-size:12px;font-weight:650}.area-chip{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-subtle);color:var(--primary);font-size:12px;font-weight:700}.content-shell{min-width:0;padding:22px 28px 28px}.page-stack{display:grid;gap:16px}.portal-hero,.panel,.side-panel,.trust-strip{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.portal-hero{position:relative;min-height:500px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:28px;align-items:stretch;padding:62px 48px;border-color:#063a6138;background:#063a61}.portal-hero:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#042741f7,#04304ee0 38%,#05365485 62%,#0536541f),linear-gradient(0deg,#04233838,#0423380a)}.hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center right;pointer-events:none}.hero-copy,.signin-card,.session-card{position:relative;z-index:1}.hero-copy{max-width:720px;display:flex;flex-direction:column;justify-content:center}.hero-rule{width:58px;height:3px;margin-bottom:22px;background:var(--green)}.hero-copy h2,.panel h2{margin:0;color:var(--primary);font-size:clamp(30px,3.1vw,44px);line-height:1.06;font-weight:790;overflow-wrap:break-word}.portal-hero .hero-copy h2{max-width:680px;color:var(--white);text-shadow:0 2px 18px rgba(0,0,0,.18)}.hero-copy p,.panel>p,.muted{color:var(--muted);line-height:1.62}.hero-copy p{max-width:650px;margin:20px 0 0;font-size:16px}.portal-hero .hero-copy p{max-width:610px;color:#ffffffc7}.hero-actions,.panel-actions,.form-actions,.row-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.hero-actions{margin-top:30px}.portal-hero .btn-primary{border-color:#ffffffb8;background:var(--white);color:var(--primary)}.portal-hero .btn-primary:hover:not(:disabled){border-color:var(--white);background:#eef7df}.portal-hero .btn-ghost{color:var(--white)}.signin-card,.session-card{align-self:center;padding:24px;border:1px solid rgba(6,58,97,.14);border-radius:10px;background:#ffffffeb;box-shadow:0 24px 60px #05233a38;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.signin-card h3,.session-card h3{margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--border);color:var(--primary);font-size:20px}.session-card img{width:118px;height:74px;margin-bottom:16px;border:1px solid var(--border);border-radius:9px;object-fit:cover;object-position:48% 45%}.session-card p{margin:0;color:var(--muted);line-height:1.55}.session-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.session-card .btn-primary{border-color:var(--primary);background:var(--primary);color:var(--white)}.session-card .btn-ghost{color:var(--primary)}.signin-card .form-grid{margin-top:0}.signin-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:13px}.signin-footer button{padding:0;border:0;background:transparent;color:#4f7f11;font-weight:760;cursor:pointer}.trust-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0}.trust-strip>div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:4px 14px;align-items:center;padding:22px 24px;border-right:1px solid var(--border)}.trust-strip>div:last-child{border-right:0}.trust-strip svg{grid-row:span 2;width:32px;height:32px;color:var(--primary)}.trust-strip strong{color:var(--primary);font-size:14px}.trust-strip span{color:var(--muted);font-size:13px;line-height:1.45}.home-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:16px;align-items:stretch}.panel{padding:24px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}.section-heading h3,.side-panel h3,.empty-state h2{margin:0;color:var(--primary);font-size:22px;font-weight:760}.section-heading p{margin:5px 0 0;color:var(--muted)}.split-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.side-panel{overflow:hidden;padding:24px}.side-logo{width:100%;max-height:180px;margin-bottom:18px;border:1px solid var(--border);border-radius:9px;object-fit:cover;object-position:50% 42%}.side-panel p{color:var(--muted);line-height:1.58}.auth-layout{max-width:1060px}.auth-panel{max-width:720px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.form-grid.compact{grid-template-columns:1fr;max-width:440px}.field{display:grid;gap:6px}.field span{color:var(--text);font-size:12px;font-weight:750}.field-wide,.form-actions{grid-column:1 / -1}.form-divider{grid-column:1 / -1;margin-top:4px;padding-top:14px;border-top:1px solid var(--border);color:var(--primary);font-size:12px;font-weight:820;text-transform:uppercase}input,select,textarea{width:100%;min-height:38px;padding:9px 10px;border:1px solid #c9d8df;border-radius:7px;outline:none;background:var(--white);color:var(--text);font-size:13px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #063a611c}.btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid transparent;border-radius:7px;background:transparent;font-size:13px;font-weight:780;cursor:pointer}.btn:disabled{cursor:not-allowed;opacity:.58}.btn-primary{border-color:var(--primary);background:var(--primary);color:var(--white)}.btn-primary:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover)}.btn-secondary{border-color:var(--stroke);background:var(--white);color:var(--primary)}.btn-ghost{min-height:auto;padding:0;border-color:transparent;color:var(--primary)}.btn-ghost:after,.text-link:after{content:">";margin-left:8px;color:var(--green)}.btn-danger{border-color:var(--danger);background:var(--danger);color:var(--white)}.metrics-grid,.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}.metric-card,.package-card{background:var(--surface)}.metric-card{min-height:126px;display:grid;align-content:center;gap:6px;padding:20px;border-right:1px solid var(--border)}.metric-card:last-child,.package-card:last-child{border-right:0}.metric-card strong{color:var(--primary);font-size:26px}.metric-card span:last-child,.package-card p,.package-card li,small{color:var(--muted)}.metric-icon{width:34px;height:34px;display:grid;place-items:center;color:var(--primary)}.package-card{display:flex;flex-direction:column;min-height:330px;padding:22px;border-right:1px solid var(--border)}.package-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.package-head h4{margin:0;color:var(--primary);font-size:20px}.package-head span,.status{display:inline-flex;align-items:center;width:fit-content;min-height:26px;padding:0 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface-subtle);color:var(--primary);font-size:12px;font-weight:750}.package-price{margin-top:12px;color:var(--text);font-size:24px}.package-card ul{display:grid;gap:8px;padding:0;margin:10px 0 18px;list-style:none}.package-card li{display:flex;align-items:flex-start;gap:7px;font-size:13px;overflow-wrap:anywhere}.package-card li svg{flex:0 0 auto;margin-top:2px}.package-card .btn{margin-top:auto}.workflow-panel{min-height:100%}.workflow-list{display:grid;gap:18px;padding:0;margin:0 0 24px;list-style:none;counter-reset:workflow}.workflow-list li{position:relative;min-height:48px;padding-left:46px;counter-increment:workflow}.workflow-list li:before{content:counter(workflow);position:absolute;left:0;top:0;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:var(--white);font-size:12px;font-weight:800}.workflow-list strong,.workflow-list span{display:block}.workflow-list strong{color:var(--primary);font-size:14px}.workflow-list span{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.45}.text-link{padding:0;border:0;background:transparent;color:var(--primary);font-size:13px;font-weight:760;cursor:pointer}.detail-grid{display:grid;grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);gap:11px 16px;margin-top:14px}.detail-grid>span{color:var(--muted);font-size:13px}.detail-grid>strong{min-width:0;word-break:break-word}.secret-key{font-family:Consolas,Courier New,monospace;letter-spacing:0}.mfa-qr{width:180px;height:180px;display:block;border:1px solid var(--border);border-radius:6px;background:var(--white)}.mfa-code-form{margin-top:18px}.mfa-code-form .inline-message{margin-top:0}.module-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.module-row span{padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--ribbon-bg);color:var(--text);font-size:12px}.panel-actions{margin-top:20px}.license-service-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end}.license-service-actions{justify-content:flex-end;margin-top:0}.inline-message{margin:16px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.status-success{border-color:#bddb9a;background:var(--green-soft);color:#3d7310}.status-warning{border-color:#ecd084;background:var(--amber-soft);color:#8a620c}.status-danger{border-color:#e3b6af;background:var(--danger-soft);color:var(--danger)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface)}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:13px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;font-size:13px}th{background:var(--ribbon-bg);color:var(--primary);font-weight:780}tr:last-child td{border-bottom:0}.empty-state{min-height:320px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center}.empty-state p{max-width:520px;margin:0;color:var(--muted)}.toast{position:fixed;right:20px;bottom:20px;z-index:30;width:min(420px,calc(100vw - 40px));padding:13px 15px;border:1px solid var(--border);border-radius:10px;background:var(--white);color:var(--text);box-shadow:var(--shadow)}@media(max-width:1120px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;min-height:auto}.nav-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-note{margin-top:16px}.portal-hero,.split-layout,.home-grid,.trust-strip,.metrics-grid,.package-grid{grid-template-columns:1fr}.trust-strip>div,.metric-card,.package-card{border-right:0;border-bottom:1px solid var(--border)}.trust-strip>div:last-child,.metric-card:last-child,.package-card:last-child{border-bottom:0}}@media(max-width:680px){.license-service-grid{grid-template-columns:1fr}.license-service-actions{justify-content:flex-start}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:space-between}.topbar-meta{display:none}.content-shell,.sidebar{padding:14px}.portal-hero{min-height:auto;padding:30px 22px}.hero-scene{object-position:63% center}.hero-copy h2,.panel h2{font-size:30px}.form-grid,.nav-stack,.detail-grid{grid-template-columns:1fr}.section-heading{display:grid}}
