@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap');
:root{--ink:#172d30;--muted:#728184;--teal:#156859;--bg:#f5f7f5;--line:#e2e8e3;--gold:#dce9aa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'Be Vietnam Pro',system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:10px 15px;font-weight:500}button:hover{background:#edf3ee}button:focus-visible,a:focus-visible{outline:3px solid #97c6ba;outline-offset:2px}button.primary{background:var(--teal);color:white;border-color:var(--teal)}button.primary:hover{background:#0d5145}button.ghost{background:transparent}button.small{padding:7px 10px;font-size:12px}aside{position:fixed;width:238px;inset:0 auto 0 0;background:#123b35;color:#d5e5dd;display:flex;flex-direction:column;padding:34px 20px;z-index:3}.brand{text-decoration:none;color:white;padding:0 16px 35px}.brand b{font-size:38px;letter-spacing:-3px}.brand b span{color:#c5dd85;font-size:16px;margin-left:5px}.brand small{display:block;font-size:8px;letter-spacing:1.5px;margin-top:7px}nav{display:grid;gap:7px}nav button{color:#b9d0c8;border:0;background:transparent;text-align:left;padding:14px 15px;font-size:17px}nav span{font-size:13px;margin-left:10px}nav button.active{background:#dce9aa;color:#20392a}nav button:hover{background:#245147;color:white}.aside-foot{margin-top:auto;padding:20px 14px 0;font-size:10px;color:#b5d0c3}.dot{display:inline-block;width:6px;height:6px;background:#c5dd85;border-radius:50%;margin-right:5px}.aside-foot p{font-size:19px;line-height:1.6;color:white}.aside-foot button{background:transparent;border:0;padding:0;color:#c5dd85;font-size:11px}.shell{margin-left:238px}header{height:79px;display:flex;justify-content:space-between;align-items:center;padding:0 38px;border-bottom:1px solid var(--line);background:white}header>span{color:var(--muted);font-size:12px}header label{display:flex;gap:13px;align-items:center;font-size:11px;color:var(--muted)}select,input,textarea{border:1px solid #d7e0db;background:white;color:var(--ink);border-radius:8px;padding:10px;min-width:0}header select{font-size:12px;max-width:235px}.demo{padding:10px 38px;background:#eef1df;color:#56632e;font-size:9px;font-weight:700;letter-spacing:.4px;display:flex;gap:13px}.demo span{font-size:11px;font-weight:400;letter-spacing:0}main{padding:33px 38px;max-width:1600px;margin:auto;min-height:80vh}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--teal);font-weight:700;text-transform:uppercase}h1{font-size:29px;letter-spacing:-1px;margin:8px 0 10px;line-height:1.35}h2{font-size:17px;margin:0 0 7px}h3{font-size:14px;line-height:1.5}p{line-height:1.7}.muted{color:var(--muted);font-size:12px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.heading p{margin:0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hero{background:#e5eddf;border:1px solid #d8e4d2;border-radius:14px;padding:25px 28px;display:flex;justify-content:space-between;gap:20px;margin-bottom:22px;position:relative;overflow:hidden}.hero h2{font-size:22px;max-width:480px}.hero p{max-width:540px;margin-bottom:0}.hero .seal{font-size:66px;line-height:1;color:#56856b;padding:20px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}.metric{padding:20px 22px;border:1px solid var(--line);background:white;border-radius:12px}.metric label{font-size:11px;color:var(--muted)}.metric strong{display:block;font-size:32px;letter-spacing:-1px;margin:12px 0 4px}.metric small{font-size:10px;color:var(--muted)}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:20px}.panel-title{padding:22px 23px 17px;display:flex;justify-content:space-between;align-items:center}.panel-title p{margin:0}.pad{padding:0 23px 22px}.list-item{display:flex;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.avatar{flex-shrink:0;width:36px;height:36px;background:#edf2e4;color:#4a6c43;border-radius:10px;display:grid;place-items:center;font-size:11px;font-weight:700}.list-item p{margin:3px 0;font-size:12px}.list-item .right{margin-left:auto;text-align:right;white-space:nowrap}.badge{display:inline-block;border-radius:5px;padding:5px 8px;background:#edf3ee;color:#46755e;font-size:10px;white-space:nowrap}.badge.warn{background:#fff2d8;color:#a57525}.badge.bad{background:#fbe7e3;color:#a44d3a}.badge.gray{background:#eef1f2;color:#697a81}.tag{font-size:10px;color:var(--teal);font-weight:600}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{font-size:10px;color:var(--muted);font-weight:500;letter-spacing:.4px;background:#f8faf8;padding:13px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:17px 20px;border-bottom:1px solid #edf1ed;vertical-align:middle}tr:last-child td{border:0}td .sub{display:block;color:var(--muted);font-size:10px;margin-top:6px;max-width:340px;line-height:1.5}.link{padding:0;border:0;background:none;color:var(--teal);text-align:left;font-size:12px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.filters input{flex:1;min-width:180px}.progress{display:flex;align-items:center;gap:9px;font-size:11px;min-width:100px}.track{width:65px;height:5px;background:#e8eee8;border-radius:5px}.track i{display:block;height:100%;background:#639279;border-radius:5px}.empty{padding:40px;text-align:center;color:var(--muted);line-height:1.8}.note{background:#f4f6f1;border-left:3px solid #b8c998;padding:13px 16px;font-size:12px;line-height:1.7}.weekbar{padding:16px 20px;border:1px solid var(--line);background:white;border-radius:10px;display:flex;align-items:center;gap:15px;margin-bottom:20px;flex-wrap:wrap}.weekbar label{font-size:12px}.report-actions{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;background:#f5f8ef;border-top:1px solid var(--line);gap:15px}.activity{padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.activity small{display:block;color:var(--muted);margin-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px}.field.full{grid-column:1/-1}textarea{min-height:90px;resize:vertical}.form-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:25px}dialog{border:0;border-radius:16px;box-shadow:0 30px 100px #10241d38;padding:28px;width:620px;max-width:calc(100vw - 32px);max-height:90vh}dialog::backdrop{background:#15332f66;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.dialog-top button{padding:4px 9px;border:0;font-size:20px}dialog h2{font-size:22px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#153c34;color:white;padding:13px 23px;border-radius:10px;box-shadow:0 5px 20px #0002;z-index:10;display:none;max-width:90vw;font-size:12px}footer{padding:25px 38px;display:flex;justify-content:space-between;color:#82928a;font-size:9px;letter-spacing:1px}.person-note{font-size:11px;margin:0 0 20px;color:var(--muted)}@media(min-width:1500px){main{padding-top:45px}.hero{padding:35px}.metrics{gap:22px}}@media(max-width:1050px){aside{width:190px;padding:28px 12px}.shell{margin-left:190px}main{padding:24px}.grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}header{padding:0 24px}.demo{padding:10px 24px}}@media(max-width:700px){aside{position:static;width:100%;padding:14px 15px}.brand{padding:0 0 12px;display:flex;align-items:center;gap:18px}.brand b{font-size:27px}.brand small{font-size:8px}nav{display:flex;overflow:auto;gap:4px}nav button{white-space:nowrap;font-size:12px;padding:10px}nav span{font-size:10px;margin-left:3px}.aside-foot{display:none}.shell{margin:0}header{height:auto;padding:13px 18px;gap:8px}header>span{display:none}header label{width:100%;justify-content:space-between}.demo{padding:10px 18px;align-items:start}.demo span{font-size:10px}main{padding:23px 17px}.heading{align-items:flex-start;flex-direction:column;gap:13px}h1{font-size:25px}.hero{padding:20px}.hero .seal{display:none}.hero h2{font-size:19px}.metric{padding:16px}.metric strong{font-size:28px}td,th{padding:13px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.report-actions{align-items:start;flex-direction:column}footer{padding:20px 17px}footer span{display:none}dialog{padding:22px}}
/* CRM layouts keep tables scrollable and forms usable on narrow screens. */
.pipeline{display:flex;gap:15px;overflow-x:auto;padding-bottom:22px;align-items:flex-start}.lane{min-width:270px;width:270px;background:#edf2ed;border:1px solid var(--line);border-radius:12px;padding:14px;flex-shrink:0}.lane-title{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:12px;margin-bottom:15px}.deal{padding:17px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}.deal .link{font-size:13px;line-height:1.6;font-weight:600}.deal strong{font-size:16px}.next{padding-top:12px;border-top:1px solid var(--line);font-size:11px;line-height:1.7;color:var(--teal)}.metric strong{font-size:25px;overflow-wrap:anywhere}.setup{padding:28px}.setup h2{margin-top:24px}.setup li{line-height:1.9;margin:8px 0}.quote-line{display:grid;grid-template-columns:2fr .7fr 1.2fr 35px;gap:6px;margin-bottom:9px}.quote-line input{width:100%}.quote-line button{padding:5px}dialog{width:760px}.detail-summary{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.detail-summary strong{font-size:22px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;background:#f3f6f3;padding:12px}.aside-foot a{color:#dce9aa}summary{cursor:pointer}header .actions{font-size:12px}nav button{min-height:44px}button{min-height:36px}@media(max-width:700px){.lane{min-width:250px;width:250px}.quote-line{grid-template-columns:1fr 1fr 35px}.quote-line .item-name{grid-column:1/-1}.setup{padding:18px}header{justify-content:flex-end}input,select,textarea{font-size:16px}.metric strong{font-size:21px}.filters{align-items:stretch}.filters select{max-width:100%}}

.reminder-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 8px}.reminder-card{display:flex;flex-direction:column;align-items:flex-start;padding:18px;border:1px solid #d6e4df;background:#edf5f1;border-radius:14px;gap:8px}.reminder-card strong{font-size:32px}.reminder-card.overdue{background:#fff0ec;color:#9d3528;border-color:#f4d3c8}.reminder-card.today{background:#fff7e6;color:#835716;border-color:#eedcb8}.team-person{display:flex;gap:10px;padding:12px;border-bottom:1px solid #e3e9e6}.team-person input{width:auto}@media(max-width:520px){.reminder-cards{gap:6px}.reminder-card{padding:12px 8px}.reminder-card strong{font-size:26px}}

.workspace-home{color:#dce9aa;padding:13px 15px;text-decoration:none;border:1px solid #45645a;border-radius:9px;font-size:13px;white-space:nowrap}.home-shortcut{color:#156859;white-space:nowrap;text-decoration:none;font-weight:600;margin-right:15px}.target-panel{padding:20px;margin:20px 0}.target-panel .panel-title{padding:0 0 16px}.target-panel input{max-width:230px;width:100%}.target-panel .metrics{margin:12px 0}.target-panel .metric{padding:14px}.target-panel .metric strong{font-size:21px}@media(max-width:700px){header{justify-content:space-between;flex-wrap:wrap;gap:10px}.home-shortcut{display:inline-block;font-size:13px}.workspace-home{padding:10px;font-size:12px}.target-panel{padding:14px}.target-panel .metric strong{font-size:18px}}
/* Contract operations and account settings */
aside{overflow-y:auto}.brand{flex-shrink:0}nav{flex-shrink:0}
#member-form,#handover-form,#team-form,#project-task-form,#phase-form,#comment-form{display:grid;gap:16px}
#member-form label,#handover-form label,#team-form label,#project-task-form label,#phase-form label{display:flex;flex-direction:column;gap:7px;font-size:12px}
#member-form fieldset,#team-form fieldset{border:1px solid var(--line);border-radius:10px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
#member-form fieldset label,#team-form fieldset label,#member-form>label{flex-direction:row;align-items:center;gap:8px}
#member-form input[type=checkbox],#team-form input[type=checkbox]{width:17px;height:17px;flex-shrink:0}
#phase-form,#comment-form{padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}
@media(max-width:700px){#member-form fieldset,#team-form fieldset{grid-template-columns:1fr}}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.hub-grid .pad{padding-top:20px}.hub-tabs{display:flex;gap:8px;overflow-x:auto;margin:20px 0}.hub-tabs a{white-space:nowrap;text-decoration:none;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--teal)}.hub-tabs a.active{background:var(--teal);color:white}#case-pane{padding-top:22px}#self-work,#unified-update,#direct-contract-form,#hub-comment,#hub-document{display:grid;gap:15px}#self-work label,#unified-update label,#direct-contract-form label,#hub-comment label,#hub-document label{display:flex;flex-direction:column;gap:7px}#self-work input[type=checkbox]{width:18px}#hub-comment,#hub-document{padding:22px;background:white;border-radius:12px}article.panel p{overflow-wrap:anywhere}

.settings-shortcut{margin-left:auto;white-space:nowrap;color:var(--teal);text-decoration:none;padding:10px;border:1px solid #dce4df;border-radius:10px}header{gap:12px;flex-wrap:wrap}

[hidden]{display:none!important}

#referral-form{display:grid;gap:14px}#referral-form label{display:grid;gap:6px}details.panel>summary{cursor:pointer;padding:12px;font-weight:600}

.plan-scroll{overflow:auto;max-height:72vh;border:1px solid #dce6df;border-radius:12px;margin-top:18px}.plan-grid{min-width:900px;width:100%;table-layout:fixed}.plan-grid th:first-child{width:240px}.plan-grid th:nth-child(2){width:72px}.plan-grid th:nth-child(3),.plan-grid th:nth-child(4){width:72px}.plan-grid th:nth-child(5){width:55px}.plan-grid th:nth-child(6){width:80px}.plan-grid th:last-child{width:300px}.plan-grid thead{position:sticky;top:0;z-index:3;background:#edf3ee}.plan-grid td{vertical-align:middle;white-space:normal}.plan-grid .link{text-align:left;white-space:normal}.plan-group{background:#edf3ee;font-weight:700}.gantt-head>div{display:flex;justify-content:space-between;font-size:11px}.gantt-cell{position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(16.666% - 1px),#e5eae7 calc(16.666% - 1px),#e5eae7 16.666%)}.gantt-bar{position:absolute;top:calc(50% - 9px);height:18px;background:#69918b;border-radius:4px;min-width:3px}.gantt-bar.summary{background:#173d35;height:9px;top:calc(50% - 4px)}.gantt-bar.done{background:#65a05b}.gantt-bar.blocked{background:#cb744e}.gantt-bar.milestone{background:none;color:#987126;min-width:0;line-height:18px;font-size:20px;transform:translateX(-50%)}.gantt-empty{font-size:11px;color:#718079}#plan-form{display:grid;gap:14px}#plan-form label{display:block}#plan-form label input:not([type=checkbox]),#plan-form label select,#plan-form textarea{display:block;width:100%;margin-top:6px}#plan-form fieldset{max-height:200px;overflow:auto}#plan-form li p{font-size:13px;color:#65786c}

.plan-grid th,.plan-grid td{padding:12px 7px;font-size:12px}.plan-grid td:nth-child(3),.plan-grid td:nth-child(4){font-variant-numeric:tabular-nums}

.plan-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.plan-toolbar select{width:auto}.plan-grid{min-width:850px}.plan-grid th:first-child{width:240px}.plan-grid th:nth-child(2){width:72px}.plan-grid th:nth-child(3),.plan-grid th:nth-child(4){width:72px}.plan-grid th:nth-child(5){width:80px}.plan-grid th:last-child{width:320px}.plan-grid th:first-child,.plan-grid td:first-child{position:sticky;left:0;z-index:2;background:#fff}.plan-grid .plan-group td:first-child{background:#edf3ee}.plan-grid thead th:first-child{z-index:4;background:#edf3ee}.plan-fullscreen{position:fixed;inset:8px;z-index:1000;overflow:auto;background:white}.plan-fullscreen .plan-scroll{max-height:65vh}.gantt-today,.gantt-deadline{position:absolute;top:0;bottom:0;border-left:2px solid #2b9d85;z-index:1}.gantt-deadline{border-color:#bd5947;border-left-style:dashed}#unified-update fieldset label{display:block;margin:10px 0}#unified-update input[type=checkbox],#plan-form input[type=checkbox]{width:18px;height:18px;margin-right:6px}

#task-detail{display:grid;gap:16px}#task-detail fieldset{border:1px solid #dce6df;border-radius:10px;padding:14px;min-width:0}#task-detail label{display:block;margin:10px 0}#task-detail input:not([type=checkbox]),#task-detail select,#task-detail textarea{width:100%;display:block;margin-top:6px}#task-detail input[type=checkbox]{width:18px;height:18px}.dependency-row{display:grid;grid-template-columns:2fr 2fr 1fr auto;gap:8px;align-items:center;margin-bottom:12px}.plan-scroll{position:relative}.dependency-lines{position:absolute;top:0;left:0;pointer-events:none;overflow:visible;z-index:1}.dependency-lines path{fill:none;stroke:#b27f38;stroke-width:1.5}.dependency-lines circle{fill:#b27f38}@media(max-width:650px){.dependency-row{grid-template-columns:1fr}}

/* Shared pilot: keep the working area wide; menu opens on demand. */
body:not(.nav-open) aside{display:none}body:not(.nav-open) .shell{margin-left:0;width:100%}body:not(.signed-in) aside{display:none}body.nav-open aside{width:240px;max-width:80vw;z-index:30}body.nav-open .shell{margin-left:240px;width:calc(100% - 240px)}aside .workspace-home{white-space:normal}#nav-toggle{flex-shrink:0;font-size:20px}header{gap:10px}#breadcrumb{overflow-wrap:anywhere}main{min-width:0}header #identity{flex-wrap:wrap}@media(max-width:900px){body.nav-open .shell{margin-left:0;width:100%}body.nav-open aside{top:74px;bottom:0;box-shadow:10px 0 35px #0003}header{position:relative;z-index:40}.panel{max-width:100%}}

.value-track svg{display:block;width:100%;height:100%;color:var(--teal)}
