:root{font-family:Inter,Microsoft YaHei,sans-serif;color:#27313d;background:#f5f7fa;--gap: 10px;--pad: 8px 10px;--radius: 6px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#1f2937,#56677e)}.login-card{width:min(400px,calc(100vw - 28px));display:grid;gap:12px;padding:28px;border-radius:12px;background:#fff;box-shadow:0 20px 50px #0005}.login-card h1{margin:0 0 6px;font-size:22px}.login-card label,.project-form label,.department-form label{display:grid;gap:5px;font-weight:650;font-size:13px}.login-card input,.project-form input,.project-form textarea,.project-form select,.department-form input{border:1px solid #ccd4df;border-radius:var(--radius);padding:var(--pad)}.hint{margin:0 0 10px;color:#64748b;font-size:12px;line-height:1.4}.hint code{padding:0 4px;border-radius:3px;background:#f1f5f9;color:#334155}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:#c8956d;color:#fff;font-weight:800;font-size:13px}.eyebrow{margin:0;color:#758194;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.shell{min-height:100vh;display:grid;grid-template-columns:188px 1fr}aside{display:flex;flex-direction:column;gap:14px;padding:16px 12px;background:#1f2937;color:#eef2f7}.brand{display:flex;gap:8px;align-items:center;font-weight:800;letter-spacing:.06em;font-size:13px}.brand small,.profile small{display:block;margin-top:3px;color:#aeb9c7;font-size:11px;letter-spacing:normal;font-weight:500}.profile{padding:10px 8px;border-block:1px solid #ffffff20}.profile b{font-size:13px}nav{display:grid;gap:2px}nav button,.logout{padding:8px 10px;border:0;border-radius:var(--radius);background:transparent;color:inherit;text-align:left;font-size:13px}nav button:hover,nav button.active{background:#ffffff18}.logout{margin-top:auto;color:#f3bd9c}.content{min-width:0;padding:18px clamp(14px,2.5vw,36px) 28px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}header h1{margin:2px 0 0;font-size:22px}header span{color:#64748b;font-size:13px}.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.overview article,.panel{border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 1px 3px #1e293b08}.overview article{padding:14px 16px}.overview p{margin:0 0 6px;color:#64748b;font-size:12px}.overview strong{font-size:20px}.upload-card{display:grid;gap:8px;align-content:start}.expand-btn{padding:4px 8px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;font-size:12px}.member-expand-row td{background:#f8fafc}.nested-table{margin:0;background:#fff;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.panel{padding:14px 16px}.toolbar{display:flex;justify-content:flex-start;gap:8px;margin-bottom:12px;flex-wrap:nowrap;align-items:center;overflow-x:auto;padding-bottom:2px}.toolbar.filters{justify-content:flex-start}.toolbar input,.toolbar select{width:auto;min-width:0;flex:0 0 auto;border:1px solid #ccd4df;border-radius:var(--radius);padding:6px 8px;font-size:13px;height:32px}.toolbar input[placeholder*=项目]{width:160px}.toolbar input[type=number],.toolbar input[type=date]{width:110px;min-width:110px}.toolbar select{width:120px}.toolbar .primary,.toolbar button{flex:0 0 auto;white-space:nowrap;height:32px;padding:0 10px;font-size:13px;border-radius:var(--radius)}.date-separator{color:#64748b;font-size:12px;flex:0 0 auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:8px;text-align:left;border-bottom:1px solid #edf0f4;vertical-align:middle}th{color:#738094;font-size:11px;font-weight:650}.actions{white-space:nowrap}.actions button,.form-actions button{margin-right:4px;padding:4px 8px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;font-size:12px}.actions .danger{color:#b42318}.primary{border:0!important;border-radius:var(--radius);padding:8px 12px;background:#c2764a!important;color:#fff;font-weight:650;font-size:13px}.project-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:820px}.department-form{display:grid;grid-template-columns:120px minmax(180px,1fr) auto auto;align-items:end;gap:10px;margin-bottom:14px}.team-forms{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:10px;margin-bottom:14px}.mini-form{display:grid;gap:7px;padding:10px;border:1px solid #e2e8f0;border-radius:6px}.mini-form b{font-size:13px}.mini-form input,.mini-form select{border:1px solid #ccd4df;border-radius:var(--radius);padding:7px 8px;font-size:13px}.generated-account{display:grid;gap:4px;margin:0 0 14px;padding:10px;border:1px solid #b8d9c1;border-radius:6px;background:#f0fdf4;color:#166534;font-size:13px}.generated-account code{width:fit-content;padding:1px 5px;border-radius:3px;background:#dcfce7;color:#14532d}.group-badge{display:inline-block;padding:2px 6px;border-radius:999px;background:#fff0df;color:#a24d18;font-weight:700;font-size:12px}.briefing-panel{position:fixed;z-index:10;top:6vh;right:3vw;width:min(520px,92vw);max-height:86vh;overflow:auto;box-shadow:0 16px 40px #1e293b33}.briefing-panel h2{margin:0 0 8px;font-size:18px}.briefing-panel article{line-height:1.55;font-size:13px}.close-briefing{float:right;border:0;background:transparent;font-size:22px}.attachment-row{display:flex;justify-content:space-between;gap:10px;padding:8px;border-top:1px solid #e2e8f0;font-size:13px}.briefing-upload{display:grid;gap:6px;margin:10px 0;font-weight:650;font-size:13px}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#0f172a66}.success-modal{width:min(340px,calc(100vw - 28px));display:grid;gap:14px;padding:22px 18px;border-radius:10px;background:#fff;box-shadow:0 20px 50px #0f172a33;text-align:center}.success-modal p{margin:0;font-size:16px;font-weight:700;color:#166534}.wide,.form-actions{grid-column:1 / -1}.error{color:#b42318;font-size:13px}.notice{color:#067647;font-size:13px}code{font-size:12px}@media(max-width:960px){.toolbar{flex-wrap:wrap}}@media(max-width:760px){.shell{grid-template-columns:1fr}aside{min-height:auto}.logout{margin-top:0}.overview,.project-form,.department-form,.team-forms{grid-template-columns:1fr}.wide{grid-column:auto}.content{padding:14px 12px 24px}.panel{overflow-x:auto}.toolbar{flex-wrap:wrap}}
