:root{color:#e8eef6;background:#0b1220;font-family:Segoe UI,PingFang SC,Microsoft YaHei,-apple-system,sans-serif;--accent: #3d8bfd;--accent-2: #5ad1ff;--card: rgba(255, 255, 255, .055);--card-strong: rgba(255, 255, 255, .09);--border: rgba(255, 255, 255, .1);--muted: #9bb0c9;--ok: #3ccf91;--warn: #f5b24a;--danger: #ff6b6b;--radius: 16px}*{box-sizing:border-box}html,body{margin:0}body{min-height:100vh;background:radial-gradient(900px 500px at 15% -10%,#1b3a5f,#0b122000 60%),radial-gradient(700px 400px at 110% 10%,#143a4a,#0b122000 55%),#0b1220;-webkit-text-size-adjust:100%}.page{max-width:760px;margin:0 auto;padding:20px 14px calc(56px + env(safe-area-inset-bottom))}h1{font-size:26px;margin:0 0 6px;letter-spacing:.5px}h2{font-size:16px;margin:0 0 12px;font-weight:650}.sub{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.hint{color:var(--muted);margin:0 0 8px;font-size:12.5px;line-height:1.6}.hint.inline{display:inline;margin:0}.hint.notice{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f5b24a1a;color:#f3cf8e}.foot{text-align:center;color:#9bb0c999;font-size:12px;margin-top:28px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:14px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.card-head h2{margin:0}label{display:block;font-size:13px;color:var(--muted);margin:14px 0 6px}label .counter{float:right;font-size:12px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #2b3d55;background:#0f1a2c;color:#fff;border-radius:10px;padding:12px 14px;font-size:15px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:96px;line-height:1.5}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9bb0c9 50%),linear-gradient(135deg,#9bb0c9 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:36px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3d8bfd2e}fieldset.fs{border:0;padding:0;margin:0;min-width:0}fieldset.fs:disabled{opacity:.55}button{cursor:pointer;border:1px solid var(--border);background:var(--card-strong);color:#e8eef6;border-radius:10px;padding:11px 16px;font-size:14px;font-family:inherit;margin-top:14px;transition:transform .06s,background .15s,opacity .15s}button:hover{background:#ffffff24}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.primary{background:linear-gradient(135deg,var(--accent),#2f6fe0);border-color:transparent;font-weight:600}button.primary:hover{filter:brightness(1.08)}button.block{width:100%;padding:13px}button.ghost{background:transparent}button.sm{padding:7px 12px;font-size:13px;margin-top:0}.btn-link{color:var(--accent-2);text-decoration:none;font-size:13px;white-space:nowrap}.btn-link:hover{text-decoration:underline}.msg{margin-top:12px;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.5}.msg.err{background:#ff6b6b1f;color:#ffb3b3}.msg.ok{background:#3ccf911f;color:#9fe8c8}.tag{display:inline-block;font-size:11.5px;padding:3px 9px;border-radius:999px;background:#ffffff1a;color:#cfe0f5;white-space:nowrap}.tag.ok{background:#3ccf9129;color:#9fe8c8}.tag.off{background:#ffffff12;color:var(--muted)}.auth{padding-top:6vh}.auth-hero{text-align:center;margin-bottom:22px}.logo{font-size:22px;line-height:1;width:40px;height:40px;flex:0 0 40px;display:inline-grid;place-items:center;background:#3d8bfd29;border-radius:12px}.logo.big{width:68px;height:68px;font-size:38px;border-radius:20px;margin-bottom:14px;box-shadow:0 10px 30px #3d8bfd40}.auth-card{max-width:440px;margin:0 auto;padding:22px}.tabs{display:flex;gap:6px;background:#ffffff0f;padding:4px;border-radius:12px}.tabs button{flex:1;margin:0;border:0;background:transparent;color:var(--muted);padding:9px;border-radius:9px;font-weight:600}.tabs button.on{background:#3d8bfd38;color:#fff}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.brand{display:flex;align-items:center;gap:10px}.brand-name{font-weight:700;font-size:17px;letter-spacing:.3px}.user-chip{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);padding:6px 8px 6px 12px;border-radius:999px;max-width:62%}.uname{font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exp{font-size:12px;padding:2px 8px;border-radius:999px;white-space:nowrap}.exp.fine,.fine{color:#9fe8c8;background:#3ccf9124}.exp.warn,.warn{color:#f3cf8e;background:#f5b24a24}.exp.danger,.danger{color:#ffb3b3;background:#ff6b6b24}.kv .v.fine,.kv .v.warn,.kv .v.danger{background:transparent}.nav{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px;margin-bottom:14px;border-radius:14px;background:#ffffff0d;border:1px solid var(--border);position:sticky;top:8px;z-index:5;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav button{position:relative;flex:1 0 auto;margin:0;border:0;background:transparent;color:var(--muted);padding:10px 14px;border-radius:10px;font-weight:600;white-space:nowrap}.nav button.on{background:#3d8bfd38;color:#fff}.nav .dot{position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--danger)}.tab-body{animation:fade .18s ease-out}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.kv{display:grid;grid-template-columns:96px 1fr auto;gap:8px 10px;align-items:center;padding:9px 0;border-top:1px solid var(--border)}.kv:first-of-type{border-top:0}.kv.plain{grid-template-columns:96px 1fr}.k{color:var(--muted);font-size:13px}.hot{display:inline-block;margin-left:6px;font-size:10.5px;font-style:normal;padding:1px 6px;border-radius:6px;background:#ff6b6b29;color:#ffb3b3;vertical-align:1px}.v{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;word-break:break-all;background:#00000038;padding:7px 10px;border-radius:8px}.v.secret{letter-spacing:2px;color:var(--muted)}.copy{margin:0;padding:7px 12px;font-size:13px;border-radius:8px}.row-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.guide .steps{margin:0;padding-left:20px;line-height:1.75;font-size:14px}.guide .steps li+li{margin-top:4px}.wait-card{text-align:center;padding:26px 18px}.wait-icon{font-size:34px;margin-bottom:6px}.apply-status{margin:6px 0 4px;padding:10px 12px;border-radius:10px;background:#ffffff0f;font-size:13.5px;line-height:1.6;border-left:3px solid var(--accent)}.apply-status.rejected{border-left-color:var(--danger)}.apply-status.done{border-left-color:var(--ok)}.apply-status.approved{border-left-color:var(--warn)}.region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin:8px 0 14px}.region-btn{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#ffffff0d;color:inherit;font-size:15px;font-weight:600;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.region-btn:hover{border-color:#7aa2ff99;background:#ffffff14}.region-btn.active{border-color:var(--accent);background:#4a80ff2e;box-shadow:0 0 0 1px var(--accent) inset;color:#dbe8ff}.apply-status.expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.apply-status.expandable:hover{background:#ffffff17}.apply-status-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.apply-status-head .chev{font-size:12px;color:var(--muted);white-space:nowrap}.apply-detail{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.notice-line{padding:8px 10px;border-radius:8px;background:#f5b24a1f;color:#f3cf8e;font-size:13.5px;line-height:1.6}.notice-body{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:14.5px;line-height:1.8;color:#dbe6f3}.fb-item{padding:12px 0;border-top:1px solid var(--border)}.fb-item:first-of-type{border-top:0;padding-top:4px}.fb-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.fb-content{font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.fb-reply{margin-top:8px;padding:9px 12px;border-radius:10px;background:#3ccf911a;font-size:13.5px;line-height:1.6;color:#cdeedd}.toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom));transform:translate(-50%);background:#141e30f5;color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;box-shadow:0 10px 30px #00000073;border:1px solid rgba(255,255,255,.12);z-index:50;pointer-events:none;max-width:90vw;text-align:center}.toast.ok{border-color:#3ccf9180}.toast.err{border-color:#ff6b6b99}.toast-enter-active,.toast-leave-active{transition:opacity .2s,transform .2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,8px)}@media (max-width: 560px){.page{padding:12px 10px calc(48px + env(safe-area-inset-bottom))}.card{padding:15px;border-radius:14px}.kv{grid-template-columns:1fr auto}.kv .k{grid-column:1 / -1}.kv.plain{grid-template-columns:1fr}.kv.plain .k{grid-column:auto}.user-chip{max-width:58%;padding-left:10px}.brand-name{display:none}.nav{top:6px}.nav button{padding:9px 12px;font-size:13.5px}.row-actions{flex-direction:column;align-items:flex-start;gap:6px}h1{font-size:23px}}
