:root{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#243b60;background:#fff;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;color:#2c4367;background:transparent}#app{max-width:700px;margin:auto;min-height:100dvh;padding-bottom:80px}.top{display:flex;align-items:center;justify-content:space-between;padding:24px 20px 19px}.heading b{font-size:23px;display:block;font-weight:650;color:#294d83}.heading small{display:block;margin-top:5px;color:#7a8798;font-size:15px}.tools{display:flex;gap:9px}.tools button{font-size:28px;min-width:38px;min-height:44px}.role-tabs,.segmented{display:flex;gap:8px;padding:0 14px 16px}.role-tabs button,.segmented button{flex:1;background:#f1f3f8;border-radius:15px;padding:16px 8px;min-height:54px;font-weight:500}.role-tabs button.selected,.segmented button.selected{background:#e7effb;border:1px solid #c6d7f0;color:#264c86}.segmented{padding:12px 0}.segmented button{min-height:48px;padding:10px 4px}main{border-top:1px solid #edf0f5;padding:18px 17px}h2{font-size:19px;margin:10px 0 16px;color:#2d476d}h3{font-size:16px;margin:12px 0}.card{border:1px solid #e0e5ec;border-radius:16px;background:white;padding:17px;margin-bottom:12px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted{color:#798797;font-size:13px}.badge{background:#edf2f8;color:#4b6381;padding:6px 10px;border-radius:13px;font-size:12px;white-space:nowrap}.badge.ok{background:#eaf8f3;color:#177d60}.badge.warn{background:#fff4e7;color:#a06c2c}.badge.danger{background:#fff0f0;color:#ba4141}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.stack{display:grid;gap:10px}.field{display:block;margin:16px 0;color:#6b7b90;font-size:14px}.field input,.field select,.field textarea,input.search{display:block;width:100%;margin-top:9px;border:1px solid #dce2e9;border-radius:13px;padding:15px 14px;min-height:52px;color:#233c5e;background:#fff;outline-color:#b8cbe8}.field textarea{min-height:90px}.btn{border:1px solid #d2dce9;background:#eef3fa;border-radius:12px;padding:12px 15px;min-height:45px;color:#2a4b79}.btn.primary{background:#e5eefb;border-color:#bbd1ef;color:#224b86;font-weight:650}.btn.danger{background:#fff3f3;color:#b64848;border-color:#f4dddd}.actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.actions button{flex:1;font-size:13px}.bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,700px);display:flex;background:#fff;border-top:1px solid #e5e9f0;padding:12px 5px max(12px,env(safe-area-inset-bottom));z-index:4}.bottom button{flex:1;font-size:12px;padding:9px 2px}.bottom button.active{color:#2458ad;font-weight:700}.progress{display:flex;align-items:center;justify-content:space-between;gap:2px;margin:15px 0}.progress span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid #d1d9e4;color:#7e8ca0;font-size:12px}.progress span.done{border-color:#abc5eb;background:#eaf2ff;color:#2b5a9e}.progress i{flex:1;height:1px;background:#dbe2ea}.summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}.summary .card{margin:0}.summary strong{font-size:25px;color:#2e5389}.summary small{display:block;color:#748399}.overlay{position:fixed;inset:0;background:#0005;z-index:8;display:flex;align-items:flex-end;justify-content:center}.overlay.hidden{display:none}.sheet{width:min(100%,700px);background:#fff;border-radius:24px 24px 0 0;padding:20px;max-height:92dvh;overflow:auto}.close{float:right;color:#61728c;padding:8px}.detail-grid{display:grid;grid-template-columns:125px 1fr;gap:14px;margin:14px 0;font-size:14px}.detail-grid span:nth-child(odd){color:#8390a1}.notice{padding:13px;border-radius:12px;background:#f3f6fb;color:#4e6480;margin:10px 0}#toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:#2d4567;color:white;border-radius:12px;padding:11px 17px;display:none;z-index:12;max-width:90%}.chiprow{display:flex;gap:7px;overflow:auto;margin:10px 0 15px}.chiprow button{border:1px solid #e1e5ec;border-radius:10px;padding:9px 12px;white-space:nowrap}.chiprow button.selected{background:#e8f0fc}.float{position:fixed;right:max(19px,calc((100vw - 700px)/2 + 19px));bottom:86px;background:#e5eefb;color:#1d4f95;border:1px solid #c4d7f1;border-radius:50%;width:52px;height:52px;font-size:29px;box-shadow:0 4px 14px #243b601c}.empty{padding:30px 12px;text-align:center;color:#8490a0}.section-title{margin:24px 0 10px;font-size:16px;font-weight:650}@media(min-width:760px){body{background:#f5f7fa}#app{background:#fff;box-shadow:0 2px 30px #1a2a4b0d}}

/* VED Mobile Baseline V1.0: calm cards, no decorative KPI icons */
.work-card{padding:15px 13px}.work-heading{display:grid;gap:6px;min-width:0}.work-heading strong{font-size:15px;line-height:1.45;font-weight:650;color:#253c5f}.work-id{font-size:11px;letter-spacing:.04em;color:#6b829e}.work-state{font-size:12px;color:#718198;margin-top:8px}.work-actions{border-top:1px solid #eef1f5;padding-top:10px}.work-actions .btn{padding:9px 7px;min-height:40px;font-size:12px}.card-head{align-items:flex-start}.card-head .badge{flex-shrink:0}.progress{margin:12px 0}.progress span{flex-shrink:0}@media(max-width:360px){.work-actions{gap:4px}.work-actions .btn{font-size:11px;padding:8px 4px}.role-tabs button{font-size:13px;padding:12px 4px}}

/* VED R2: seven-stage workflow, calm approved baseline */
.step-flow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;margin:17px 0 11px;position:relative}
.step-flow:before{content:"";position:absolute;height:1px;background:#d9e1ea;left:6%;right:6%;top:13px;z-index:0}
.step{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;z-index:1}
.step span{display:grid;place-items:center;background:white;border:1px solid #d3dbe5;border-radius:50%;height:26px;width:26px;font-size:11px;color:#6c7c92}
.step.complete span{color:#476c9f;background:#f0f5fb}.step.current span{background:#e6effb;color:#1f4b88;border:1.5px solid #83a8dc;font-weight:700}
.step small{font-size:9px;line-height:1.2;text-align:center;color:#8b96a4;overflow-wrap:anywhere}.step.current small{color:#294e84;font-weight:650}
.work-card{box-shadow:none}.work-card .work-actions{justify-content:space-between}.work-card .work-actions .btn{min-width:0}
@media(max-width:375px){.step small{font-size:8px}.step span{height:23px;width:23px}.step-flow:before{top:11px}}

/* R3: calendar & meeting preparation; baseline white / pale blue */
.calendar-month{border:1px solid #e0e5ec;border-radius:16px;padding:13px;margin:12px 0;background:#fff}.calendar-month>.row{margin-bottom:14px}.calendar-month .btn{min-width:42px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar-grid small{color:#8592a4;padding:8px 0}.calendar-day{height:43px;border-radius:11px;position:relative;color:#2c4367}.calendar-day.selected{background:#e7effb;border:1px solid #b9cde9;color:#1e4b8b}.calendar-day i{position:absolute;width:4px;height:4px;background:#7097c8;border-radius:50%;bottom:5px;left:calc(50% - 2px)}#dateFilter{max-width:145px;border:1px solid #dce2e9;padding:10px;border-radius:11px;color:#526781}.checklist-section{border-top:1px solid #e8ecf1;margin-top:16px;padding-top:12px}.checklist-item{display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #eef1f5}.checklist-item input{width:18px;height:18px;accent-color:#5d8bc8}.checklist-section form{margin-top:14px}.checklist-section form .search{min-width:0;flex:1}

/* R8: approved Signing form hierarchy and compact tracking filters */
.signing-form .field{margin:13px 0}.sign-priority{border:1px solid #e0e5ec;border-radius:12px;padding:12px;margin:14px 0;color:#61738a}.sign-priority legend{padding:0 5px}.sign-priority label{display:inline-flex;align-items:center;gap:5px;margin:7px 14px 7px 0;font-size:13px}.sign-priority input{accent-color:#5d8bc8}.sign-filters{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.sign-filters .field{margin:8px 0}.sign-filters input,.sign-filters select{min-height:44px;padding:10px}.sign-track>.btn{width:100%}

/* R9: restrained signing history and attachments */
.history-line{padding:11px 0;border-bottom:1px solid #e9edf2;display:grid;gap:5px}.history-line small{color:#7d8a9b}.sign-history{margin-top:18px}.sign-history h3{margin-bottom:8px}
