:root{--coal:#1e201e;--paper:#f3f1eb;--white:#fff;--copper:#b76835;--copper-dark:#8f4924;--line:#d9d4ca;--muted:#77756f;--green:#2f7d4a;--orange:#c97a22;--red:#b53a32;--shadow:0 14px 34px rgba(27,25,21,.08)}
[hidden]{display:none!important}
.field-help{color:var(--muted);font-size:12px;font-weight:400;line-height:1.5;margin-top:-3px}
.subscription-history{border:1px solid var(--line);background:#f8f6f1;padding:14px 16px}.subscription-history>div{display:flex;justify-content:space-between;margin-bottom:8px}.subscription-history input{height:24px;padding:0;border:0;box-shadow:none}.subscription-history small{color:var(--muted)}
.danger-button{height:36px;padding:0 13px;background:#fff;color:var(--red);border:1px solid #d7a19d;border-radius:2px;font-weight:700}.danger-button:hover{background:#f8e5e3}.push-right{margin-left:auto}.action-group{display:flex;gap:8px;justify-content:flex-end;align-items:center}.action-group .row-action,.action-group .danger-button{height:36px;padding:0 13px;white-space:nowrap}
.warehouse-card-actions{display:flex;justify-content:flex-end;margin-top:14px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:#292925;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}body:has(dialog[open]){overflow:hidden}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}.login-panel{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-top:4px solid var(--copper);padding:42px;box-shadow:var(--shadow)}.brand-mark{width:64px;height:64px;border:1px solid #d48958;color:#d48958;display:grid;place-items:center;font:700 28px Georgia,serif;background:var(--coal);margin-bottom:24px}.brand-mark.small{width:44px;height:44px;font-size:21px;margin:0}.eyebrow,.section-kicker{margin:0 0 10px;color:var(--copper);font:700 12px Georgia,serif;letter-spacing:.2em}.login-panel h1,.page-heading h1{font:500 30px Georgia,"Songti SC",serif;margin:0 0 10px}.muted{color:var(--muted);margin:0}.stack-form{display:grid;gap:18px;margin-top:32px}label{display:grid;gap:8px;font-weight:650;color:#4a4944}input,select,textarea{width:100%;border:1px solid #cfcac0;background:#fff;color:#272722;border-radius:2px;padding:0 13px;outline:none;transition:border-color .15s,box-shadow .15s}input,select{height:44px}textarea{padding-top:11px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--copper);box-shadow:0 0 0 3px rgba(183,104,53,.11)}
.primary-button,.secondary-button,.text-button,.icon-button{border:0}.primary-button{height:46px;background:var(--copper);color:white;padding:0 22px;font-weight:700;border-radius:2px}.primary-button:hover{background:var(--copper-dark)}.primary-button.compact{height:40px}.secondary-button{height:40px;padding:0 18px;background:#fff;color:var(--copper-dark);border:1px solid #c88a64;border-radius:2px;font-weight:650}.text-button{background:transparent;color:#d8b39a;padding:6px}.icon-button{background:transparent;color:#666;font-size:28px;line-height:1}.form-error{min-height:20px;color:var(--red);margin:0}
.app-shell{min-height:100vh}.topbar{height:86px;background:var(--coal);border-bottom:4px solid var(--copper);display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1440px)/2));color:white}.brand{display:flex;align-items:center;gap:15px}.brand strong{display:block;font-size:18px;letter-spacing:.08em}.brand span{display:block;color:#9c9c96;font:10px Georgia,serif;letter-spacing:.25em;margin-top:5px}.operator{display:flex;align-items:center;gap:22px;color:#9f9f99}.operator b{color:#d4a482}.topbar+main{max-width:1440px;margin:auto;padding:54px 32px 72px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.page-heading h1{font-size:34px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--copper);padding:22px 24px;min-height:124px}.stat-label{color:var(--muted);margin-bottom:16px}.stat-value{font:700 32px Georgia,serif}.stat-unit{font:400 13px sans-serif;color:var(--muted);margin-left:5px}
.panel{background:#fff;border:1px solid var(--line)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--line)}h2,h3{margin:0;font-weight:650}.panel-header h2{font-size:21px}.search-box{display:flex;align-items:center;grid-template-columns:auto 260px;gap:12px;font-size:12px;color:var(--muted)}.search-box input{width:260px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:760px}th{text-align:left;background:#f8f7f3;color:#68665f;font-size:12px;letter-spacing:.04em;padding:12px 20px;border-bottom:1px solid var(--line)}td{padding:15px 20px;border-bottom:1px solid #e7e3db;vertical-align:middle}tbody tr:hover{background:#fcfaf7}.company-cell strong{display:block;margin-bottom:5px}.company-cell small{color:var(--muted)}.status{display:inline-flex;padding:4px 9px;border-radius:2px;font-size:12px;font-weight:700}.status.active,.status.paid{background:#e7f3eb;color:var(--green)}.status.pending,.status.unpaid{background:#fff1dd;color:var(--orange)}.status.expired,.status.disabled{background:#f8e5e3;color:var(--red)}.status.suspended,.status.partial{background:#eeeae4;color:#716c64}.row-action{color:var(--copper-dark);border:1px solid #d8af94;background:white;height:32px;padding:0 12px;border-radius:2px}.empty-state{text-align:center;color:var(--muted);padding:50px}.money{font-family:Georgia,serif;font-weight:700}.danger-text{color:var(--red)}
dialog{border:0;padding:0;background:transparent;max-width:none}dialog::backdrop{background:rgba(18,19,18,.58)}.dialog-card{width:min(680px,calc(100vw - 30px));max-height:calc(100vh - 30px);overflow:auto;background:#fff;border-top:4px solid var(--copper);box-shadow:0 24px 70px rgba(0,0,0,.28)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:26px 28px}.span-2{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 28px;border-top:1px solid var(--line);background:#faf9f6}.dialog-card>.form-error{padding:0 28px}.wide-dialog .detail-card{width:min(1120px,calc(100vw - 30px))}.detail-toolbar{display:flex;gap:10px;padding:18px 28px;border-bottom:1px solid var(--line)}.subsection{padding:26px 28px;border-bottom:1px solid var(--line)}.subsection-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.subsection-title span{color:var(--muted);font-size:12px}.warehouse-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.warehouse-card{border:1px solid var(--line);border-left:4px solid var(--copper);padding:18px}.warehouse-card-head{display:flex;justify-content:space-between;gap:10px}.warehouse-card h4{margin:0 0 6px;font-size:16px}.warehouse-card p{margin:5px 0;color:var(--muted)}.lease-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid #e8e3da;margin-top:14px;padding-top:14px}.lease-row b{display:block;margin-top:4px;color:#333}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}fieldset{border:1px solid var(--line);padding:14px}legend{font-weight:650}.check-option{display:flex;grid-template:none;align-items:center;gap:8px;font-weight:500}.check-option input{width:16px;height:16px}.toast{position:fixed;right:24px;bottom:24px;background:var(--coal);color:white;border-left:4px solid var(--copper);padding:14px 20px;box-shadow:var(--shadow);z-index:20}
.workspace-shell{min-height:100vh}.workspace-main{max-width:1440px;margin:auto;padding:48px 32px 72px}.workspace-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.workspace-heading h1{font:500 34px Georgia,"Songti SC",serif;margin:0 0 8px}.warehouse-selector{width:260px;color:var(--muted);font-size:12px}.warehouse-summary{display:grid;grid-template-columns:1.35fr 1fr 1fr;background:#fff;border:1px solid var(--line);border-left:5px solid var(--copper);margin-bottom:26px}.warehouse-summary>div{display:grid;align-content:center;min-height:132px;padding:22px 28px;border-right:1px solid var(--line)}.warehouse-summary>div:last-child{border-right:0}.warehouse-summary span,.warehouse-summary small{color:var(--muted)}.warehouse-summary strong{font-size:22px;margin:10px 0 6px}.warehouse-summary .copper-number{font:700 26px Georgia,serif;color:var(--copper-dark)}.warehouse-summary .copper-number b{font-size:40px}.module-section{background:#fff;border:1px solid var(--line);padding:28px}.section-heading{margin-bottom:20px}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.module-card{min-height:138px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:2px;padding:20px;display:grid;grid-template-columns:44px 1fr;gap:14px;position:relative;color:#292925}.module-card:hover{border-color:#c88a64;background:#fcfaf7}.module-icon{width:44px;height:44px;display:grid;place-items:center;background:#f2e7df;color:var(--copper-dark);font:700 19px Georgia,serif}.module-card strong{display:block;font-size:17px;margin:2px 0 9px}.module-card small{display:block;color:var(--muted);line-height:1.55}.module-card i{position:absolute;right:18px;bottom:14px;color:var(--copper-dark);font-style:normal;font-size:12px}.access-blocked{max-width:720px;margin:50px auto;background:#fff;border:1px solid var(--line);border-top:4px solid var(--orange);padding:38px}.access-blocked h1{font:500 30px Georgia,"Songti SC",serif;margin:0 0 12px}.blocked-list{display:grid;gap:10px;margin:24px 0}.blocked-list>div{border:1px solid var(--line);padding:14px 16px;display:flex;justify-content:space-between;gap:20px}.blocked-list span{color:var(--red)}.mobile-nav{display:none}
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}.warehouse-grid{grid-template-columns:1fr}.topbar{padding:0 20px}.operator span{display:none}.topbar+main{padding:36px 20px 60px}.panel-header{align-items:flex-end}.search-box{display:grid}.search-box input{width:220px}.module-grid{grid-template-columns:repeat(2,1fr)}.warehouse-summary{grid-template-columns:1fr 1fr}.warehouse-summary>div:first-child{grid-column:1/-1;border-bottom:1px solid var(--line)}}
@media(max-width:620px){.login-panel{padding:30px 24px}.topbar{height:76px}.brand span,.operator b{display:none}.topbar+main{padding:28px 14px 50px}.page-heading{align-items:flex-start;gap:18px}.page-heading h1{font-size:28px}.page-heading .muted{max-width:210px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:17px;min-height:105px}.stat-value{font-size:26px}.panel-header{display:grid;gap:18px;padding:20px}.search-box,.search-box input{width:100%}.form-grid{grid-template-columns:1fr;padding:22px 20px}.span-2{grid-column:auto}.dialog-header,.dialog-actions,.detail-toolbar,.subsection{padding-left:20px;padding-right:20px}.warehouse-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.subsection-title{align-items:flex-start;gap:6px;flex-direction:column}.operator{gap:10px}.brand strong{font-size:15px}.workspace-shell{padding-bottom:70px}.workspace-main{padding:28px 14px 34px}.workspace-heading{display:grid;gap:18px;align-items:start}.workspace-heading h1{font-size:28px}.warehouse-selector{width:100%}.warehouse-summary{grid-template-columns:1fr}.warehouse-summary>div,.warehouse-summary>div:first-child{grid-column:auto;min-height:106px;padding:17px 20px;border-right:0;border-bottom:1px solid var(--line)}.warehouse-summary>div:last-child{border-bottom:0}.warehouse-summary strong{font-size:19px}.warehouse-summary .copper-number b{font-size:32px}.module-section{padding:20px 14px}.module-grid{grid-template-columns:1fr 1fr;gap:10px}.module-card{min-height:154px;display:block;padding:15px}.module-icon{width:38px;height:38px;margin-bottom:12px}.module-card strong{font-size:15px}.module-card small{font-size:12px}.module-card i{display:none}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:66px;background:#fff;border-top:1px solid var(--line);z-index:15;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{border:0;background:#fff;color:#5e5b55;font-size:11px;display:grid;place-items:center;align-content:center;gap:3px;min-width:0}.mobile-nav button span{font-size:18px;color:var(--copper-dark)}.access-blocked{margin:20px 0;padding:26px 20px}.blocked-list>div{display:grid;gap:5px}.toast{left:14px;right:14px;bottom:78px;text-align:center}.workspace-operator{gap:8px}.workspace-operator .text-button{min-width:44px}}
