:root{--brand:#176b5b;--brand2:#0f5145;--bg:#f3f6f5;--line:#dfe7e4;--text:#19332e;--muted:#71817e;--danger:#c53b3b;--shadow:0 8px 28px rgba(25,51,46,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 system-ui,-apple-system,"Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#e3f1ed,#f8faf9)}.login-card{width:min(400px,100%);background:#fff;border-radius:20px;padding:30px;box-shadow:var(--shadow)}.brand{display:flex;gap:12px;align-items:center;margin-bottom:26px}.brand-mark{width:46px;height:46px;border-radius:14px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:23px}.brand h1{font-size:21px;margin:0}.brand p{margin:2px 0;color:var(--muted)}label{display:block;font-weight:650;margin:13px 0 6px}.field{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;outline:none}.field:focus{border-color:var(--brand);box-shadow:0 0 0 3px #176b5b18}textarea.field{min-height:100px;resize:vertical}.btn{border:0;border-radius:10px;padding:10px 15px;cursor:pointer;font-weight:650;background:#e8eeec;color:var(--text)}.btn.primary{background:var(--brand);color:#fff}.btn.danger{background:#fbeaea;color:var(--danger)}.btn.full{width:100%;margin-top:18px}.demo{margin-top:18px;padding:12px;border-radius:10px;background:#f4f8f7;color:var(--muted);font-size:12px}.shell{min-height:100vh}.header{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(18px,calc((100vw - 1200px)/2));gap:12px;position:sticky;top:0;z-index:5}.header h1{font-size:18px;margin:0;flex:1}.user{color:var(--muted)}.layout{max-width:1200px;margin:auto;display:grid;grid-template-columns:210px 1fr;gap:18px;padding:18px}.nav,.card{background:#fff;border:1px solid #e7ecea;border-radius:14px;box-shadow:0 3px 14px rgba(25,51,46,.035)}.nav{padding:10px;height:max-content;position:sticky;top:80px}.nav button{width:100%;border:0;background:none;text-align:left;border-radius:9px;padding:11px 12px;margin:2px 0;color:#53645f;cursor:pointer}.nav button.active,.nav button:hover{background:#e9f3f0;color:var(--brand);font-weight:700}.content h2{margin:3px 0 15px;font-size:21px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stat{padding:18px}.stat b{font-size:28px;display:block;color:var(--brand)}.stat span{color:var(--muted)}.card{padding:18px}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:14px}.list{display:grid;gap:10px}.order{border:1px solid var(--line);border-radius:11px;padding:14px;cursor:pointer;transition:.15s}.order:hover{border-color:#9bbdb4;transform:translateY(-1px)}.order-top{display:flex;gap:10px;align-items:start}.order-title{font-weight:750;flex:1}.code{font-size:12px;color:var(--muted)}.meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:8px}.badge{font-size:12px;padding:3px 8px;border-radius:99px;background:#e8eeec;white-space:nowrap}.s-submitted{background:#e6f0ff;color:#2868ad}.s-processing{background:#fff3d9;color:#966800}.s-workshop_pending,.s-department_pending{background:#f3eafa;color:#74459c}.s-completed{background:#e5f6eb;color:#287644}.empty{text-align:center;color:var(--muted);padding:38px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:13px}.span2{grid-column:1/-1}.photos{display:flex;gap:8px;flex-wrap:wrap}.photos img{width:105px;height:105px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}.timeline{border-left:2px solid var(--line);margin:18px 0 0 8px;padding-left:18px}.event{position:relative;margin:0 0 17px}.event:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--brand);left:-24px;top:5px}.event small{color:var(--muted)}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:620px}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:12px}.tabs{display:flex;gap:6px;margin-bottom:13px}.tabs .btn.active{background:var(--brand);color:#fff}.modal-bg{position:fixed;inset:0;background:#132c2788;display:grid;place-items:center;padding:16px;z-index:20}.modal{background:#fff;border-radius:16px;padding:20px;width:min(600px,100%);max-height:92vh;overflow:auto}.modal h3{margin:0 0 14px}.close{float:right;border:0;background:none;font-size:22px;cursor:pointer}#toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#19332e;color:#fff;border-radius:9px;padding:10px 15px;opacity:0;pointer-events:none;transition:.2s;z-index:30}#toast.show{opacity:1}.hint{color:var(--muted);font-size:12px}.error{color:var(--danger);margin-top:10px}@media(max-width:720px){.header{padding:0 14px}.header h1{font-size:16px}.user{display:none}.layout{display:block;padding:12px 12px 78px}.nav{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:10;border-radius:0;padding:5px;display:flex;overflow:auto;box-shadow:0 -4px 18px #19332e18}.nav button{min-width:78px;text-align:center;padding:8px 5px;font-size:12px}.content h2{font-size:18px}.stats{gap:8px}.stat{padding:13px}.stat b{font-size:23px}.card{padding:14px}.grid2{grid-template-columns:1fr}.span2{grid-column:auto}.toolbar{align-items:flex-start}.toolbar h2{margin:0}.order-top{align-items:center}}
