:root{--bg:#f6f9fb;--paper:#fff;--ink:#243e50;--muted:#5e7382;--green:#4d718b;--mint:#e7eff4;--line:#d3dee6;--orange:#9b6729;--danger:#a5473e;--shadow:0 12px 50px #243e500a;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}
body{font-size:14px}a{text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline-color:#7f9db2}.sidebar{background:#fff;padding-top:27px}.brand{padding:0 12px 33px}.wordmark{font-size:29px;font-weight:800;line-height:1;letter-spacing:-1.6px;color:#243e50}.wordmark span{display:block;margin-top:7px;font-size:10px;letter-spacing:2.2px;font-weight:600}.login{min-height:100vh}.login-visual{background:#e7eff4;color:#243e50;overflow:hidden;position:relative;padding:54px 62px}.login-visual .brand{padding:0;position:relative;z-index:2}.login-visual h1{font-size:clamp(40px,4.3vw,68px);font-weight:500;letter-spacing:-2px;line-height:1.27}.login-visual .eyebrow{color:#5e7382}.login-visual .intro{color:#5e7382;line-height:2;position:relative;z-index:2}.login-form-wrap{background:#fff}.login-form h2{font-size:30px;font-weight:500;letter-spacing:-1px}.login-form .subtitle{line-height:1.8}.login-form .btn.primary{min-height:46px}.login-form .field input{background:#f8fafc}.login-ball{width:170px;height:170px;position:absolute;border:1px solid #9bb1c1;border-radius:50%;right:40px;bottom:132px;opacity:.55;overflow:hidden;transform:rotate(-30deg)}.login-ball:before,.login-ball:after{content:"";position:absolute;width:130px;height:200px;top:-16px;border:1px solid #9bb1c1;border-radius:50%}.login-ball:before{left:-88px}.login-ball:after{right:-88px}.back-home{position:absolute;bottom:32px;font-size:12px;color:#4d718b}.bottom-line{color:#5e7382;border-color:#cad8e2;position:relative;z-index:2}.topbar{background:#fff}.header-actions{gap:12px}.sync{color:#5c6c53}.sync .dot{background:#788d63}.env{background:#f0f5f8;color:#5e7382}.welcome{background:#e7eff4;color:#243e50}.welcome .eyebrow,.welcome p{color:#5e7382}.welcome .hero-sky{right:22px;bottom:0;font-weight:700;letter-spacing:-15px;color:#b3c8d6;opacity:.7;font-size:146px}.welcome h2{position:relative;z-index:1;font-weight:500}.welcome .btn{position:relative;z-index:1;border-color:#8ba5b8;color:#243e50;background:#ffffff7a}.metric{box-shadow:none}.panel{box-shadow:none}.nav-button.active{background:#e7eff4;color:#243e50}.workspace-card{background:#f0f5f8;color:#4d6678}.btn.primary{background:#4d718b;color:white;border-color:#4d718b}.btn.primary:hover{background:#3b5c74}.gift-summary{background:#f0f5f8}.password-screen{min-height:100vh;display:grid;place-items:center;padding:36px;background:#f6f9fb}.password-card{width:min(100%,480px);background:white;padding:44px;border:1px solid var(--line);border-radius:14px}.password-card .brand{padding:0 0 36px}.password-card h1{font-size:29px;font-weight:500;margin-bottom:13px}.password-card>p{color:var(--muted);line-height:1.8;margin-bottom:25px}.password-card .field{margin-bottom:18px}.password-card .btn{margin:8px 7px 0 0;min-height:42px}.pending-panel{padding:20px;margin:0 0 22px;background:#faf4e6;border:1px solid #e4d5b5;border-radius:10px}.pending-panel>p{margin:8px 0 14px;color:#796444}.pending-row{display:flex;gap:16px;align-items:center;justify-content:space-between}.pending-row small{display:block;font-family:monospace;word-break:break-all;margin-top:5px;color:#746752}.form-error{overflow-wrap:anywhere}.mono{overflow-wrap:anywhere}.nav-button{min-height:44px}.icon-btn{min-width:36px;min-height:36px}.content{max-width:1680px;margin:0 auto}.form-hint{line-height:1.8}.table-actions{flex-wrap:wrap}.password-card .form-error{margin-bottom:15px}
@media(max-width:1100px){.header-actions .sync{display:none}.login-visual{padding:44px}.login-ball{width:120px;height:120px;right:30px;bottom:160px}.welcome .hero-sky{font-size:110px}}
@media(max-width:760px){.login-visual{min-height:300px;padding:28px}.login-visual h1{font-size:35px;letter-spacing:-1px}.login-visual .intro,.login-visual .bottom-line,.login-ball{display:none}.back-home{bottom:24px}.login-form-wrap{padding:36px 24px}.login-visual .brand{margin-bottom:28px}.login{display:block}.wordmark{font-size:24px}.wordmark span{font-size:9px}.password-card{padding:28px}.header-actions .env{display:none}.header-actions{gap:6px}.pending-row{display:block}.pending-row .btn{margin-top:12px}.content{padding:20px 15px}.welcome .hero-sky{font-size:92px;letter-spacing:-9px}.sidebar .brand{padding-bottom:18px}.topbar{padding:16px}.crumb{font-size:11px}.header-actions .btn.small{font-size:11px;padding:7px}}
@media print{.pending-panel{display:none}}
@media(max-width:800px){.sidebar .brand>.wordmark{display:block;font-size:19px;letter-spacing:-1px}.sidebar .wordmark span{display:none}.login-form-wrap{min-height:100vh}.nav-button .icon{width:20px;height:20px}}

/* Center icon-only controls inside their complete click target. */
.icon-btn{display:inline-grid;place-items:center;padding:0;line-height:1;flex-shrink:0}
.icon-btn .icon{display:block;vertical-align:initial}
.modal-header .icon-btn{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:50%;align-self:flex-start}

/* Carry the SKY palette through neutral controls inherited from the base UI.
   Success, warning and danger statuses keep their distinct semantic colors. */
.brand-mark{color:#fff}
.nav-label,.nav-button,.crumb,.eyebrow,.page-heading p,.metric-top,.metric-value .unit,.metric-foot,.panel-title p,.alert-copy small,.tab,.table-footer,.empty,.page-note,.modal-header p,.field>span,.field small,.check,.qr-label p,.login-form .subtitle,.login-note,.no-access{color:var(--muted)}
.crumb span:last-child,td strong,.permission-group h3{color:var(--ink)}
.workspace-card,.env,.btn,.search,.field input,.field select,.field textarea,.demo-box{border-color:var(--line)}
.workspace-card p,.inline-detail,.audit-detail summary{color:var(--muted)}
.avatar{background:var(--mint);color:var(--green)}
.btn.soft,.tab.active{background:var(--mint);color:var(--green);border-color:var(--mint)}
.metric-top .icon{color:#6d8ca3}
.search,.field input,.field select,.field textarea,th,.inline-detail{background:#f8fafc}
.search,.search input::placeholder,td .secondary{color:#768b9a}
th{color:var(--muted)}
td{color:#526d80}
th,td,.alert-row{border-bottom-color:#e5edf2}
tbody tr:hover{background:#f3f7fa}
.modal-overlay{background:#142c3e63}
.modal{box-shadow:0 30px 100px #18334430}
.field input,.field select,.field textarea{color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#7f9db2;box-shadow:0 0 0 3px #e7eff4}
.form-hint:not(.warn){background:#f0f5f8;color:#5e7382}
.qr-label{border-color:#b8cbd8}
.login-visual .brand-mark{background:#fff;color:var(--green)}
.login-visual .brand small,.login-visual .bottom-line,.demo-box p{color:var(--muted)}
.list-count{background:var(--mint);color:var(--muted)}
#toast:not(.error){background:var(--ink)}
.gift-navigation button.active{background:var(--mint);color:var(--green)}
.gift-workflow,.gift-card-summary,.selling-panel{background:linear-gradient(120deg,#e7eff4,#f8fafc);border-color:var(--line)}
.gift-workflow span,.gift-card-summary strong,.selling-copy h2,.selling-symbol,.scanner-box>label,.sale-preview>strong{color:var(--green)}
.selling-copy p,.scanner-compat,.gift-workflow small,.gift-card-summary small{color:var(--muted)}
.scanner-box,.sale-preview{background:#f0f5f8;border-color:var(--line)}
.scanner-input-row input{border-color:#b8cbd8;color:var(--ink)}
.scanner-input-row input:focus{border-color:#7f9db2;box-shadow:0 0 0 3px #e7eff4}
@media print{.modal-overlay{background:white}.qr-label{border-color:#000}.qr-label p{color:#000}}
