:root{--accent:#2c5f7f;--hover:#214e68;--light:#f7f8fa;--border:#dee2e6;--border-strong:#767676;--text:#333;--muted:#555;--error:#c00;--warn-bg:#fff8e1;--warn-border:#b26a00}*,:before,:after{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--light);color:var(--text);margin:0;font-family:system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}a,a:visited{color:var(--accent)}button{cursor:pointer;font-size:14px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 2px #fff}main:focus-visible{box-shadow:none;outline:none}main h1:focus-visible{outline-offset:4px}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:2000;color:var(--accent);border:2px solid var(--accent);background:#fff;border-radius:4px;padding:8px 14px;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:8px}.skip-link:focus{top:8px}.btn{background:var(--accent);color:#fff;border:none;border-radius:4px;align-items:center;gap:6px;padding:11px 21px;font-size:14px;font-weight:500;transition:background .15s;display:inline-flex}.btn:hover{background:var(--hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-outline{border:1px solid var(--accent);color:var(--accent);background:0 0}.btn-outline:hover{background:var(--accent);color:#fff}.text-btn{min-height:24px;color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:13px;text-decoration:none;display:inline-flex}.text-btn:hover{text-decoration:underline}.hint{color:var(--muted);margin:8px 0 0;font-size:13px}.card{border:1px solid var(--border);background:#fff;border-radius:6px;padding:24px}.error-list{border:1px solid var(--error);color:var(--error);background:#fff5f5;border-radius:4px;margin:12px 0;padding:12px 16px}.error-list ul{margin:6px 0 0;padding-left:20px}.error-list li{margin:2px 0;font-size:13px}input[type=text],input[type=password],select{border:1px solid var(--border-strong);width:100%;color:var(--text);background:#fff;border-radius:4px;padding:8px 10px;font-size:14px}.select-btn{border:1px solid var(--accent);width:auto;color:var(--accent);cursor:pointer;appearance:auto;background:#fff;border-radius:4px;padding:8px 18px;font-size:14px;font-weight:500}label{color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.field{margin-bottom:16px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--accent);color:#fff;align-items:center;gap:12px;padding:10px 24px 10px 12px;display:flex}.topbar-logo{width:auto;height:26px}.topbar-title{color:#fff;margin:0;font-size:20px;font-weight:600}.topbar .spacer{flex:1}.topbar .logout-btn{color:#fff;background:0 0;border:1px solid #ffffff80;border-radius:4px;padding:5px 12px;font-size:13px}.topbar .logout-btn:hover{background:#ffffff26}.main-content{flex:1;width:100%;max-width:860px;margin:32px auto;padding:0 24px}.main-content,.app-footer,.env-banner{overflow-wrap:anywhere}.app-footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;padding:14px 24px;font-size:13px}.app-footer a{color:var(--accent)}.env-banner{background:var(--warn-bg);border-bottom:1px solid var(--warn-border);color:var(--text);text-align:center;padding:6px 12px;font-size:13px;font-weight:600}.notice{width:100%;max-width:860px;margin:16px auto 0;padding:0 24px}.session-banner{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:6px;padding:12px 16px}.session-banner p{margin:0 0 10px}.session-actions{flex-wrap:wrap;gap:10px;display:flex}.session-error{color:var(--error);margin:10px 0 0!important}.update-banner{background:var(--accent);color:#fff;border-radius:6px;padding:12px 16px;font-size:14px}.update-banner p{margin:0 0 8px}.update-notes{white-space:pre-wrap;max-height:120px;margin-bottom:10px;padding:4px;font-size:13px;overflow-y:auto}.update-actions{flex-wrap:wrap;gap:8px;display:flex}.update-btn{color:var(--accent);background:#fff;border:none;border-radius:4px;padding:6px 12px;font-weight:600}.update-btn-ghost{color:#fff;background:0 0;border:1px solid #ffffff80;border-radius:4px;padding:6px 12px}.update-progress{background:#ffffff40;border-radius:3px;height:6px;overflow:hidden}.update-progress-fill{background:#fff;height:100%;transition:width .2s}.step-nav{border-bottom:2px solid var(--border);flex-wrap:wrap;gap:0;margin-bottom:28px;display:flex}.step-nav button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 22px;font-size:14px;font-weight:600}.step-nav button.active,.step-nav button[aria-current=step]{color:var(--accent);border-bottom-color:var(--accent)}.step-nav button:disabled{opacity:.4;cursor:default}.progress-bar-wrap{background:var(--border);border-radius:4px;height:10px;margin:16px 0;overflow:hidden}.progress-bar-fill{background:var(--accent);height:100%;transition:width .2s}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{background:var(--light);border:1px solid var(--border);text-align:left;white-space:nowrap;padding:7px 10px;font-weight:600}td{border:1px solid var(--border);white-space:nowrap;padding:6px 10px}tr:nth-child(2n) td{background:#fafbfc}.format-table{margin-bottom:8px;font-size:13px}.format-table th{background:var(--accent);color:#fff;font-weight:600}.format-table td{vertical-align:top;white-space:normal}.pagination{color:var(--muted);align-items:center;gap:10px;margin-top:10px;font-size:13px;display:flex}.pagination button{border:1px solid var(--accent);color:var(--accent);background:#fff;border-radius:3px;padding:4px 10px;font-weight:500}.pagination button:hover:not(:disabled){background:var(--accent);color:#fff}.pagination button:disabled{opacity:.4}.markdown-body h2{color:var(--accent);margin:20px 0 6px;font-size:15px;font-weight:600}.markdown-body ol{padding-left:1.8em}.markdown-body ol li{margin-bottom:.5em;padding-left:.3em}.markdown-body ol li::marker{color:var(--accent);font-weight:700}.markdown-body table{width:auto;margin:8px 0}.markdown-body td{white-space:normal}.sso-btn{width:100%;color:var(--text);border:1px solid var(--border);background:#fff;justify-content:center;font-weight:500}.sso-btn:hover:not(:disabled){background:var(--light);color:var(--text)}.sso-btn:disabled{opacity:.45;cursor:not-allowed}.sso-btn img{flex-shrink:0}.tos-text{background:var(--light);border:1px solid var(--border);color:var(--muted);border-radius:4px;max-height:260px;margin-bottom:16px;padding:12px 16px;font-size:13px;overflow-y:auto}.tos-text p{margin:0 0 6px}.tos-text ul{margin:4px 0 0;padding-left:20px}.tos-text li{margin:2px 0}.tos-panel{max-height:360px;color:var(--text);background:#fff;padding:16px}.tos-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:12px;display:flex}.tos-tab{color:var(--accent);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-1px;padding:8px 12px;font-size:13px;font-weight:500}.tos-tab[aria-selected=true]{border-bottom-color:var(--accent);font-weight:700}.tos-check{align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.tos-check input[type=checkbox]{flex-shrink:0;width:auto;margin-top:2px}.tos-check-label{color:var(--text);cursor:pointer;margin-bottom:0;font-size:13px;font-weight:500;display:inline}@media (forced-colors:active){.btn,.text-btn,.logout-btn,.pagination button,.step-nav button,.tos-tab,.update-btn,.update-btn-ghost{border:1px solid buttontext}.step-nav button[aria-current=step],.tos-tab[aria-selected=true]{border-bottom:3px solid highlight}.progress-bar-wrap,.update-progress{border:1px solid canvastext}.progress-bar-fill,.update-progress-fill{forced-color-adjust:none;background:highlight}}
