:root{--ink:#17333d;--muted:#64747b;--bg:#f5f7f6;--paper:#fff;--line:#dce5e3;--teal:#176b68;--teal-dark:#105451;--soft:#eaf4f1;--gold:#b57937;--warn:#9b4d34;--warn-soft:#fff2ea;--ok:#316d53;--shadow:0 16px 42px rgba(21,44,54,.07);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}.wrap{width:min(1100px,calc(100% - 36px));margin:auto}.topbar{background:#152c36;color:#fff;position:sticky;top:0;z-index:10}.top-inner{width:min(1180px,calc(100% - 28px));min-height:72px;margin:auto;display:flex;align-items:center;gap:28px}.brand{color:#fff;display:flex;align-items:center;gap:10px;font-family:Georgia,"Songti SC",serif;font-weight:700;font-size:21px;white-space:nowrap}.brand:hover{text-decoration:none}.brand small{display:block;font:400 11px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;letter-spacing:2px;opacity:.7;margin-top:2px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:#d9af75;color:#152c36;border-radius:11px;font-size:24px}nav{display:flex;gap:4px;flex:1;overflow-x:auto}nav a{color:#d8e2e1;white-space:nowrap;padding:8px 11px;border-radius:7px;font-size:13px}nav a:hover,nav a.active{background:#ffffff1b;color:#fff;text-decoration:none}.account{display:flex;align-items:center;gap:8px;white-space:nowrap}.account button{border:1px solid #ffffff55;background:transparent;color:#fff;border-radius:8px;padding:8px 10px;font-size:12px}.account .name{font-size:12px;color:#e1ebe9}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;border-radius:999px;background:#df8153;color:#fff;font-size:11px;margin-left:5px;padding:0 5px}
main{min-height:calc(100vh - 126px)}.hero{background:linear-gradient(120deg,#17353f,#205b5d);color:#fff;padding:52px 0 56px}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:11px;color:#c5d4d0;margin:0 0 10px}.hero h1{font:700 clamp(32px,5vw,53px)/1.18 Georgia,"Songti SC",serif;letter-spacing:1px;margin:0 0 15px}.hero p{max-width:700px;line-height:1.8;color:#dfebe8;margin:0}.hero .buttons{margin-top:24px}.page{padding:31px 0 60px}.page-title{margin-bottom:24px}.page-title h1{font:700 31px/1.25 Georgia,"Songti SC",serif;margin:0 0 7px}.page-title p{color:var(--muted);margin:0;line-height:1.7}.crumb{font-size:12px;color:var(--muted);margin-bottom:12px}.crumb a{color:var(--muted)}h2{font:700 21px/1.35 Georgia,"Songti SC",serif;margin:0 0 15px}h3{font-size:16px;margin:0 0 7px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.panel,.card{background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.panel{padding:22px;margin-bottom:16px}.card{padding:20px}.card p,.panel p{line-height:1.7}.muted{color:var(--muted)}.small{font-size:12px}.lead{font-size:16px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row.top{align-items:flex-start}.row.wrap{flex-wrap:wrap}.stack{display:grid;gap:12px}.buttons{display:flex;flex-wrap:wrap;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--teal);color:#fff;border:1px solid var(--teal);border-radius:8px;padding:10px 15px;min-height:39px;font-size:13px;font-weight:600;text-decoration:none}.btn:hover{background:var(--teal-dark);color:#fff;text-decoration:none}.btn.secondary{color:var(--teal);background:#fff}.btn.secondary:hover{background:var(--soft)}.btn.light{background:#fff;color:var(--teal);border-color:#fff}.btn.small{padding:6px 10px;min-height:32px;font-size:12px}.btn.danger{background:#fff;color:var(--warn);border-color:#e9c9ba}.btn:disabled{opacity:.45;cursor:not-allowed}.notice{padding:14px 16px;background:#eef6f2;border:1px solid #c8e2d5;border-radius:10px;line-height:1.7;margin-bottom:16px}.notice.warn{background:var(--warn-soft);border-color:#f1d7c7}.pill{display:inline-block;font-size:11px;border-radius:999px;background:var(--soft);color:var(--teal-dark);padding:4px 9px;white-space:nowrap}.pill.pending{background:#fff0db;color:#8a571a}.pill.revision{background:#fff0e9;color:#a24a30}.pill.approved{background:#e5f3ea;color:#256746}.pill.closed{background:#edf0f1;color:#607077}.pill.overdue{background:#fce6e4;color:#a04040}.meta{font-size:12px;color:var(--muted);line-height:1.7}.meta span+span:before{content:' · '}.timeline{display:grid;gap:12px}.timeline .card{border-left:4px solid var(--line)}.timeline .card.current{border-left-color:var(--teal)}.timeline .card.revision{border-left-color:#d98459}.timeline .card.approved{border-left-color:#63a37b}.form{display:grid;gap:13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:grid;gap:6px;font-size:13px;font-weight:600}.field input,.field textarea,.field select{width:100%;border:1px solid #cbd7d4;border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink);outline:none;font-weight:400}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #176b6822}.checkrow{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.checkrow label{display:flex;align-items:center;gap:5px}.checkrow input{accent-color:var(--teal)}.file-list{display:grid;gap:7px;padding:0;list-style:none;margin:10px 0}.file-list li{display:flex;align-items:center;gap:8px;font-size:13px}.history-item{padding:15px 0;border-top:1px solid var(--line)}.history-item:first-child{border-top:0;padding-top:0}.review{padding:14px;border-radius:10px;background:var(--soft);margin-top:12px;white-space:pre-wrap;line-height:1.7}.review.revision{background:var(--warn-soft)}.review h4{margin:0 0 5px;font-size:13px}.empty{text-align:center;color:var(--muted);padding:38px 20px;background:var(--paper);border:1px dashed var(--line);border-radius:12px}.toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:15px}.toolbar input,.toolbar select{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:19px}.stat{padding:18px;border:1px solid var(--line);background:#fff;border-radius:12px}.stat strong{display:block;font:700 28px Georgia,serif;color:var(--teal)}.stat small{color:var(--muted)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{text-align:left;padding:12px 9px;border-bottom:1px solid var(--line)}.table th{color:var(--muted);font-weight:600;white-space:nowrap}.table td{vertical-align:top}.table tr:last-child td{border-bottom:0}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:11px 16px;background:#152c36;color:#fff;border-radius:9px;box-shadow:var(--shadow);z-index:30;max-width:min(500px,90vw)}footer{border-top:1px solid var(--line);padding:18px 0;color:var(--muted);font-size:12px}.login-card{max-width:470px;margin:30px auto}.section{margin:25px 0 15px}.hide{display:none!important}
@media(max-width:760px){.top-inner{min-height:65px;flex-wrap:wrap;gap:6px;padding:9px 0}nav{order:3;width:100%;flex:none}.account{margin-left:auto}.hero{padding:39px 0}.stat-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.page{padding-top:23px}.panel{padding:18px}.grid.two{grid-template-columns:1fr}}
