:root{--ink:#14212f;--muted:#718092;--line:#e6ebef;--canvas:#f5f7f8;--white:#fff;--green:#0b735f;--green-dark:#075744;--green-soft:#e5f3ee;--blue:#3e69a2;--amber:#b87925;--red:#bb4a45;--shadow:0 10px 38px rgba(21,42,49,.06)}
*{box-sizing:border-box}body{margin:0;font:14px/1.55 "Microsoft YaHei", "PingFang SC", Arial,sans-serif;color:var(--ink);background:var(--canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}.shell{display:flex;min-height:100vh}.sidebar{width:234px;flex:none;background:#102923;color:#d9e8e2;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:28px 25px 32px}.mark{width:38px;height:38px;border-radius:11px;background:#d7eee3;color:#0a5f4d;display:grid;place-items:center;font-size:21px;font-weight:800}.brand strong{display:block;color:white;font-size:19px;letter-spacing:2px;line-height:1.2}.brand span{display:block;color:#a7c6ba;font-size:11px;letter-spacing:1px}.nav-label{font-size:11px;letter-spacing:2px;color:#80a499;padding:9px 25px;text-transform:uppercase}nav{padding:0 11px}nav button{width:100%;display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#bed3ca;padding:12px 15px;text-align:left;border-radius:9px;margin:3px 0;font-weight:600}nav button:hover,nav button.active{background:#21483b;color:white}.nav-icon{font-size:18px;width:22px;text-align:center;font-family:Arial}.count{margin-left:auto;border-radius:20px;background:#e5a953;color:#173328;padding:0 7px;font-size:11px}.sidebar-bottom{margin-top:auto;padding:20px 23px;border-top:1px solid #2b493f;display:flex;gap:10px;align-items:center}.server-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#69d7a1;box-shadow:0 0 0 4px #295c47}.sidebar-bottom strong,.sidebar-bottom small{display:block}.sidebar-bottom strong{font-size:12px}.sidebar-bottom small{font-size:11px;color:#9bbbad}.main{flex:1;min-width:0}.topbar{height:70px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.topbar #breadcrumbs{color:#536371;font-size:13px}.topbar #breadcrumbs span{color:#b8c1c7;margin:0 9px}.top-actions{display:flex;align-items:center;gap:14px;color:#6b7b87;font-size:12px}.avatar{height:31px;width:31px;border-radius:50%;background:#dceee5;color:#0a6a55;display:grid;place-items:center;font-weight:700}.text-button{border:0;background:none;color:#647684;padding:4px}.text-button:hover{color:var(--green)}.content{max-width:1500px;margin:auto;padding:32px 35px 65px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:800;color:var(--green)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.page-head h1{margin:5px 0 4px;font-size:27px;letter-spacing:-.8px}.subtle{color:var(--muted);font-size:13px;margin:0}.btn{border:1px solid var(--line);background:white;color:#304659;border-radius:8px;padding:9px 16px;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.15s}.btn:hover{border-color:#9cb8aa;transform:translateY(-1px)}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.primary:hover{background:var(--green-dark)}.btn.danger{color:var(--red);border-color:#e7c4c2}.btn.small{font-size:12px;padding:6px 11px}.btn.wide{width:100%}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.grid{display:grid;gap:17px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.metric{background:white;border:1px solid var(--line);border-radius:12px;padding:20px 23px;box-shadow:var(--shadow)}.metric .label{font-size:12px;color:var(--muted)}.metric .value{font-size:29px;font-weight:800;margin-top:6px;line-height:1.2}.metric .foot{font-size:11px;color:#9eacb4;margin-top:9px}.metric.accent{background:#123d32;color:white;border-color:#123d32}.metric.accent .label,.metric.accent .foot{color:#a6c8b8}.two-col{grid-template-columns:1.5fr 1fr}.card{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.card-head{padding:18px 21px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.card-head h2{font-size:16px;margin:0}.card-body{padding:20px}.card-empty{padding:35px;color:#8997a2;text-align:center}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:#87949e;font-size:11px;font-weight:700;background:#fafbfb;padding:11px 16px;white-space:nowrap}.data-table td{padding:14px 16px;border-top:1px solid #eef1f2;vertical-align:top}.data-table tr:hover td{background:#fcfdfd}.data-table .strong{font-weight:700;color:#1d3440}.data-table .muted{font-size:11px;color:#8d9ba5}.row-link{border:0;background:none;color:var(--green);padding:0;font-weight:700;text-align:left}.row-link:hover{text-decoration:underline}.badge{display:inline-block;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:700;background:#eef1f3;color:#61717e;white-space:nowrap}.badge.approved,.badge.active,.badge.closed,.badge.done{background:#e3f4ea;color:#16714f}.badge.pending,.badge.source_pending,.badge.initiation_pending{background:#fff1d7;color:#99651c}.badge.draft,.badge.source_draft,.badge.source_approved{background:#eaf0f5;color:#4f6f89}.badge.rejected,.badge.delayed{background:#fae6e4;color:#a94442}.flow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:17px 0}.flow-step{background:#edf3ef;border:1px solid #e1eae5;border-radius:8px;text-align:center;padding:10px 4px;font-size:11px;color:#517364;font-weight:700}.flow-step.current{background:#176f58;color:white;border-color:#176f58}.flow-step.done{background:#d9eee2;color:#13694f}.detail-head{background:#123c31;color:white;border-radius:13px;padding:23px 27px;margin-bottom:19px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.detail-head .eyebrow{color:#9ccbb5}.detail-head h1{font-size:25px;margin:6px 0}.detail-head .subtle{color:#bed8cb}.detail-head .badge{margin-left:8px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow:auto;margin-bottom:18px}.tabs button{border:0;background:none;color:#6d7f89;padding:12px 15px;white-space:nowrap;font-weight:700;border-bottom:2px solid transparent}.tabs button.active{color:var(--green);border-bottom-color:var(--green)}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.info{padding:13px 0;border-bottom:1px solid #eef1f2}.info-label{font-size:11px;color:#8b9aa3;margin-bottom:3px}.info-value{white-space:pre-wrap;overflow-wrap:anywhere}.item-list{display:grid;gap:12px}.item-card{border:1px solid var(--line);background:white;border-radius:10px;padding:17px 19px}.item-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.item-card h3{margin:0 0 4px;font-size:15px}.item-meta{color:#8c9ba4;font-size:11px}.item-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px;margin-top:14px}.item-details>div{font-size:12px;color:#526472;white-space:pre-wrap;overflow-wrap:anywhere}.item-details strong{display:block;font-size:11px;color:#8a98a0;font-weight:600}.item-actions{display:flex;gap:7px;margin-top:14px;border-top:1px solid #edf1f0;padding-top:13px;flex-wrap:wrap}.empty-state{text-align:center;padding:53px 20px;color:#87979f}.empty-state .symbol{font-size:31px;color:#c6d9d0}.empty-state h3{color:#40525d;font-size:15px;margin:8px 0 3px}.approval-line{border-left:3px solid #c6dbc9;padding:9px 14px;margin:10px 0;background:#fafcfb}.approval-line.pending{border-color:#e7b65f}.approval-line.rejected{border-color:#d67970}.approval-line .title{font-weight:700}.approval-line .small{font-size:11px;color:#7c8b96;margin-top:4px}.callout{padding:14px 17px;border-radius:9px;background:#eef7f2;color:#245d48;font-size:12px;margin-bottom:16px}.callout.warn{background:#fff4e5;color:#895c1f}.modal-backdrop{position:fixed;inset:0;z-index:10;background:rgba(14,31,33,.5);display:grid;place-items:center;padding:22px}.modal{background:white;width:min(750px,100%);max-height:92vh;overflow:auto;border-radius:15px;box-shadow:0 25px 80px rgba(0,0,0,.18)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding:22px 25px}.modal-head h2{margin:5px 0 0;font-size:20px}.icon-button{border:0;background:#f0f3f3;color:#63737e;width:30px;height:30px;border-radius:6px;font-size:21px;line-height:1}.modal form{padding:22px 25px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.auth-card label{display:block;font-size:12px;font-weight:700;color:#526473}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.auth-card input{display:block;width:100%;border:1px solid #dce4e6;border-radius:7px;background:white;color:var(--ink);padding:10px 11px;margin-top:6px;outline:none}.form-grid input:focus,.form-grid textarea:focus,.auth-card input:focus{border-color:#4eaa87;box-shadow:0 0 0 3px #dcefe5}.form-grid textarea{min-height:86px;resize:vertical}.form-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.auth-screen{min-height:100vh;background:#f3f6f4;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:29px;font-size:23px;font-weight:800;color:#123b31}.auth-brand small{display:block;color:#7c9689;font-size:9px;letter-spacing:2px}.auth-card{background:white;border:1px solid #e3e9e5;border-radius:15px;box-shadow:0 20px 60px rgba(17,66,44,.08);padding:34px;width:min(410px,100%)}.auth-card h1{font-size:25px;margin:5px 0}.auth-card p{color:#85929b;margin:0 0 25px}.auth-card label{margin-bottom:16px}.auth-card .btn{margin-top:10px}.auth-card .auth-tip{font-size:11px;line-height:1.5;margin:19px 0 0}.toast{position:fixed;right:26px;bottom:25px;background:#143f32;color:white;padding:12px 18px;border-radius:8px;box-shadow:0 12px 30px #0003;z-index:20;max-width:400px}.toast.error{background:#9f413e}.workflow-list{counter-reset:flow}.workflow-list li{padding:8px 0 8px 6px;color:#4d616a}.workflow-list li strong{color:#1c3e36}.pillbar{display:flex;gap:7px;flex-wrap:wrap}.pill{background:#f0f4f3;border-radius:6px;padding:5px 9px;font-size:11px;color:#5e7374}.code{font-family:Consolas,monospace;font-size:12px;color:#42715d}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.flow{grid-template-columns:repeat(4,1fr)}}@media(max-width:720px){.sidebar{width:62px}.brand{padding:19px 12px}.brand>div:last-child,.nav-label,.sidebar-bottom,nav button:not(.active) .count{display:none}nav{padding:0 7px}nav button{font-size:0;justify-content:center;padding:13px 0}.nav-icon{font-size:20px}.topbar{padding:0 15px}.top-actions #today,.top-actions #user-name{display:none}.content{padding:21px 14px}.page-head{align-items:flex-start}.page-head h1{font-size:23px}.info-grid,.item-details,.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.flow{grid-template-columns:repeat(3,1fr)}.detail-head{padding:18px}.metrics{gap:9px}.metric{padding:15px}}

/* Larger text and roomier form controls for sustained reading and data entry. */
body{font-size:18px}
.subtle,.topbar #breadcrumbs,.form-grid label,.auth-card label,.data-table,.item-details>div,.approval-line .small,.top-actions{font-size:16px}
.data-table th,.info-label,.item-details strong,.item-meta,.badge,.pill,.btn.small,.metric .label,.metric .foot,.sidebar-bottom strong,.sidebar-bottom small{font-size:14px}
.modal{width:min(900px,100%)}
.form-grid textarea{min-height:110px}
.form-grid input,.form-grid select,.form-grid textarea,.auth-card input{padding:12px 13px}
.ai-box{margin-top:20px;padding:17px;border:1px solid #cddfd6;border-radius:10px;background:#f5faf7}
.ai-box h3{margin:0 0 8px;font-size:17px}
.ai-box p{margin:5px 0 10px;color:#526b60;font-size:14px}
.ai-controls{display:grid;grid-template-columns:minmax(150px,1fr) 2fr auto;gap:9px;align-items:end}
.ai-controls input,.ai-controls select{width:100%;border:1px solid #cddbd3;border-radius:7px;padding:10px;background:white}
.ai-suggestions{margin-top:14px}
.ai-suggestion{padding:11px 0;border-top:1px solid #dce9e1}
.ai-suggestion label{font-weight:700;display:flex;gap:9px;align-items:center}
.ai-suggestion p{white-space:pre-wrap;margin:5px 0 0 23px;color:#273f34}
.ai-note{font-size:13px;color:#8a5a23;margin-top:7px}
.meeting-meta{color:#6d7e87;font-size:14px;margin:7px 0}
.meeting-votes{padding:9px 0;display:grid;gap:6px}
.meeting-votes>div{border-left:3px solid #d7e4dd;padding:5px 11px;background:#f8fbf9}
.flow{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:21px 0 10px;padding-top:14px;border-top:1px solid var(--line)}
.section-head h4{font-size:17px;margin:0;color:#244638}
.item-card .table-wrap{border:1px solid var(--line);border-radius:8px}
.item-card .data-table th{font-size:14px}
.item-card .data-table td{font-size:16px}
@media(max-width:720px){.ai-controls{grid-template-columns:1fr}}
