:root{--ink:#292621;--muted:#766f65;--paper:#f4f0e9;--card:#fffdf9;--line:#ded6ca;--terra:#9b6d52;--soft:#ebe4da;--money:#466a50;--money-soft:#e5eee6;--communication:#526987;--communication-soft:#e7edf4}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}
.shell>aside{color:#f7f1e8;background:#2d302d;height:100vh;padding:25px 18px;position:sticky;top:0;overflow:auto}
.brand{align-items:center;gap:12px;margin:0 7px 34px;display:flex}
.brand>b{border:1px solid #bda58e;border-radius:50%;place-items:center;width:40px;height:40px;font-family:Georgia,serif;display:grid}
.brand span{flex-direction:column;display:flex}
.brand strong{font-family:Georgia,serif;font-size:17px}
.brand small{color:#b9b7af}
.shell aside nav{gap:5px;display:grid}
.shell aside button{color:#d8d5cf;text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:10px 12px}
.shell aside button.on,.shell aside button:hover{color:#fff;background:#444741}
.shell aside>p{letter-spacing:.18em;color:#8f928d;margin:28px 12px 8px;font-size:10px}
.client-link{align-items:center;gap:9px;display:flex!important}
.client-link i,.clients i,.summary i,.meeting i{border-radius:50%;width:8px;height:8px;display:block}
.workspace{width:100%;max-width:1500px;margin:auto;padding:42px clamp(24px,5vw,72px) 80px}
.workspace header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}
.workspace em,.intro em,.modal em{letter-spacing:.18em;color:var(--terra);font-size:11px;font-style:normal;font-weight:800}
.workspace h1,.workspace h2,.modal h2{font-family:Georgia,serif}
.workspace h1{margin:5px 0 0;font-size:clamp(34px,4vw,52px);font-weight:500;line-height:1.04}
.primary{background:var(--terra);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:12px 17px;font-weight:700}
.return{border-left:4px solid var(--terra);background:#e6ddd1;border-radius:4px 12px 12px 4px;flex-direction:column;gap:3px;margin-bottom:22px;padding:16px 20px;display:flex}
.return small{letter-spacing:.16em;color:#8b5b43;font-size:10px;font-weight:800}
.stats{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:28px;display:grid}
.stats article,.panel,.clients button{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 18px #5b4a3820}
.stats article{padding:18px}
.stats span,.stats small{color:var(--muted);font-size:12px;display:block}
.stats strong{margin:7px 0 3px;font-family:Georgia,serif;font-size:34px;font-weight:500;display:block}
.two{grid-template-columns:1fr 1fr;gap:18px;display:grid}
.panel{padding:20px}
.panel-head{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}
.panel h2{text-transform:capitalize;margin:0;font-size:21px;font-weight:500}
.panel-head>span{background:var(--soft);border-radius:20px;padding:3px 9px;font-size:12px}
.task{border-top:1px solid #eee8df;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:13px 0;display:grid}
.task>button{color:#0000;cursor:pointer;background:#fff;border:1px solid #c8bfb2;border-radius:50%;width:22px;height:22px}
.task>button:hover{color:#fff;background:#65796f}
.task strong{font-size:14px;display:block}
.task small{color:var(--muted);margin-top:4px;font-size:11px;display:block}
.task select{color:#615c54;background:#eee9e0;border:0;border-radius:20px;max-width:95px;padding:5px 7px}
.task.priority-money,.task.priority-communication,.task.priority-normal{border-left:4px solid transparent;padding-left:10px}
.task.priority-money{border-left-color:var(--money)}
.task.priority-communication{border-left-color:var(--communication)}
.priority-badge{vertical-align:middle;border-radius:999px;margin-left:8px;padding:3px 7px;font-size:11px;font-weight:800;display:inline-flex}
.priority-badge.money{color:var(--money);background:var(--money-soft)}
.priority-badge.communication{color:var(--communication);background:var(--communication-soft)}
.priority-filters{flex-wrap:wrap;gap:7px;margin:10px 0 4px;display:flex}
.priority-filters button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:7px 10px;font:inherit;font-size:13px;font-weight:750}
.priority-filters button span{opacity:.75;margin-left:3px;font-size:11px}
.priority-filters button.on{color:var(--ink);background:var(--soft);border-color:#cfc2b3}
.priority-filters button.money.on{color:var(--money);background:var(--money-soft);border-color:#9eb7a3}
.priority-filters button.communication.on{color:var(--communication);background:var(--communication-soft);border-color:#a4b4c8}
.priority-filters button:disabled{opacity:.45;cursor:default}
.empty{color:#958f86;padding:25px 4px;font-size:13px}
.section-title{margin:32px 0 14px;font-size:22px;font-weight:500}
.clients{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}
.clients button{text-align:left;cursor:pointer;color:var(--ink);grid-template-columns:auto 1fr;gap:6px 10px;padding:18px;display:grid}
.clients i{grid-row:1/3;margin-top:6px}
.clients strong{font-family:Georgia,serif;font-size:18px}
.clients span{color:var(--muted);font-size:12px}
.clients b{color:var(--terra);grid-column:2;margin-top:7px;font-size:11px}
.summary{color:var(--muted);align-items:center;gap:10px;margin:-10px 0 25px;font-size:13px;display:flex}
.columns{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}
.form{gap:14px;display:grid}
.form p,.intro p{color:var(--muted);margin:0;line-height:1.6}
.form label,.modal label{gap:6px;font-size:12px;font-weight:700;display:grid}
.form input,.form select,.modal input,.modal select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:9px;padding:11px}
.meeting{border-top:1px solid #eee8df;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 0;display:grid}
.meeting small{color:var(--muted);margin-top:4px;display:block}
.meeting b{color:var(--terra);font-size:11px}
.intro{max-width:700px;margin-bottom:26px}
.intro h2{margin:6px 0;font-size:31px}
.panel textarea{border:1px solid var(--line);resize:vertical;background:#faf7f2;border-radius:10px;width:100%;min-height:330px;margin:18px 0 12px;padding:14px;line-height:1.5}
.outcome{border-top:1px solid #eee8df;padding:15px 0}
.outcome small{color:var(--terra)}
.outcome p{margin:6px 0}
.backdrop{z-index:20;background:#2229;place-items:center;padding:20px;display:grid;position:fixed;inset:0}
.modal{background:var(--card);border-radius:18px;gap:16px;width:min(500px,100%);padding:28px;display:grid;position:relative;box-shadow:0 30px 80px #0004}
.modal h2{margin:-8px 0 2px;font-size:29px}
.modal .x{cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:12px;right:17px}
.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}
.loading{background:var(--paper);place-items:center;min-height:100vh;font-family:Georgia,serif;font-size:24px;display:grid}
@media (width<=980px){.stats,.clients{grid-template-columns:repeat(2,1fr)}
}
@media (width<=720px){.shell{display:block}
.shell>aside{gap:8px;height:auto;padding:15px;display:flex;position:static;overflow-x:auto}
.brand{min-width:185px;margin:0 10px 0 0}
.shell aside nav{display:flex}
.shell aside button{min-width:max-content}
.shell aside>p,.client-link{display:none!important}
.workspace{padding:25px 16px 60px}
.workspace header{align-items:flex-start;gap:15px}
.workspace header .primary{min-width:43px;font-size:0}
.workspace header .primary:first-letter{font-size:18px}
.stats,.two,.columns{grid-template-columns:1fr}
.clients{grid-template-columns:repeat(2,1fr)}
.workspace h1{font-size:36px}
}
@media (width<=720px){.rules{grid-template-columns:1fr}
}
.meeting-guide{background:#e6ddd1;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:22px 25px;display:flex}
.meeting-guide h2{margin:6px 0 0;font-size:25px;font-weight:500}
.meeting-guide ol{gap:18px;margin:0;padding:0;list-style:none;display:flex}
.meeting-guide li{color:var(--muted);align-items:center;gap:7px;max-width:125px;font-size:12px;display:flex}
.meeting-guide li b{background:var(--card);min-width:25px;height:25px;color:var(--terra);border-radius:50%;place-items:center;display:grid}
.text-button{color:var(--terra);cursor:pointer;background:0 0;border:0;font-weight:750}
.import-form textarea{min-height:180px;margin:0;font-family:ui-monospace,monospace;font-size:12px}
.form-error{font-size:12px;font-weight:700;color:#9a3f34!important}
.rules{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}
.rules article{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:25px}
.rules span{color:var(--terra);letter-spacing:.16em;font-size:12px;font-weight:800}
.rules h2{margin:12px 0 8px;font-size:24px;font-weight:500}
.rules p{color:var(--muted);margin:0;line-height:1.65}
@media (width<=720px){.rules{grid-template-columns:1fr}
.meeting-guide{display:block}
.meeting-guide ol{margin-top:18px;display:grid}
}
.sweep-head{background:#e6ddd1;border-radius:16px;grid-template-columns:1fr minmax(180px,32%);align-items:end;gap:30px;margin-bottom:18px;padding:22px 25px;display:grid}
.sweep-head h2{margin:6px 0;font-size:27px;font-weight:500}
.sweep-head p{color:var(--muted);max-width:680px;margin:0;line-height:1.55}
.sweep-meter{background:#d2c6b7;border-radius:20px;height:10px;margin-bottom:7px;overflow:hidden}
.sweep-meter span{background:var(--terra);border-radius:20px;height:100%;transition:width .25s;display:block}
.sweep-grid{grid-template-columns:repeat(2,1fr);align-items:start;gap:18px;display:grid}
.sweep-row{border-top:1px solid #eee8df;padding:14px 0}
.sweep-check{align-items:center;gap:10px;font-size:14px;font-weight:750;display:flex}
.sweep-check input{width:18px;height:18px;accent-color:var(--terra)}
.sweep-row.checked .sweep-check span{color:var(--muted)}
.sweep-note{grid-template-columns:1fr auto;gap:8px;margin:9px 0 0 28px;display:grid}
.sweep-note input{border:1px solid var(--line);min-width:0;font:inherit;background:#faf7f2;border-radius:9px;padding:9px 10px;font-size:12px}
.sweep-note button{border:1px solid var(--line);color:var(--terra);cursor:pointer;background:#fff;border-radius:9px;padding:7px 10px;font-size:11px;font-weight:800}
.sweep-note button:disabled{color:#aaa49a;cursor:default;background:#f1ece4}
@media (width<=800px){.sweep-head,.sweep-grid{grid-template-columns:1fr}
}
.account{border-top:1px solid #454842;margin-top:30px;padding:14px 7px 0}
.account small{color:#aaaead;padding:0 12px 5px;display:block}
.account button{color:#cfcac1!important}
.auth-shell{background:radial-gradient(circle at top,#ede4d8,var(--paper) 48%);place-items:center;min-height:100vh;padding:24px;display:grid}
.auth-card{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:22px;width:min(440px,100%);padding:38px;box-shadow:0 22px 65px #51433124}
.auth-mark{border:1px solid var(--terra);border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 20px;font-family:Georgia,serif;font-size:20px;display:grid}
.auth-card em{letter-spacing:.2em;color:var(--terra);font-size:10px;font-style:normal;font-weight:800}
.auth-card h1{margin:9px 0 10px;font-family:Georgia,serif;font-size:38px;font-weight:500}
.auth-card>p{color:var(--muted);margin:0 0 24px;line-height:1.55}
.auth-card form{text-align:left;gap:15px;display:grid}
.auth-card label{gap:6px;font-size:12px;font-weight:750;display:grid}
.auth-card input{border:1px solid var(--line);font:inherit;border-radius:10px;padding:12px}
.auth-card .primary{margin-top:4px;font-size:14px}
.auth-card .primary:disabled{opacity:.65}
.auth-message{color:#775342;background:#eee5da;border-radius:9px;padding:11px;font-size:12px;line-height:1.45}
.auth-switch{color:var(--terra);cursor:pointer;background:0 0;border:0;margin-top:18px;font-weight:700}
.week-nav{align-items:center;gap:6px;margin-top:13px;display:flex}
.week-nav button{border:1px solid var(--line);background:var(--card);color:var(--muted);font:inherit;cursor:pointer;border-radius:20px;padding:6px 11px;font-size:11px;font-weight:750}
.week-nav button.current{background:var(--soft);color:var(--terra)}
.wrap-progress{background:#e6ddd1;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin:0 0 18px;padding:15px 20px;display:flex}
.wrap-progress>div:first-child{align-items:baseline;gap:8px;display:flex}
.wrap-progress strong{font-family:Georgia,serif;font-size:25px;font-weight:500}
.wrap-progress span{color:var(--muted);font-size:12px}
.wrap-dots{gap:7px;display:flex}
.wrap-dots span{background:#f4eee6;border:1px solid #b8aa99;border-radius:50%;width:12px;height:12px}
.wrap-dots span.done{background:var(--terra);border-color:var(--terra)}
.wrap-form textarea{min-height:235px;margin:0}
.wrap-form .code-input{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.wrap-form .primary:disabled{opacity:.5;cursor:default}
.pdf-drop{cursor:pointer;background:#faf6f0;border:1px dashed #bcae9d;border-radius:12px;padding:16px}
.pdf-drop input{opacity:0;pointer-events:none;position:absolute}
.pdf-drop span{color:var(--terra);font-size:13px}
.helper{color:var(--muted);font-size:11px;line-height:1.5;display:block}
.review-card{border-top:1px solid var(--line);margin-top:4px;padding-top:18px}
.review-card>em{letter-spacing:.16em;color:var(--terra);font-size:10px;font-style:normal;font-weight:800}
.review-summary{background:var(--soft);border-radius:9px;padding:12px;color:var(--ink)!important;margin:10px 0!important}
.review-group{border-top:1px solid #eee8df;padding:12px 0}
.review-group>strong{font-family:Georgia,serif;font-weight:500}
.review-group ul{color:var(--muted);margin:8px 0 0;padding-left:18px;font-size:12px;line-height:1.55}
.review-group small{color:var(--muted);margin-top:6px;display:block}
.review-card>.primary{width:100%;margin:4px 0 8px}
.wrap-history{margin-top:18px}
.wrap-entry details{border-top:1px solid #eee8df;padding:0 0 13px 20px}
.wrap-entry summary{cursor:pointer;color:var(--terra);font-size:11px;font-weight:750}
.wrap-entry details p{white-space:pre-wrap;max-height:260px;color:var(--muted);background:#faf7f2;border-radius:9px;padding:12px;font-size:12px;line-height:1.5;overflow:auto}
.client-brief{background:#e7ded2;border:1px solid #d7cbbb;border-radius:17px;margin:0 0 22px;padding:22px}
.client-brief-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}
.client-brief-head h2{margin:5px 0 0;font-size:27px;font-weight:500}
.brief-grid{grid-template-columns:1.25fr .75fr .75fr;gap:11px;display:grid}
.brief-grid article{background:var(--card);border:1px solid #d9d0c4;border-radius:12px;flex-direction:column;min-height:116px;padding:15px;display:flex}
.brief-grid small{color:var(--terra);letter-spacing:.14em;font-size:9px;font-weight:800}
.brief-grid strong{margin:8px 0 5px;font-family:Georgia,serif;font-size:24px;font-weight:500;line-height:1.18}
.brief-grid article:first-child strong{font-family:inherit;font-size:15px;font-weight:700}
.brief-grid span{color:var(--muted);font-size:11px;line-height:1.4}
.talking-points{grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:12px;display:grid}
.talking-points label{gap:6px;font-size:11px;font-weight:750;display:grid}
.talking-points textarea{min-height:78px;background:var(--card)!important;border:1px solid #d2c6b7!important;margin:0!important}
.talking-points button{background:var(--card);color:var(--terra);cursor:pointer;border:1px solid #bcae9d;border-radius:9px;padding:11px 13px;font-weight:750}
.copy-control{flex-direction:column;align-items:flex-start;gap:5px;display:flex}
.copy-error{color:#9a3f34;max-width:260px;font-size:10px;font-weight:700;line-height:1.35}
.copy-fallback{width:100%;color:var(--terra);font-size:10px}
.copy-fallback summary{cursor:pointer;font-weight:750}
.copy-fallback textarea{background:#faf7f2;width:100%;min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;margin:7px 0 0!important;padding:9px!important}
.panel-head .copy-control{align-items:flex-end}
.client-brief-head .copy-fallback{max-width:330px}
.rollover-panel{padding:24px}
.rollover-client{gap:6px;max-width:360px;font-size:11px;font-weight:750;display:grid}
.rollover-client select,.rollover-item select,.rollover-item input{border:1px solid var(--line);font:inherit;background:#fff;border-radius:9px;padding:10px}
.rollover-grid{grid-template-columns:1fr 1fr;gap:18px;margin:20px 0;display:grid}
.rollover-grid>section{border:1px solid var(--line);background:#faf7f2;border-radius:13px;padding:17px}
.rollover-grid h3{margin:0 0 5px;font-family:Georgia,serif;font-size:21px;font-weight:500}
.rollover-grid>section>p{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.5}
.rollover-item{border-top:1px solid #e9e1d7;grid-template-columns:1fr;gap:8px;padding:12px 0;display:grid}
.rollover-item strong{font-size:13px;display:block}
.rollover-item small{color:var(--terra);text-transform:capitalize;margin-top:3px;font-size:10px;display:block}
.rollover-item.decision{grid-template-columns:1fr minmax(150px,.6fr);align-items:center}
.rollover-context{gap:6px;font-size:11px;font-weight:750;display:grid}
.rollover-context textarea{min-height:90px;margin:0!important}
.close-week{margin:12px 0 7px}
.visible-prompt{background:#efe7dc;border:1px solid #d8cbbb;border-radius:12px;padding:13px}
.visible-prompt textarea{line-height:1.55;background:#fffdf9!important;border-color:#cfc1b0!important;min-height:215px!important;margin:0!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:12px!important}
.visible-prompt small{color:var(--terra);font-size:10px;font-weight:750}
.client-closeout{margin:0 0 22px;padding:24px}
.client-closeout .panel-head{align-items:flex-start;gap:20px}
.client-closeout .panel-head h2{margin:0 0 5px}
.client-closeout .panel-head p{color:var(--muted);max-width:660px;margin:0;font-size:12px;line-height:1.5}
.closeout-client-tabs{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px;margin:18px 0;display:grid}
.closeout-client-tabs button{background:#faf7f2;border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:11px;grid-template-columns:auto 1fr;gap:2px 8px;padding:11px;display:grid}
.closeout-client-tabs button.on{border-color:var(--terra);box-shadow:0 0 0 1px var(--terra)}
.closeout-client-tabs i{border-radius:50%;grid-row:1/3;width:10px;height:10px;margin-top:3px}
.closeout-client-tabs strong{font-size:12px}
.closeout-client-tabs small{color:var(--muted);font-size:10px}
.closeout-form{grid-template-columns:1fr 1fr;gap:14px;display:grid}
.closeout-form label{color:var(--ink);gap:6px;font-size:11px;font-weight:750;display:grid}
.closeout-form .wide{grid-column:1/-1}
.closeout-form input,.closeout-form textarea{background:#fff;border:1px solid var(--line);font:inherit;border-radius:10px;padding:11px}
.closeout-form textarea{min-height:105px;margin:0}
.hours-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}
.meeting-toggle{background:var(--soft);border-radius:10px;grid-template-columns:auto 1fr!important;align-items:center;justify-content:start;padding:12px}
.meeting-toggle input{width:18px;height:18px;margin:0;padding:0}
.closeout-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-start;gap:10px;padding-top:15px;display:flex}
.closeout-actions .copy-control{max-width:440px}
@media (width<=720px){.week-nav{margin-top:10px}
.wrap-progress{flex-direction:column;align-items:flex-start}
.wrap-layout{grid-template-columns:1fr}
.wrap-dots,.workspace header{flex-wrap:wrap}
.client-brief-head{flex-direction:column;align-items:flex-start}
.brief-grid,.rollover-grid,.talking-points,.rollover-item.decision{grid-template-columns:1fr}
.panel-head .copy-control{align-items:flex-start}
.priority-filters button{flex:1;min-width:max-content}
.closeout-form,.hours-grid{grid-template-columns:1fr}
.closeout-form .wide{grid-column:auto}
.client-closeout .panel-head{flex-direction:column}
.closeout-actions{align-items:stretch;display:grid}
}
