:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#172a29;background:#f4f7f6;font-size:14px;--green:#17675b;--line:#e2e9e6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{outline-offset:3px}button{background:white;border:1px solid #d4dfda;border-radius:8px;padding:10px 14px;color:inherit;font-weight:550}button:hover{background:#edf5f1}button.primary{background:var(--green);border-color:var(--green);color:white}button:disabled{opacity:.5;cursor:wait}input,select,textarea{width:100%;border:1px solid #cfdbd5;border-radius:8px;padding:10px;background:white;color:inherit}textarea{resize:vertical;min-height:95px}label{display:block;font-size:12px;font-weight:600;color:#60736c;margin:15px 0 7px}a{color:var(--green);text-underline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;font-weight:650}h2{font-size:20px}h3{font-size:15px}small,.muted{color:#72847b}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:#102f2c;color:#dcebe5;padding:32px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 12px;margin-bottom:46px}.brandmark{display:grid;place-items:center;background:#d7eee2;color:#164f43;border-radius:9px;width:38px;height:38px;font-size:17px;font-weight:800}.brand strong{font-size:19px;letter-spacing:.8px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#8eb3a5;margin-top:4px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{background:transparent;border:0;color:#a9c4ba;text-align:left;padding:13px 15px}.nav button.active{background:#244c44;color:white}.nav button span{margin-right:12px}.sidebar-foot{margin-top:auto;padding:20px 10px 0;border-top:1px solid #315048}.sidebar-foot strong{display:block}.sidebar-foot button{padding:6px 0;background:transparent;border:0;color:#a9c4ba;font-size:12px}.main{margin-left:220px;padding:30px 38px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px;color:#72847b;font-size:12px}.topbar .actions{display:flex;gap:8px}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:700;color:#748b7d;margin-bottom:10px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.subtitle{color:#72847b;margin-top:9px;line-height:1.6}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:29px 0}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;text-align:left}.stat strong{display:block;font-size:31px;font-weight:600;letter-spacing:-1px;margin:15px 0 3px}.stat span{font-size:12px;color:#71847a}.stat.selected{box-shadow:inset 0 0 0 2px #17675b}.stat.red strong{color:#b55d46}.workspace{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden}.toolbar{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar input{max-width:280px;background:#f7f9f8}.toolbar select{width:auto;max-width:210px}.count{margin-left:auto;font-size:12px;color:#72847b}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;min-width:900px}th{padding:13px 16px;background:#f8faf9;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#71847b;font-weight:650;border-bottom:1px solid var(--line)}td{padding:17px 16px;border-bottom:1px solid #edf1ee;font-size:12px;vertical-align:middle}tr:last-child td{border:0}tbody tr:hover{background:#f7faf8}.client{font-weight:650;font-size:13px;max-width:230px}.case-id{font-size:10px;color:#829187;margin-top:5px}.linkbutton{border:0;background:transparent;padding:0;text-align:left;border-radius:0;line-height:1.5}.badge{display:inline-block;border-radius:5px;padding:5px 8px;font-size:10px;line-height:1.4;white-space:nowrap;background:#eef2f0;color:#65756d}.badge.wait{background:#fff2dc;color:#9b7330}.badge.reply{background:#fbece5;color:#a45c42}.badge.done{background:#e1f1e7;color:#3f7758}.pic{display:flex;align-items:center;gap:5px;max-width:140px;flex-wrap:wrap}.avatar{width:27px;height:27px;border-radius:50%;background:#e8f0eb;color:#527760;display:grid;place-items:center;font-size:9px;font-weight:700}.phase{color:#687d70;font-size:11px;max-width:145px}.phasebar{display:flex;gap:3px;margin-top:8px}.phasebar i{width:13px;height:4px;border-radius:2px;background:#e7ede9}.phasebar i.filled{background:#4f8f70}.next{max-width:240px;min-width:130px;line-height:1.5;white-space:pre-line}.due{white-space:nowrap}.overdue{color:#b65c45}.empty{padding:55px;text-align:center;color:#72847b;line-height:1.8}.footer{display:flex;justify-content:space-between;padding-top:18px;font-size:11px;color:#839288}.overlay{position:fixed;inset:0;background:#0a292855;z-index:10;display:flex;justify-content:flex-end}.drawer{width:620px;max-width:100%;background:#fff;height:100%;overflow:auto;padding:28px 30px;box-shadow:-10px 0 50px #13322b15}.drawer-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.drawer-head h2{margin:8px 0}.close{font-size:20px;padding:2px 10px;border:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.buttons{display:flex;gap:10px;align-items:center;margin-top:20px;flex-wrap:wrap}.section{border-top:1px solid var(--line);margin-top:25px;padding-top:24px}.note{border-left:2px solid #b8d7c2;padding:0 0 0 13px;margin-top:20px;white-space:pre-wrap;line-height:1.65}.note small{display:block;margin-bottom:5px;font-size:10px}.checks{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.checks label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);padding:8px;border-radius:7px;margin:0}.checks input{width:auto}.error{color:#b84c34;font-size:12px;line-height:1.5;margin-top:13px}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:#eaf1ed}.auth-card{width:410px;max-width:100%;background:white;border:1px solid #d8e4dc;border-radius:18px;padding:38px;box-shadow:0 20px 60px #15372c0a}.auth-card .brand{margin:0 0 35px;padding:0}.auth-card .brand small{color:#72847b}.auth-card p{font-size:12px;color:#72847b;line-height:1.7;margin-top:10px}.auth-card button.primary{width:100%;margin-top:24px}.textbutton{background:transparent;border:0;padding:12px 0;color:#71847b;font-size:11px}.notice{background:#fff7e8;color:#8b6e36;padding:12px 16px;font-size:12px;line-height:1.6;border-radius:8px;margin-top:20px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:30;background:#173f32;color:white;border-radius:9px;padding:13px 22px;box-shadow:0 10px 30px #0002;display:none;max-width:90vw}.usergrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:25px}.usercard{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.usercard p{margin:10px 0;color:#72847b}.usercard .buttons button{font-size:11px;padding:7px}.refresh{font-size:11px;color:#72847b}.tablewrap button:focus-visible{outline:2px solid var(--green)}.screenreader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}details{font-size:12px;line-height:1.7}summary{cursor:pointer;color:#71847b}pre{white-space:pre-wrap;word-break:break-word;font:11px/1.5 monospace;background:#f4f7f5;padding:10px;border-radius:6px}.loading{padding:80px;text-align:center;color:#72847b}@media(max-width:1150px){.sidebar{width:180px}.main{margin-left:180px;padding:25px}.brand{padding:0}.brand strong{font-size:16px}.stats{gap:10px}.stat{padding:15px}}@media(max-width:750px){.sidebar{position:static;width:100%;padding:14px 18px;flex-direction:row;align-items:center;gap:20px}.brand{margin:0}.brand small,.sidebar-foot,.nav button span{display:none}.nav{flex-direction:row;margin-left:auto;gap:0}.nav button{padding:10px;font-size:11px}.main{margin:0;padding:22px 16px}.topbar{margin-bottom:25px}.stats{grid-template-columns:1fr 1fr}.heading{align-items:flex-start}h1{font-size:26px}.toolbar{padding:14px}.toolbar input{max-width:none}.toolbar select{flex:1;max-width:none}.count{width:100%;margin:0}.drawer{padding:22px}.two{grid-template-columns:1fr}.footer{line-height:1.7;gap:20px}.topbar .actions button{padding:7px;font-size:11px}}
@media(max-width:750px){.sidebar{flex-wrap:wrap;gap:12px}.nav{width:100%;margin-left:0;justify-content:space-between}.heading{flex-wrap:wrap}.heading>button{margin-top:4px}.topbar{gap:12px;flex-wrap:wrap}.stats .stat{min-width:0}.stat span{font-size:10px}.toolbar select{min-width:120px}}

.nav .generator-link{color:#a9c4ba;padding:13px 15px;text-decoration:none;font-size:12px}.nav .generator-link:hover{color:white}@media(max-width:750px){.nav{flex-wrap:wrap}.nav .generator-link{font-size:10px;padding:10px}}
.stage-group h3{padding:20px;background:#edf5f0;border-bottom:1px solid var(--line)}.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;padding:20px;background:#f5f8f6}.kanban-column h3{font-size:12px;margin-bottom:14px;color:#5d7667;line-height:1.6}.case-card{display:block;width:100%;text-align:left;margin:10px 0;background:white;padding:17px;font-weight:400;line-height:1.6}.case-card strong{display:block}.case-card small{display:block;margin:5px 0}.case-card p{font-size:12px;margin:12px 0;white-space:pre-wrap}.case-card>span{font-size:11px}.inline-check{display:flex;align-items:center;gap:8px}.inline-check input{width:auto}.notification{display:block;text-align:left;width:100%;margin-top:12px;font-weight:400;padding:16px;line-height:1.6}.notification p{margin:10px 0;font-size:12px}.notification.unread{border-left:4px solid #358565;background:#f1f8f3}.bulk-row{padding:14px 0;border-bottom:1px solid var(--line)}.bulk-row p{white-space:pre-wrap;font-size:11px;padding:6px 0}#alert-count:not(:empty){background:#c16745;color:white;border-radius:15px;padding:2px 6px;margin-left:5px}.toolbar select{max-width:250px}
.home-sections{display:grid;gap:24px}.stage-summary{padding:8px 22px 22px}.stage-summary-row{padding-top:17px}.stage-summary-row>div{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-bottom:8px}.stage-summary-row progress{display:block;width:100%;height:7px;border:0;border-radius:10px;accent-color:#4e9074}.stage-summary-row progress::-webkit-progress-bar{background:#edf2ee;border-radius:10px}.stage-summary-row progress::-webkit-progress-value{background:#4e9074;border-radius:10px}.pic-summary{min-width:620px}.pic-summary .badge{margin:3px;white-space:normal}.home-caption{padding:16px 20px;font-size:11px;color:#72847b}
.read-only-next{max-width:none;margin-top:8px}

.current-status{white-space:pre-wrap;overflow-wrap:anywhere;min-width:180px;max-width:320px}

.home-notes{min-width:230px;max-width:360px;white-space:pre-wrap;overflow-wrap:anywhere}.home-note{padding:8px 0;border-bottom:1px solid var(--line)}.home-note small{color:#64748b;display:block}
/* Home: calm, compact table with editing in place. */
.main{padding:24px 26px}.topbar{margin-bottom:24px}h1{font-size:26px}.stats{gap:10px;margin:20px 0}.stat{padding:14px 17px;border-radius:9px}.stat strong{font-size:26px;margin:8px 0 2px}.stat span{display:none}.toolbar{padding:12px;gap:8px}.toolbar input,.toolbar select{font-size:12px;padding:9px}.tablewrap{max-height:calc(100vh - 300px);min-height:200px;scrollbar-gutter:stable}table{min-width:1320px}th{position:sticky;top:0;z-index:2;font-size:10px;text-transform:none;letter-spacing:0;padding:13px 12px;background:#f5f8f6}td{padding:14px 12px;vertical-align:top;line-height:1.6}tbody tr:hover{background:#f9fbfa}td:first-child{min-width:190px;max-width:230px}.case-id{font-size:11px;margin-top:3px}.cell-edit{position:relative;display:block;width:100%;padding:4px 17px 4px 4px;margin:-4px;border:1px solid transparent;border-radius:6px;background:transparent;text-align:left;font-size:12px;font-weight:400;line-height:1.6;min-height:32px}.cell-edit:hover,.cell-edit:focus-visible{border-color:#c7dcd3;background:#f0f7f3}.edit-mark{position:absolute;right:3px;top:4px;color:#55796b;opacity:0}.cell-edit:hover .edit-mark,.cell-edit:focus-visible .edit-mark{opacity:1}.cell-text{display:block;white-space:pre-wrap;overflow-wrap:anywhere;min-width:150px;max-width:230px}.cell-edit .badge{margin-bottom:6px;white-space:normal}.pic{max-width:160px;min-width:95px;gap:5px}.pic-chip{display:inline-block;padding:3px 9px;border-radius:20px;background:#e8f2ed;color:#346854;font-size:11px;white-space:nowrap}.phase{display:block;min-width:110px;max-width:150px}.identity-edit{padding:0 4px;border:0;background:transparent;color:#72847b}.quick-note{padding:4px 8px;font-size:11px;margin-top:8px;background:transparent;color:var(--green)}.notes-preview{max-height:140px;overflow:auto}.home-notes{min-width:210px;max-width:270px}.home-note{font-size:12px}.inline-editor{min-width:220px;max-width:320px;padding:12px;border:1px solid #b9d4c8;background:#f8fbf9;border-radius:9px;box-shadow:0 3px 14px #173f320b}.inline-editor label:first-child{margin-top:0}.inline-editor textarea{min-height:110px}.inline-editor .buttons{gap:6px;margin-top:10px}.inline-editor button{padding:7px 12px;font-size:12px}.inline-editor .checks{max-height:230px;overflow:auto}.inline-editor .error:empty{display:none}.detail-fold summary{font-size:14px;color:#264b3e;font-weight:600;padding:3px 0}.detail-fold[open] summary{margin-bottom:16px}.drawer{width:650px}.drawer-head{position:sticky;top:-28px;background:white;padding:8px 0 15px;border-bottom:1px solid var(--line);z-index:3}.drawer .section{margin-top:20px;padding-top:18px}.drawer textarea{min-height:80px}.drawer label{margin-top:12px}.drawer #edit-case .buttons{position:sticky;bottom:-28px;background:white;padding:12px 0;border-top:1px solid var(--line);z-index:2}@media(max-width:750px){.main{padding:18px 12px}.tablewrap{max-height:70vh}.drawer-head{top:-22px}.drawer #edit-case .buttons{bottom:-22px}.stat{padding:12px}}

.note-group+.note-group{margin-top:10px}.note-group .home-note:last-child{border-bottom:0}
.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.report-card{background:white;border:1px solid var(--line);border-radius:10px;padding:20px;margin-top:18px}.chart-row{margin-top:16px}.chart-row>div{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-bottom:6px}.chart-row progress{width:100%;height:10px;accent-color:var(--green)}.approval-list h3{margin-top:12px}.approval-list{max-width:850px}.note-group .home-note{max-height:110px;overflow:auto}
.field-history{font-size:12px;padding:10px;margin-top:8px;background:#f5f8f6;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere}.field-history>span{display:block;font-weight:600;color:#537364;margin-bottom:5px}.field-history del{color:#8a9790;text-decoration-color:#b3bfb7}

.pic-kanban{display:flex;gap:16px;overflow-x:auto;align-items:flex-start;padding:16px;max-height:calc(100vh - 300px)}.pic-column{flex:0 0 290px;min-width:0;max-height:calc(100vh - 335px);overflow-y:auto;padding:0 5px}.pic-column>h3{position:sticky;top:0;z-index:1;background:#f5f8f6;display:flex;justify-content:space-between;align-items:center;padding:8px 0;margin:0}.pic-column .case-card .phase{max-width:none;margin:10px 0}.pic-column .case-card .badge{white-space:normal}.pic-column .case-card p{margin:3px 0 10px;overflow-wrap:anywhere}.pic-column .card-field{margin-top:10px}.pic-column .case-card .card-field small{font-size:10px}.pic-column .case-card strong{overflow-wrap:anywhere}@media(max-width:750px){.pic-kanban{max-height:75vh}.pic-column{flex-basis:275px;max-height:70vh}}
.report-charts{grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);align-items:start}.report-wide{grid-column:1/-1}.donut-layout{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}.report-donut{width:230px;max-width:100%;height:auto;flex-shrink:0}.chart-legend{list-style:none;padding:0;width:100%;margin:10px 0}.chart-legend li{display:flex;align-items:center;gap:8px;padding:10px 0;font-size:12px}.chart-legend li>span:nth-child(2){flex:1}.chart-legend small{width:32px;text-align:right}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.legend-0{background:#4c947d}.legend-1{background:#d38364}.legend-2{background:#b5c5bc}.report-chart-scroll{overflow-x:auto;padding-top:16px}.report-bars{display:block;width:100%;min-width:540px;height:auto}.report-bar{cursor:pointer;outline-offset:-2px}.report-bar:hover>rect:first-of-type,.report-bar:focus>rect:first-of-type{fill:#eaf3ee}.report-bar:focus{outline:2px solid var(--green)}.chart-key{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:11px;color:#71847b;margin-top:14px}.chart-key .legend-1{margin-left:12px}.chart-data{margin-top:16px}.chart-data table{min-width:0;margin-top:10px}.chart-data td{padding:9px}.chart-data summary{font-size:11px}@media(max-width:1100px){.report-charts{grid-template-columns:1fr}.report-wide{grid-column:auto}.donut-layout{flex-wrap:nowrap}.chart-legend{max-width:340px}}@media(max-width:600px){.donut-layout{flex-wrap:wrap}.report-card{padding:16px}.report-donut{width:190px}}

.status-badge{white-space:normal;font-size:11px;font-weight:550;border:1px solid transparent}.status-badge.status-reply{background:#fae7e1;color:#9d432c;border-color:#f0c9bc}.status-badge.status-wait{background:#fff1d6;color:#8b651e;border-color:#eed7a4}.status-badge.status-clear{background:#e4f2e9;color:#326746;border-color:#bfdcc9}.status-badge.status-unknown{background:#edf0f2;color:#64717b;border-color:#d9e0e5}

.note-group{border:1px solid #6eaf93;border-radius:7px;padding:8px 10px;background:#f4faf6}.note-group.private{border-color:#ce7770;background:#fff6f5}.note-group .home-note{padding:0;border:0}.note-group+.note-group{margin-top:7px}

.detail-history>h3{margin-bottom:12px}.supplementary-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7}.note-history{border:1px solid #6eaf93;background:#f4faf6;border-radius:7px;padding:10px 12px}.note-history.private{border-color:#ce7770;background:#fff6f5}


/* High-contrast operational text */
:root{color:#101b18}
.main,.drawer,.auth,.workspace,.report-card,.report-grid{color:#101b18}
.main label,.drawer label,.main small,.main .muted,.main .subtitle,.main .count,.main .case-id,.main .phase,.main .topbar,.main .eyebrow,.main .footer,.main summary,.main .empty,.main .loading,.main th,.main .stat span,.main .chart-key,.main .field-history>span,.main .identity-edit,.main .refresh,.main .chart-legend small,.drawer small,.drawer .subtitle,.auth-card p,.auth-card .brand small{color:#101b18}
.main input,.main textarea,.main select,.drawer input,.drawer textarea,.drawer select{color:#101b18}
.main input::placeholder,.drawer input::placeholder,.main textarea::placeholder,.drawer textarea::placeholder{color:#34433e;opacity:1}
.main .status-badge.status-unknown{color:#101b18}
.main .badge,.main .pic-chip{color:#163528}
.sidebar{color:#fff}
.sidebar .nav button,.sidebar .generator-link,.sidebar .sidebar-foot button{color:#eef8f2}
.sidebar .brand small{color:#e2f1e7}
.sidebar-toggle{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:0 0 18px 6px;padding:8px 10px;background:transparent;border:1px solid #54786d;color:white;text-align:left;font-size:12px}
.sidebar-toggle:hover{background:#244c44}
.sidebar-toggle .ui-icon{width:17px;height:17px}
.sidebar-collapsed .sidebar{width:72px;padding:28px 10px}
.sidebar-collapsed .sidebar .brand{margin-bottom:18px;padding:0;justify-content:center}
.sidebar-collapsed .sidebar .brand>div{display:none}
.sidebar-collapsed .sidebar .brand img{width:40px;height:40px;object-fit:contain}
.sidebar-collapsed .sidebar .sidebar-toggle{justify-content:center;margin:0 0 20px}
.sidebar-collapsed .sidebar-toggle span,.sidebar-collapsed .sidebar .nav-label,.sidebar-collapsed .sidebar-foot{display:none}
.sidebar-collapsed .sidebar .nav button,.sidebar-collapsed .sidebar .nav .generator-link{display:flex;justify-content:center;align-items:center;padding:13px 8px}
.sidebar-collapsed .sidebar .nav .generator-link .ui-icon{margin:0}
.sidebar-collapsed .sidebar .nav button .ui-icon{margin:0}
.sidebar-collapsed .main{margin-left:72px}
.report-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-report-table{min-width:840px}
.service-report-table td:first-child{min-width:180px;max-width:330px}
.service-report-table th{font-size:11px;white-space:normal}
.service-report-table .report-total{background:#e8f3ed;font-weight:650}
.approval-list .report-card{max-width:820px}
@media(max-width:1100px){.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.sidebar-collapsed .sidebar{width:100%;padding:14px 18px;position:static;flex-direction:row}.sidebar-collapsed .main{margin-left:0}.sidebar-collapsed .sidebar .nav{flex-direction:row;width:100%;justify-content:space-between}.sidebar-collapsed .sidebar .brand{margin:0}.sidebar-collapsed .sidebar .sidebar-toggle{margin:0}.sidebar-collapsed .sidebar .nav button{padding:10px 5px}.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
