:root{color-scheme:light;--ink:#202226;--muted:#62666e;--nav:#17191d;--teal:#805b00;--line:#e2e3e6;--bg:#f5f5f6;--yellow:#fdbf18;--blue:#2bace5;--green:#8cc641;--red:#e73236;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.5}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #1687b5;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:2.2rem;line-height:1.15;letter-spacing:-.035em;margin-bottom:0}h2{font-size:1.15rem;letter-spacing:-.015em;margin-bottom:.65rem}h3{font-size:1rem}small,.small{font-size:.875rem}.muted{color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:.13em;font-weight:750;color:var(--teal);margin:0 0 .6rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:.78rem 1.1rem;border:1px solid transparent;background:var(--teal);border-radius:7px;color:white;font-weight:650;min-height:44px;line-height:1.3}.button:hover{background:#00645f;text-decoration:none}.button.secondary{background:white;border-color:#cbd7df;color:var(--ink)}.button.secondary:hover{background:#edf4f6}.button.compact{font-size:.875rem;padding:.6rem .85rem}.button.full{width:100%}.text-button{background:none;border:0;padding:.3rem 0;color:var(--teal);font-weight:650}.text-link{font-size:.875rem;font-weight:650;white-space:nowrap}
label{font-size:.875rem;font-weight:650;display:flex;flex-direction:column;gap:.45rem}input,select{width:100%;padding:.7rem .8rem;min-height:44px;border:1px solid #bdcbd6;background:white;color:var(--ink);border-radius:6px}label small{font-weight:400;color:var(--muted)}.stack{display:flex;flex-direction:column;gap:1.05rem;margin-top:1.35rem}.check{flex-direction:row;align-items:center;font-weight:400}.check input{width:18px;min-height:18px;height:18px}.notice{border:1px solid #b8deda;background:#edf9f5;color:#15584a;border-radius:8px;padding:1rem 1.2rem;margin-bottom:1.4rem;font-size:.9375rem}.notice.error{background:#fff0f0;border-color:#ebc5c5;color:#862f32}.notice.warning{background:#fff8e7;border-color:#e7d49e;color:#795a1e}
.brand{display:flex;align-items:center;gap:.8rem;font-size:1.2rem;font-weight:750;letter-spacing:-.02em;color:white;line-height:1.2}.brandmark{width:42px;height:42px;border:1px solid #4c8291;border-radius:10px;display:grid;place-items:center;letter-spacing:-.1em;padding-right:3px;background:#173b4b;color:#a1e9dd;font-size:1rem}.brand-sub{display:block;color:#9ab3c5;font-size:.75rem;letter-spacing:.2em;font-weight:600;margin-top:6px}
.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;flex-shrink:0;background:var(--nav);color:white;padding:2rem 1.25rem;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:20;overflow-y:auto}.sidebar .brand{padding:0 .5rem;margin-bottom:2.6rem}.nav-caption{color:#95afc0;font-size:.75rem;font-weight:700;letter-spacing:.12em;margin:1.5rem .8rem .6rem}.nav-link{display:flex;align-items:center;gap:.85rem;padding:.85rem .9rem;border-radius:7px;color:#c5d4df;margin-bottom:.3rem;font-size:.9375rem}.nav-link:hover{background:#1a3a50;color:#fff;text-decoration:none}.nav-link.active{background:#214d5b;color:#bef0df;box-shadow:inset 3px 0 #63cfb2}.nav-icon{font-size:1.3rem;line-height:1;width:20px;text-align:center}.sidebar-bottom{margin-top:auto;padding-top:2rem}.account-link{display:flex;align-items:center;gap:.65rem;color:white;padding:.75rem .3rem;font-size:.875rem}.account-link small{display:block;color:#a7bdcc;font-size:.75rem;margin-top:3px}.avatar{background:#285066;width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;color:#d6e9f3;font-size:.875rem;font-weight:700}.avatar.pale{background:#edf5e4;color:#406c18}.signout{color:#a7bdcc;background:none;border:0;font-size:.875rem;padding:.5rem 0 .5rem 3.2rem}
.workspace{margin-left:246px;width:calc(100% - 246px)}.topbar{min-height:74px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:1rem 2.5rem;gap:1rem}.topbar-left{display:flex;align-items:center;gap:1rem}.breadcrumb{font-size:.875rem;color:var(--muted)}.breadcrumb span{padding:0 .65rem;color:#9bacb9}.breadcrumb strong{color:var(--ink);font-weight:550}.security-link{font-size:.875rem;color:var(--muted)}.menu-button{display:none;border:0;background:transparent;font-size:1.3rem}.content{padding:2.4rem 2.5rem 1rem;max-width:1550px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.page-intro{color:var(--muted);margin-bottom:1.8rem;max-width:850px}.month-picker{display:flex;align-items:center;gap:.5rem}.month-picker input{font-size:.875rem;max-width:190px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.6rem}.metric{background:white;border:1px solid var(--line);border-radius:11px;padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;min-height:165px}.metric>span{font-size:.875rem;color:var(--muted);font-weight:600}.metric>strong{font-size:2rem;letter-spacing:-.045em;line-height:1.2;overflow-wrap:anywhere}.metric>small{color:var(--muted);margin-top:auto;font-size:.8125rem}.metric.featured{background:#0e5f60;border-color:#0e5f60;color:white}.metric.featured>span,.metric.featured>small{color:#c2e5df}
.panel{background:white;border:1px solid var(--line);border-radius:11px;margin-bottom:1.6rem;overflow:hidden;min-width:0}.panel.padded{padding:1.5rem}.panel-heading{padding:1.4rem 1.5rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-heading h2,.panel-heading p{margin-bottom:0}.panel-heading p{margin-top:.25rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:1.5rem}.person-progress{padding:1rem 1.5rem}.person-heading{display:flex;align-items:center;gap:.7rem;font-size:.9375rem}.person-heading small{display:block;color:var(--muted);font-size:.8125rem}.person-total{margin-left:auto;text-align:right}.person-total strong{font-size:1rem}progress{display:block;width:100%;height:8px;margin:.85rem 0 0;appearance:none;border:none;border-radius:10px;overflow:hidden;background:#e8edf1}progress::-webkit-progress-bar{background:#e8edf1;border-radius:10px}progress::-webkit-progress-value{background:#60962d;border-radius:10px}progress::-moz-progress-bar{background:#60962d;border-radius:10px}.panel-note{padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #e9edf2;margin-top:1rem;color:var(--muted);font-size:.8125rem}
.focus-panel{padding:1.5rem;background:#ffffff}.focus-panel h2{font-size:1.1rem}.focus-amount{font-size:2rem;font-weight:750;letter-spacing:-.04em;margin-bottom:.5rem}.focus-panel p{font-size:.9375rem}.divider{border-top:1px solid var(--line);margin:1.5rem 0}.table-scroll{overflow-x:auto;width:100%}table{border-collapse:collapse;width:100%;text-align:left;font-size:.875rem}th{font-size:.875rem;color:var(--muted);font-weight:650;background:#f8fafc;padding:.85rem 1.3rem;border-top:1px solid #e8edf2;border-bottom:1px solid #e8edf2;white-space:nowrap}td{padding:1.15rem 1.3rem;border-bottom:1px solid #edf0f4;vertical-align:top}td strong{font-weight:650}td small{display:block;font-size:.8125rem;color:var(--muted);margin-top:.25rem}td.number,th.number{text-align:right;white-space:nowrap}.description-preview{display:block;color:var(--muted);font-size:.875rem;margin-top:.3rem;max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-block;border-radius:5px;padding:.3rem .5rem;font-size:.8125rem;font-weight:650;white-space:nowrap}.badge.good{background:#e6f5ee;color:#276951}.badge.pending{background:#fff3d8;color:#836019}.badge.neutral{background:#eef2f7;color:#52677a}.attention{color:#92691e!important}
.detail-row td{padding:.5rem 1.3rem;background:#fcfdfe}summary{color:var(--teal);font-size:.875rem;font-weight:600;cursor:pointer;padding:.35rem 0}.detail-content{padding:1rem 0}.full-description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:1000px}.detail-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:var(--muted);margin-bottom:1rem}.chip{display:inline-block;background:#edf3f6;color:#31566c;padding:.35rem .6rem;border-radius:5px;font-size:.875rem;margin:0 .5rem .5rem 0}.inline-form{display:flex;align-items:flex-end;gap:.7rem;margin-top:1rem;max-width:440px}.inline-form label{flex:1}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.8rem;padding:1.3rem 1.5rem}.filter-bar label{min-width:150px}.filter-bar .search-label{flex:1;min-width:200px}.filter-bar input,.filter-bar select{font-size:.875rem}.results-summary{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1.5rem;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}.results-summary strong{color:var(--ink)}.pagination{padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--muted)}.pagination>div{display:flex;gap:.6rem}
.empty{padding:2.7rem 1.5rem;text-align:center;color:var(--muted)}.empty h3{color:var(--ink);margin:.7rem 0 .3rem}.empty p{margin:0}.empty-icon{font-size:2rem;color:#7c9ca8}.data-note{display:flex;gap:1.2rem;background:#eeeeef;padding:1rem 1.2rem;border-radius:8px;font-size:.875rem;color:#62666e}.data-note strong{white-space:nowrap;color:#303236}.page-footer{display:flex;justify-content:space-between;gap:1rem;padding:1.8rem 0 .7rem;font-size:.75rem;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.5rem}.target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:0 1.5rem 1.5rem}.target-card{border:1px solid var(--line);border-radius:8px;padding:1.25rem}.target-amount{font-size:1.9rem;font-weight:700;letter-spacing:-.04em;margin-top:1.2rem}.target-form{padding-top:1rem;border-top:1px solid var(--line);margin-top:1rem}.health-row{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid var(--line);gap:1rem}.health-row small{display:block;color:var(--muted);font-size:.8125rem}.health-row+p{margin-top:1rem}
.credentials code,.recovery-grid code{font-family:ui-monospace,monospace;font-size:1rem;overflow-wrap:anywhere}.credentials strong{display:block}.recovery-panel{padding:1.7rem;background:#f6fcfa}.recovery-panel h2{margin-top:1rem}.recovery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:1rem}.recovery-grid code{border:1px solid #c7e0d8;border-radius:6px;padding:.75rem;text-align:center;background:white}
.auth-layout{display:grid;grid-template-columns:42% 58%;min-height:100vh}.auth-brand{padding:3rem 3.5rem;background:var(--nav);color:white;display:flex;flex-direction:column;justify-content:space-between;gap:5rem}.auth-brand>.brand{margin-bottom:2rem}.auth-brand>div:last-child{margin-bottom:4rem}.auth-brand h1{font-size:3.25rem;line-height:1.08;letter-spacing:-.055em;margin:1.2rem 0 1.5rem}.auth-brand p:not(.eyebrow){color:#b2c6d4;line-height:1.7}.auth-brand .eyebrow{color:#72cdb9}.auth-rule{width:64px;height:4px;background:#72cdb9;margin:2rem 0}.auth-brand .small{color:#9bb6c8}.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background:white}.auth-card{max-width:410px;width:100%}.auth-card h2{font-size:2rem;letter-spacing:-.04em}.auth-card>.muted{margin-bottom:1.8rem}.auth-footer{font-size:.75rem;color:var(--muted);margin-top:3rem}.back-form{margin-top:1rem}.setup-details{padding:1rem;border-radius:8px;background:var(--bg);border:1px solid var(--line)}.setup-details dt{font-size:.8125rem;color:var(--muted);margin-bottom:.4rem}.setup-details dd{margin:0 0 1rem;font-size:.875rem;overflow-wrap:anywhere}.setup-details dd:last-child{margin-bottom:0}.secret-key{font-size:1rem;letter-spacing:.025em;word-break:break-all}.mobile-brand{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:10px;padding:.7rem;background:white;z-index:100}.skip-link:focus{top:10px}
@media(max-width:1200px){.sidebar{width:214px;padding-left:.8rem;padding-right:.8rem}.workspace{margin-left:214px;width:calc(100% - 214px)}.content{padding:1.8rem 1.5rem 1rem}.topbar{padding:1rem 1.5rem}.metric{padding:1.15rem}.metric>strong{font-size:1.7rem}.target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}.recovery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .18s ease;width:246px;box-shadow:5px 0 30px #10283e26}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0;width:100%}.menu-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr 1fr}.auth-brand{padding:2.5rem 2rem}.auth-brand h1{font-size:2.7rem}}
@media(max-width:650px){.topbar{padding:.6rem 1rem}.security-link{display:none}.content{padding:1.6rem 1rem .8rem}h1{font-size:1.9rem}.page-heading{align-items:flex-start;flex-direction:column;gap:1.1rem}.month-picker{width:100%}.month-picker input{max-width:none}.page-intro{font-size:.9375rem;margin-bottom:1.2rem}.metric-grid{gap:.7rem}.metric{padding:1rem;min-height:150px}.metric>strong{font-size:1.6rem}.dashboard-grid,.settings-grid{grid-template-columns:1fr;gap:0}.panel-heading{padding:1.2rem;align-items:flex-start}.panel-heading .text-link{white-space:normal;text-align:right}.person-progress{padding:.85rem 1.2rem}.panel-note{padding:1rem 1.2rem}.target-grid{grid-template-columns:1fr;padding:0 1.2rem 1.2rem}.filter-bar{padding:1.2rem}.filter-bar label{flex:1;min-width:130px}.filter-bar .button{width:100%}.results-summary{flex-direction:column;gap:.2rem;padding:1rem 1.2rem}.data-note,.page-footer{flex-direction:column;gap:.5rem}.description-preview{max-width:240px}td,th{padding:.9rem 1rem}.auth-layout{display:block}.auth-brand{display:none}.auth-main{padding:2.5rem 1.3rem;min-height:100vh}.mobile-brand{display:block;margin-bottom:3rem}.mobile-brand .brand{color:var(--nav)}.mobile-brand .brand-sub{color:var(--muted)}.recovery-grid{grid-template-columns:1fr 1fr}.recovery-grid code{font-size:.875rem;padding:.6rem}.inline-form{flex-wrap:wrap}.inline-form label{min-width:180px}.auth-card h2{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* OnScreen Designs, supplied logo palette */
.button{background:var(--yellow);color:#202226;font-weight:750;border-color:var(--yellow)}
.button:hover{background:#edaf08;border-color:#edaf08}
.button.secondary{background:#fff;border-color:#d3d5da;color:#303236}
.button.secondary:hover{background:#f3f3f4}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #1687b5;outline-offset:3px}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;width:100%}
.brand-logo{width:100%;max-width:310px;height:auto;display:block}
.brand-black{display:none}.brand-sub{color:#bbbfc6;font-size:.75rem;letter-spacing:.19em;margin:0 0 0 .1rem}
.sidebar{width:260px;padding:2rem 1.1rem;background:var(--nav)}
.sidebar .brand{padding:0 .35rem;margin-bottom:1.75rem}
.nav-caption{color:#a5a9b1}.nav-link{color:#d0d2d7;padding:.85rem .9rem}
.nav-link:hover{background:#292c32}.nav-link.active{background:#fdbf18;color:#1c1d20;box-shadow:none;font-weight:750}
.nav-icon{font-size:1.25rem}.account-link small,.signout{color:#b8bdc5}.avatar{background:#343840;color:#fff}
.workspace{margin-left:260px;width:calc(100% - 260px)}
.content{max-width:1840px;padding:2rem 2.5rem 1rem}
.topbar{border-top:4px solid var(--yellow)}
.eyebrow{color:#805b00}.metric{border-radius:10px;box-shadow:0 2px 6px #17191d03}
.metric.featured{background:var(--yellow);border-color:var(--yellow);color:#202226}
.metric.featured>span,.metric.featured>small{color:#4c3b12}
.metric-grid .metric:nth-child(2){border-top:4px solid var(--blue)}
.metric-grid .metric:nth-child(3){border-top:4px solid var(--green)}
.metric-grid .metric:nth-child(4){border-top:4px solid #25272c}
.metric>small,.person-heading small,.person-total small{font-size:.875rem}
.focus-panel{border-top:4px solid var(--blue)}.focus-panel .eyebrow{color:#186282}
.badge.good{background:#edf5e4;color:#406c18}.badge.neutral{background:#efeff1;color:#575c65}
.badge.pending,.badge.project-active{background:#fff2c9;color:#74520c}
.panel{border-radius:10px}.panel-note{background:#f7f7f8}.chip{background:#f0f2f5;color:#333c49}
.auth-brand{background:#17191d;position:relative;border-bottom:8px solid var(--yellow)}
.auth-brand>.brand{max-width:370px}.auth-brand .eyebrow{color:var(--yellow)}
.auth-brand p:not(.eyebrow),.auth-brand .small{color:#c2c4cb}.auth-rule{background:var(--yellow);width:100px}
.auth-card .eyebrow{color:#805b00}.auth-main{background:#fff}
.project-summary-strip{display:flex;align-items:center;gap:1.6rem;border:1px solid var(--line);border-left:5px solid var(--yellow);background:white;border-radius:8px;margin-bottom:1.5rem;padding:1rem 1.3rem}
.project-summary-strip>div{display:flex;align-items:center;gap:1rem;margin-right:auto}
.project-summary-strip .eyebrow{margin:0}
textarea{width:100%;resize:vertical;min-height:90px;border:1px solid #bdc2ca;border-radius:6px;padding:.8rem;font:inherit;color:var(--ink);background:#fff}
.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.2rem 0 1.5rem;flex-wrap:wrap}
.toolbar-actions,.schedule-nav{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.view-tabs{display:flex;gap:.3rem;padding:.3rem;background:#e9eaed;border-radius:8px}
.view-tabs a{padding:.65rem 1rem;color:#565c65;border-radius:6px;font-size:.875rem;font-weight:650}
.view-tabs a.selected{background:#fff;color:#202226;box-shadow:0 1px 4px #0000000d}
.view-tabs a:hover{text-decoration:none;background:#f7f7f8}
.project-search{display:flex;gap:.7rem;margin-bottom:1.5rem;max-width:560px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.project-card{padding:1.35rem;margin:0;border-top:4px solid var(--yellow)}
.project-card-top,.project-card-bottom,.project-progress-label{display:flex;align-items:center;justify-content:space-between;gap:.7rem}
.project-code{font-size:.75rem;letter-spacing:.09em;font-weight:750;color:var(--muted)}
.project-card h2{font-size:1.3rem;line-height:1.3;margin:1.1rem 0 .5rem;overflow-wrap:anywhere}
.project-card h2 a{color:var(--ink)}.project-card>p{font-size:.875rem}
.project-dates{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.875rem;padding:.8rem 0}
.project-progress-label{font-size:.875rem;margin-top:.8rem}.project-progress-label strong{font-size:.8125rem}
.project-card-bottom{border-top:1px solid var(--line);padding-top:1.1rem;margin-top:1.2rem;font-size:.875rem}
.project-card-bottom>span{color:var(--muted);overflow-wrap:anywhere}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.member-picker{border:1px solid var(--line);padding:1rem;border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem}
.member-picker legend{font-size:.875rem;font-weight:700;padding:0 .4rem}
.member-picker>p{flex-basis:100%;margin:0}
.project-create{max-width:1000px;margin-top:1.5rem}
.project-hero{display:flex;justify-content:space-between;gap:2rem;padding:1.8rem;border-top:5px solid var(--yellow)}
.project-hero h2{font-size:1.9rem;line-height:1.25;margin-bottom:.6rem;overflow-wrap:anywhere}
.project-client{margin:0;color:var(--muted)}
.project-hero-dates{display:flex;flex-direction:column;gap:.35rem;flex-shrink:0;font-size:.875rem;text-align:right}
.project-hero-dates>span{color:var(--muted)}
.project-detail-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:1.5rem}
.project-detail-grid>div,.project-detail-grid>aside{min-width:0}
.project-detail-grid select{max-width:100%}
.task-item{padding:1.2rem 1.5rem;border-top:1px solid var(--line)}
.task-line{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.5rem}
.task-line>div{flex:1;min-width:0}.task-line h3{margin:0 0 .3rem;overflow-wrap:anywhere}
.task-line p{margin:0}.task-marker{width:22px;height:22px;border:2px solid #aab0b8;border-radius:6px;flex-shrink:0;margin-top:2px}
.task-marker.complete{background:#60962d;border-color:#60962d;color:white;text-align:center;line-height:18px;font-size:14px}
.task-add{padding:1.1rem 1.5rem;border-top:1px solid var(--line);background:#fafafa}
.task-add>summary{font-size:1rem}.remove-task{margin-top:1rem}
.danger{color:#a3292c}.comment-list{margin-top:1.7rem}
.comment{border-top:1px solid var(--line);padding:1.2rem 0 .2rem}
.comment-heading{display:flex;gap:1rem;justify-content:space-between;margin-bottom:.6rem;font-size:.875rem}
.comment-heading time{color:var(--muted);font-size:.8125rem}
.linked-record{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:6px;padding:.85rem;margin:1rem 0;display:flex;flex-direction:column;gap:.3rem}
.linked-record form{margin-top:.3rem}.link-picker{border-top:1px solid var(--line);margin-top:1rem;padding-top:.75rem}
.activity-item{padding:.9rem 0;border-top:1px solid var(--line);font-size:.875rem}
.activity-item strong,.activity-item span,.activity-item small{display:block}
.activity-item span,.activity-item small{color:var(--muted);margin-top:.25rem;font-size:.8125rem}
.gantt-legend{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.875rem;margin:1.3rem 0 .7rem}
.gantt-legend span{display:flex;align-items:center;gap:.5rem}
.gantt-legend span:before{content:"";width:16px;height:10px;background:var(--yellow);border-radius:2px}
.gantt-legend .legend-task:before{background:var(--blue)}.gantt-legend .legend-complete:before{background:#60962d}
.schedule-message{min-height:40px;padding:.5rem 0 1rem;font-size:.875rem;color:#575c65}
.timeline-shell{display:grid;grid-template-columns:250px minmax(0,1fr)}
.timeline-labels{border-right:1px solid #d6d8dd;z-index:1;box-shadow:3px 0 8px #17191d08;background:white}
.timeline-label-heading{height:64px;display:flex;align-items:center;padding:0 1.2rem;font-size:.75rem;font-weight:750;letter-spacing:.07em;border-bottom:1px solid var(--line)}
.timeline-label{height:48px;display:flex;flex-direction:column;justify-content:center;padding:0 1rem;border-bottom:1px solid #e8e9ec;color:#202226}
.timeline-label:hover{background:#fff8e1;text-decoration:none}
.timeline-label strong{font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timeline-label small{font-size:.75rem;color:var(--muted)}
.timeline-label.child{padding-left:1.8rem;background:#fafafa}.timeline-label.child strong{font-weight:500}
.timeline-scroll{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}
.gantt-svg{display:block;max-width:none}
.gantt-day{font:12px var(--font);fill:#676d76}.gantt-month{font:700 13px var(--font);fill:#202226}
.gantt-bar{cursor:grab;touch-action:none}.gantt-bar:focus-visible{outline:none}.gantt-bar:focus-visible .bar-body{stroke:#202226;stroke-width:3}
.gantt-bar[data-editable="0"]{cursor:pointer}.gantt-bar.dragging{cursor:grabbing;opacity:.8}
.gantt-bar.project .bar-body{fill:var(--yellow)}.gantt-bar.task .bar-body{fill:var(--blue)}.gantt-bar.completed .bar-body{fill:#60962d}
.bar-handle{fill:#000;fill-opacity:.18;cursor:ew-resize}
.gantt-bar:hover .bar-body{stroke:#202226;stroke-width:1.5}
@media(min-width:1800px){.content{padding-left:3rem;padding-right:3rem}}
@media(max-width:1350px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-grid{grid-template-columns:minmax(0,1fr) minmax(270px,.8fr)}}
@media(max-width:1100px){.sidebar{width:230px}.workspace{margin-left:230px;width:calc(100% - 230px)}.content{padding:1.75rem 1.5rem 1rem}.project-detail-grid{grid-template-columns:1fr}.project-detail-grid>aside{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.project-hero{gap:1rem;padding:1.5rem}.project-hero h2{font-size:1.6rem}}
@media(max-width:900px){.sidebar{width:260px}.workspace{margin-left:0;width:100%}.project-summary-strip{gap:1rem}.project-summary-strip>div{display:block}.project-summary-strip .eyebrow{display:block;margin-bottom:.3rem}.timeline-shell{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:650px){.content{padding:1.5rem 1rem 1rem}.brand-white{display:none}.brand-black{display:block}.sidebar .brand-white{display:block}.sidebar .brand-black{display:none}.mobile-brand .brand{max-width:290px}.project-grid,.form-grid,.project-detail-grid>aside{grid-template-columns:1fr}.project-hero{flex-direction:column;gap:.8rem}.project-hero-dates{text-align:left}.project-summary-strip{flex-wrap:wrap}.project-summary-strip>div{flex-basis:100%}.project-toolbar{align-items:flex-start}.project-card{padding:1.2rem}.toolbar-actions{width:100%}.task-line>.badge{font-size:.75rem}.task-item,.task-add{padding:1rem}.comment-heading{flex-direction:column;gap:.2rem}.timeline-shell{grid-template-columns:150px minmax(0,1fr)}.timeline-label{padding:0 .6rem}.timeline-label.child{padding-left:.9rem}.timeline-label-heading{padding:0 .6rem}.gantt-legend{gap:.8rem}.schedule-nav{width:100%;justify-content:space-between}.project-progress-label{flex-wrap:wrap}.view-tabs a{padding:.65rem .85rem}}

.quote-refs{display:inline-block;color:#805b00;font-weight:750;letter-spacing:0;white-space:normal}
.project-code .quote-refs{margin-left:.5rem}
.project-card-top{align-items:flex-start}.project-code{line-height:1.7}
.compact-timeline{max-height:360px;overflow:auto;border-top:1px solid var(--line)}
.compact-label-heading{height:40px;padding:.7rem 1rem;font-size:.75rem;font-weight:750;border-bottom:1px solid var(--line)}
.timeline-label.compact-label{height:40px}.compact-label small{font-size:.75rem}
.compact-timeline .timeline-scroll{overflow-x:auto;overflow-y:hidden}
.project-summary-strip>div{flex-wrap:wrap}.role-form{display:flex;gap:.4rem;margin-top:.5rem;min-width:230px}.role-form select{min-width:125px;font-size:.875rem;padding:.4rem}
.pending-cards{border-top:1px solid var(--line)}.pending-card{display:flex;justify-content:space-between;gap:1rem;padding:1.2rem 1.5rem;border-bottom:1px solid var(--line);color:var(--ink)}
.pending-card:hover{background:#fffbed;text-decoration:none}.pending-card>div:first-child{min-width:0}.pending-card h3{margin:.7rem 0 .4rem}
.pending-description{max-width:760px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 0 .5rem;color:var(--muted);font-size:.9375rem}
.pending-card small,.pending-amount small{font-size:.875rem;color:var(--muted)}.pending-amount{text-align:right;flex-shrink:0;display:flex;flex-direction:column;gap:.3rem}
.pending-editor{max-width:850px}.pending-editor .check{align-items:flex-start}
.copy-description{padding:1rem;background:#f5f5f6;border:1px solid var(--line);border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:1rem;user-select:text}
.refresh-link{display:inline-block;margin-top:1rem}.project-detail-grid .check{align-items:flex-start}.project-detail-grid .check input{flex-shrink:0;margin-top:.2rem}
@media(max-width:650px){.pending-card{flex-direction:column;padding:1rem}.pending-amount{text-align:left}.pending-description{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.pending-editor .button{width:100%}.project-summary-strip .button{width:100%}.role-form{min-width:220px}}

.client-picker select[hidden] { display: none; }
.client-search { font-size: 16px; }
.client-search-results { max-height: 260px; overflow-y: auto; overscroll-behavior: contain; }
.client-search-results:empty { display: none; }
.client-search-result { display: block; width: 100%; min-height: 48px; padding: 12px; text-align: left; white-space: normal; overflow-wrap: anywhere; background: #fff; color: #20242a; border: 1px solid #dce0e5; border-radius: 4px; cursor: pointer; font: inherit; }
.client-search-result:hover, .client-search-result:focus-visible { background: #fff4cc; outline: 2px solid #9b7000; outline-offset: -2px; }
