:root { --ink:#173b35; --ink-2:#28554c; --cream:#f7f3e9; --paper:#fffdf8; --line:#ded8ca; --muted:#69716d; --green:#1d7356; --orange:#d7772f; --red:#a33c37; }
* { box-sizing:border-box; }
body { margin:0; background:var(--cream); color:var(--ink); font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Microsoft YaHei",sans-serif; }
button,input,textarea,select { font:inherit; } button { cursor:pointer; }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 20% 10%,#d9e6d2 0,transparent 33%),var(--cream); }
.login-card { width:min(440px,100%); background:var(--paper); padding:44px; border:1px solid var(--line); box-shadow:0 22px 70px #173b3514; border-radius:20px; }
.eyebrow { color:var(--green); font-size:12px; letter-spacing:.14em; font-weight:800; margin:0 0 8px; text-transform:uppercase; }.login-card h1,.workspace h1{margin:0;font-family:Georgia,"Noto Serif SC",serif;font-size:31px}.login-card>p:not(.eyebrow){color:var(--muted);margin:12px 0 28px}.login-card label,.form-grid label{display:grid;gap:7px;font-weight:700;color:var(--ink);margin:14px 0}.login-card button,.button-primary{background:var(--ink);color:white;border:0;border-radius:8px;padding:12px 18px;font-weight:800;width:100%;margin-top:8px}.error{color:var(--red);font-size:13px}.app{display:flex;min-height:100vh}.sidebar{width:238px;background:var(--ink);color:#d9e5de;padding:28px 16px;display:flex;flex-direction:column}.brand{font-weight:900;letter-spacing:.12em;font-size:25px;padding:0 12px 42px}.brand span{display:block}.brand small{font-size:9px;letter-spacing:.2em;color:#9fc4b5}.sidebar nav{display:grid;gap:5px}.nav{background:transparent;color:#d9e5de;text-align:left;border:0;border-radius:8px;padding:11px 12px}.nav:hover,.nav.active{background:#ffffff19;color:#fff}.sidebar-footer{margin-top:auto;font-size:12px;color:#98aaa4;padding:12px}.workspace{width:min(1450px,calc(100% - 238px));padding:38px 46px}.workspace header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.button-secondary{border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 13px;border-radius:7px}.notice{padding:12px 15px;background:#e4f2eb;border-left:4px solid var(--green);margin:0 0 20px;border-radius:5px}.notice.error{background:#f8e7e5;border-color:var(--red);color:var(--red)}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px}.card small{display:block;color:var(--muted);font-weight:700}.card strong{display:block;font:34px Georgia,serif;margin-top:6px}.grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}.panel h2{font:19px Georgia,serif;margin:0 0 15px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:11px 8px;white-space:nowrap}th{font-size:12px;color:var(--muted);letter-spacing:.04em}.status{font-size:12px;border-radius:999px;padding:4px 8px;background:#e8eee9;color:var(--ink);font-weight:700}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.toolbar input,.toolbar select{min-width:180px;flex:1}.button-add{background:var(--green);color:white;border:0;border-radius:7px;padding:10px 14px;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-grid .full{grid-column:1 / -1}.form-grid input,.form-grid textarea,.form-grid select,.login-card input{border:1px solid var(--line);border-radius:7px;background:white;padding:10px;color:var(--ink);width:100%}.form-grid textarea{min-height:96px;resize:vertical}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.actions button{width:auto;margin:0}.empty{color:var(--muted);padding:24px 0}.list{display:grid;gap:9px}.list-item{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.list-item:last-child{border:0}.muted{color:var(--muted);font-size:13px}.lead-row{cursor:pointer}.lead-row:hover{background:#f7f4ec}.modal{position:fixed;inset:0;background:#173b3577;display:grid;place-items:center;padding:18px;z-index:3}.modal-card{width:min(780px,100%);max-height:90vh;overflow:auto;background:var(--paper);border-radius:13px;padding:24px;box-shadow:0 24px 70px #0004}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0;font:24px Georgia,serif}.icon-button{border:0;background:transparent;font-size:22px;color:var(--ink)}.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:8px 0 8px 16px;border-left:2px solid #bfd4c7}.switch{display:flex;align-items:center;gap:8px;font-weight:700}.warning{background:#fbefd9;border-left:4px solid var(--orange);padding:12px 14px;border-radius:4px}.rule-note{margin:0 0 18px;color:var(--muted)}@media(max-width:1000px){.cards{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:1fr}.workspace{padding:28px;width:calc(100% - 210px)}.sidebar{width:210px}}@media(max-width:720px){.sidebar{width:64px;padding:20px 8px}.brand{font-size:0;padding:0 6px 28px}.brand span::after{content:'L';font-size:24px}.brand small,.sidebar-footer,.nav{font-size:0}.nav{height:42px}.workspace{width:calc(100% - 64px);padding:22px 16px}.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.workspace header h1{font-size:25px}}

[hidden]{display:none !important}
