:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f6f8;--surface:#fff;--line:#d8e0e7;--text:#1b2733;--muted:#627180;--primary:#176b53;--primary-hover:#115441;--nav-bg:#172536;--nav-text:#edf4f7;--nav-muted:#aebdca;--nav-hover:#26384b;--nav-active:#2f8068;--focus-ring:#30977847;--danger:#b42318}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.topbar{min-height:64px;color:var(--nav-text);background:var(--nav-bg);border-bottom:1px solid #ffffff14;align-items:center;gap:8px;padding:8px 32px;display:flex;box-shadow:0 4px 18px #12223214}.brand{color:#fff;letter-spacing:.01em;white-space:nowrap;margin-right:18px;font-size:18px;font-weight:750}.nav-link{min-height:42px;color:var(--nav-muted);border:1px solid #0000;border-radius:8px;align-items:center;padding:0 13px;font-size:14px;font-weight:600;transition:background-color .14s,color .14s,transform .1s,border-color .14s;display:flex}.nav-link:hover{color:#fff;background:var(--nav-hover);border-color:#ffffff12}.nav-link:active{background:#203246;transform:scale(.98)}.nav-link.active{color:#fff;background:var(--nav-active);border-color:#ffffff24;box-shadow:inset 3px 0 #b9ead7,0 3px 10px #0000001f}.nav-link:focus-visible,.session-button:focus-visible,.language-toggle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.session-menu{color:var(--nav-muted);align-items:center;gap:12px;margin-left:auto;font-size:13px;display:flex}.session-menu>span{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.session-button{min-height:34px;color:var(--nav-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:0 9px;font-size:13px;transition:background-color .14s,color .14s,transform .1s}.session-button:hover{background:var(--nav-hover)}.session-button:active{transform:scale(.98)}.session-button:disabled{opacity:.55;cursor:not-allowed}.language-toggle{min-height:32px;color:var(--nav-text);cursor:pointer;background:0 0;border:1px solid #ffffff47;border-radius:999px;padding:0 11px;font-size:12px;transition:background-color .14s,border-color .14s,transform .1s}.language-toggle:hover{background:var(--nav-hover);border-color:#ffffff8c}.language-toggle:active{transform:scale(.97)}.topbar .language-toggle{white-space:nowrap}.button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:8px 16px;font-weight:650;transition:background-color .14s,border-color .14s,box-shadow .14s,transform .1s,opacity .14s;display:inline-flex}.button:hover{background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 4px 12px #176b532e}.button:active{box-shadow:none;transform:scale(.98)}.button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.button.secondary{background:var(--surface);color:var(--text);border-color:var(--line)}.button.secondary:hover{background:#f1f5f7;border-color:#b9c6d0;box-shadow:0 3px 10px #1e334514}.button.secondary:active{background:#e8eef2}.button.small{min-height:34px;padding:6px 11px;font-size:13px}.button:disabled,.button[aria-disabled=true]{opacity:.58;cursor:not-allowed;box-shadow:none;transform:none}.button:disabled:hover,.button[aria-disabled=true]:hover{background:var(--primary);border-color:var(--primary)}.button.secondary:disabled:hover,.button.secondary[aria-disabled=true]:hover{background:var(--surface);border-color:var(--line)}.disabled-action{cursor:not-allowed;opacity:.55}.page{max-width:1440px;margin:0 auto;padding:28px 32px 48px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}h1{margin:0 0 6px;font-size:26px}.subtle{color:var(--muted);margin:0;font-size:14px}.toolbar{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(260px,1fr) 190px 190px auto;gap:12px;margin-bottom:16px;padding:16px;display:grid}.filter-bar{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:150px minmax(190px,1.2fr) 140px 190px 190px auto;align-items:end;gap:12px;margin-bottom:16px;padding:16px;display:grid}.filter-bar .form-actions{border:0;margin:0;padding:0}.pagination{color:var(--muted);justify-content:center;align-items:center;gap:18px;margin-top:18px;display:flex}.audit-detail{border:1px solid var(--line);background:#f8fafb;border-radius:6px;min-width:320px;max-width:520px;margin-top:10px;padding:12px}.audit-detail strong{color:var(--muted);margin-top:8px;font-size:12px;display:block}.audit-detail strong:first-child{margin-top:0}.audit-detail pre{white-space:pre-wrap;word-break:break-word;max-height:180px;margin:4px 0 0;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.license-card,.license-exits{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-bottom:18px;padding:22px}.license-status-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;display:flex}.license-valid{color:#14563f}.license-invalid{color:var(--danger)}.license-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:18px;padding-top:20px;display:grid}.license-grid>div{flex-direction:column;gap:6px;display:flex}.license-device{word-break:break-all}.license-grid .button{align-self:flex-start;margin-top:4px}.license-actions{margin-bottom:18px}.license-actions h2,.license-exits h2{margin:0 0 16px;font-size:18px}.license-notice{margin:18px 0 0}.control{width:100%;min-height:40px;color:var(--text);background:#fff;border:1px solid #cbd3db;border-radius:7px;padding:8px 10px;transition:border-color .14s,box-shadow .14s,background-color .14s}.control:hover{border-color:#aebcc7}.control:focus,.control:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring);outline:none}textarea.control{resize:vertical;min-height:110px}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1050px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e7ebef;padding:13px 14px}th{color:#4b5866;white-space:nowrap;background:#f8fafb;font-size:13px;font-weight:650}td{font-size:14px}tbody tr:hover{background:#f4faf7}tbody tr:last-child td{border-bottom:0}.name-link{color:#0d6045;border-radius:4px;font-weight:650}.name-link:hover{color:var(--primary-hover);text-decoration:underline}.name-link:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.empty-cell{color:var(--muted);text-align:center;padding:56px}.badge{color:#14563f;white-space:nowrap;background:#e9f5f0;border-radius:999px;padding:4px 8px;font-size:13px;display:inline-flex}.badge.status{color:#394653;background:#eef2f6}.form-card{border:1px solid var(--line);background:#fff;border-radius:10px;max-width:900px;padding:24px;box-shadow:0 3px 14px #192b3a09}.form-grid{grid-template-columns:1fr 1fr;gap:18px 20px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field.full{grid-column:1/-1}.field label{font-size:14px;font-weight:650}.required{color:var(--danger)}.form-actions{border-top:1px solid var(--line);gap:10px;margin-top:24px;padding-top:20px;display:flex}.error{color:var(--danger);background:#fef3f2;border:1px solid #fecdca;border-radius:5px;margin:0 0 16px;padding:10px 12px}.notice{color:#14563f;background:#e9f5f0;border:1px solid #b7e1cf;border-radius:5px;margin:0 0 16px;padding:10px 12px}.loading{color:var(--muted);text-align:center;padding:36px}.meta{color:var(--muted);gap:24px;margin-bottom:18px;font-size:13px;display:flex}.detail-actions{align-items:center;gap:18px;margin-bottom:18px;display:flex}.detail-actions .meta{margin-bottom:0}.task-sections{gap:18px;display:grid}.task-panel,.detail-section{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px}.detail-section{max-width:1000px;margin-top:24px}.section-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.section-header h2{margin:0;font-size:18px}.count{color:#14563f;background:#e9f5f0;border-radius:999px;justify-content:center;align-items:center;min-width:25px;height:25px;padding:0 7px;font-size:13px;font-weight:700;display:inline-flex}.empty-task{color:var(--muted);margin:0;padding:18px 0 4px}.task-list{gap:10px;display:grid}.task-row{border:1px solid #e7ebef;border-radius:6px;grid-template-columns:minmax(300px,1fr) minmax(260px,1fr) auto;align-items:center;gap:18px;padding:14px;display:grid}.task-main,.task-times,.task-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.task-main{min-width:0}.task-times{color:var(--muted);font-size:13px}.task-actions{justify-content:flex-end}.history-list{gap:10px;display:grid}.history-item{background:#f8fafb;border-left:3px solid #65c79f;padding:14px}.history-time{color:#14563f;font-weight:700}.history-item p{white-space:pre-wrap;margin:8px 0}.follow-up-form{border:0;max-width:none;padding:0}.login-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:16px;width:min(100%,420px);padding:32px;display:grid;box-shadow:0 18px 44px #17202a17}.login-card h1{margin:0}.login-card .button{width:100%;margin-top:4px}.login-language{justify-content:flex-end;display:flex}.login-language .language-toggle{color:var(--primary);border-color:var(--line);background:#fff}.account-form{max-width:900px}.account-action-card{max-width:900px;margin-bottom:18px}.account-action-card h2{margin:0 0 18px;font-size:18px}@media (max-width:800px){.page{padding:22px 16px}.topbar{flex-wrap:wrap;gap:5px;padding:10px 16px}.brand{width:100%;margin-right:0}.nav-link{min-height:38px;padding:0 10px;font-size:13px}.session-menu{justify-content:flex-end;gap:8px;width:100%;margin-left:0;font-size:12px}.toolbar,.filter-bar{grid-template-columns:1fr}.license-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.task-row{grid-template-columns:1fr;gap:10px}.task-actions{justify-content:flex-start}}
