:root{--ink:#142e38;--muted:#5e7880;--line:#d5e4e5;--bg:#f5f9f9;--panel:#fff;--soft:#e5f3f3;--brand:#176b78;--brand-dark:#0f505c;--pink:#dba2bb;--pink-dark:#803d70;--pink-soft:#f9ebf1;--orange:#a85b13;--orange-soft:#fff0dd;--red:#a94040;--red-soft:#fdeaea;--shadow:0 14px 36px #10213c14}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{min-height:100%;color:var(--ink);background:var(--bg);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit}.app-shell{min-height:100vh}.sidebar{z-index:2;color:#c9e4e7;background:#10333c;flex-direction:column;width:244px;padding:24px 14px 17px;display:flex;position:fixed;inset:0 auto 0 0}.brand{padding:0 10px 21px;display:block}.cataleya-logo{max-width:100%;height:auto;display:block}.brand .cataleya-logo{mix-blend-mode:screen;width:196px}.brand-mark,.loading-mark{width:30px;height:30px;color:var(--brand);background:#fff;border-radius:9px;place-items:center;font-weight:850;display:grid}.sidebar-role{color:#95c0c5;letter-spacing:.08em;text-transform:uppercase;margin:0 10px 13px;font-size:11px;font-weight:750}.sidebar nav{gap:4px;display:grid}.nav-button{color:#c4dddf;text-align:left;background:0 0;border:0;border-radius:9px;width:100%;padding:11px 12px;font-size:13px;font-weight:650}.nav-button:hover,.nav-button.active{color:#fff;background:#ffffff1f}.account-card{border-top:1px solid #ffffff26;gap:4px;margin-top:auto;padding:15px 10px 3px;display:grid}.account-card strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.account-card span{color:#b4d2d4;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.account-card button{color:#fff;text-underline-offset:3px;background:0 0;border:0;width:max-content;margin-top:7px;padding:0;font-size:11px;font-weight:700;text-decoration:underline}.workspace{min-height:100vh;margin-left:244px;padding:29px clamp(22px,4.2vw,56px) 48px}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:760}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.05em;margin-bottom:0;font-size:clamp(25px,3vw,34px);line-height:1.06}h2{letter-spacing:-.03em;margin-bottom:0;font-size:18px}h3{margin-bottom:0;font-size:14px}.refresh-button,.secondary-button,.primary-button,.light-button{border:0;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:760}.refresh-button,.secondary-button{color:var(--brand);background:var(--soft)}.primary-button{color:#fff;background:var(--brand);box-shadow:0 8px 18px #176b782e}.primary-button:hover{background:var(--brand-dark)}.primary-button.compact,.secondary-button.compact{padding:8px 10px;font-size:11px}.light-button{color:var(--brand);background:#fff}.card{border:1px solid var(--line);background:var(--panel);border-radius:17px;box-shadow:0 3px 13px #10213c06}.notice{color:var(--brand);background:var(--soft);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:-7px 0 19px;padding:11px 13px;font-size:12px;line-height:1.4;display:flex}.notice.success{color:var(--brand);background:var(--soft)}.notice.error{color:var(--red);background:var(--red-soft)}.notice.info{color:var(--pink-dark);background:var(--pink-soft)}.notice button{color:inherit;background:0 0;border:0;font-size:18px;line-height:1}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.stat{padding:17px}.stat strong{color:var(--brand);letter-spacing:-.05em;font-size:25px;display:block}.stat span{color:var(--muted);margin-top:5px;font-size:11px;display:block}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(290px,.82fr);gap:18px;display:grid}.agency-two-col{grid-template-columns:minmax(0,1.1fr) minmax(280px,.8fr);align-items:start;gap:18px;display:grid}.agency-two-col .form-card{max-width:none}.project-photo-card,.review-card{margin-top:18px}.list-card{overflow:hidden}.section-heading{justify-content:space-between;align-items:flex-end;gap:14px;padding:18px;display:flex}.section-heading p:last-child{max-width:310px;color:var(--muted);text-align:right;margin:0;font-size:11px;line-height:1.4}.heading-actions{justify-items:end;gap:7px;display:grid}.heading-actions p{max-width:310px;color:var(--muted);text-align:right;margin:0;font-size:11px;line-height:1.4}.priority-list{padding:0 18px 12px}.priority{border-top:1px solid var(--line);align-items:center;gap:10px;padding:13px 0;display:flex}.priority-dot{background:var(--line);border-radius:50%;flex:none;width:9px;height:9px}.priority-dot.active{background:var(--pink)}.priority strong,.priority span{display:block}.priority strong{font-size:12px}.priority span{color:var(--muted);margin-top:2px;font-size:11px}.mini-project{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:11px;padding:13px 18px;display:flex}.mini-project strong,.mini-project span{display:block}.mini-project strong{font-size:12px}.mini-project div span{color:var(--muted);margin-top:3px;font-size:10px}.mini-project>span{color:var(--brand);font-size:12px;font-weight:780}.section-tabs{flex-wrap:wrap;gap:7px;margin:-6px 0 17px;display:flex}.section-tabs button{border:1px solid var(--line);color:var(--muted);background:var(--panel);border-radius:9px;padding:8px 10px;font-size:11px;font-weight:720}.section-tabs button.active{border-color:var(--brand);color:#fff;background:var(--brand)}.today-grid{gap:13px;max-width:760px;display:grid}.clock-banner{color:var(--brand);background:var(--soft);border:1px solid #badedf;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;font-size:11px;display:flex}.clock-banner div{gap:3px;display:grid}.clock-banner strong{font-size:12px}.clock-banner span{color:var(--muted);line-height:1.35}.hero-card{color:#fff;box-shadow:var(--shadow);background:linear-gradient(135deg,#176b78 0%,#15525e 64%,#78406f 140%);border-radius:20px;padding:24px}.hero-overline{color:#d4f0f1;letter-spacing:.07em;margin-bottom:9px;font-size:11px;font-weight:750}.hero-card h2{font-size:23px}.hero-card>p:not(.hero-overline){color:#e3f2f3;margin:7px 0 0;font-size:13px}.briefing{border-left:3px solid var(--pink);color:#fff;background:#ffffff1f;border-radius:0 8px 8px 0;margin-top:17px;padding:10px;font-size:12px;line-height:1.4}.hero-actions{flex-wrap:wrap;gap:9px;margin-top:21px;display:flex}.hero-actions a{color:#fff;border:1px solid #ffffff85;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:750;text-decoration:none}.form-card{max-width:760px;padding:19px}.form-card>p{color:var(--muted);margin:6px 0 18px;font-size:12px;line-height:1.45}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid label{color:var(--muted);gap:6px;font-size:11px;font-weight:730;display:grid}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--bg);outline-color:var(--brand);border-radius:9px;padding:10px 11px;font-size:13px}.form-grid textarea{resize:vertical;min-height:72px}.form-grid .full{grid-column:1/-1}.measurement-section{border:1px solid var(--line);background:var(--bg);border-radius:11px;gap:10px;padding:12px;display:grid}.measurement-section h3{color:var(--brand);font-size:12px}.measurement-section p{color:var(--muted);margin:4px 0 0;font-size:10px}.measurement-row{background:var(--panel);border-radius:10px;padding:11px}.measurement-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;display:flex}.measurement-heading button{color:var(--pink-dark);background:0 0;border:0;padding:0;font-size:10px;font-weight:750}.measurement-grid{grid-template-columns:minmax(125px,1.3fr) repeat(3,minmax(64px,.55fr));gap:7px;display:grid}.measurement-grid input{padding:8px;font-size:11px}.measurement-grid .measurement-note{grid-column:1/-1}.sales-layout{grid-template-columns:minmax(0,1.08fr) minmax(280px,.82fr);gap:18px;display:grid}.sales-layout:not(.form-open){grid-template-columns:minmax(0,760px)}.visit-list,.sales-pipeline{align-content:start;gap:12px;display:grid}.visit-list .section-heading,.sales-pipeline .section-heading{padding:0 0 3px}.visit-card{justify-content:space-between;align-items:flex-start;gap:13px;padding:15px;display:flex}.visit-card h3{font-size:14px}.visit-card p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.35}.visit-actions{justify-items:end;gap:8px;display:grid}.agency-visit{overflow:hidden}.agency-visit>.visit-card{box-shadow:none;border:0}.quote-line{background:var(--soft);border-radius:9px;gap:3px;padding:9px;display:grid;color:var(--brand)!important;margin-top:11px!important}.quote-line strong{color:var(--ink);font-size:11px}.quote-line span{font-size:10px}.text-danger{color:var(--red);background:0 0;border:0;padding:3px 0;font-size:11px;font-weight:750}.quote-form{background:var(--bg);border-radius:12px;margin:0 15px 15px;padding:14px}.quote-form .form-grid{gap:10px}.quote-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:13px;display:flex}.quote-form>p{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.4}.pill{color:var(--pink-dark);background:var(--pink-soft);white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:760;display:inline-block}.pill.success{color:var(--brand);background:var(--soft)}.pill.danger{color:var(--red);background:var(--red-soft)}.pill.warning{color:var(--orange);background:var(--orange-soft)}.pill.neutral{color:var(--muted);background:var(--bg)}.project-list{padding:0 18px 10px}.project-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:14px 0;display:flex}.project-row h3{font-size:13px}.project-row p{color:var(--muted);margin:4px 0 10px;font-size:11px}.project-row>div:last-child{justify-items:end;gap:7px;display:grid}.project-row>div:last-child strong{color:var(--brand);font-size:12px}.project-update-form{background:var(--bg);border-radius:10px;grid-template-columns:minmax(125px,1fr) minmax(105px,.7fr) auto;align-items:end;gap:8px;margin-top:12px;padding:10px;display:grid}.project-update-form label{color:var(--muted);gap:5px;font-size:10px;font-weight:730;display:grid}.project-update-form select,.project-update-form input{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--panel);outline-color:var(--brand);border-radius:8px;padding:8px;font-size:11px}.progress{background:var(--line);border-radius:99px;width:min(310px,48vw);height:6px;overflow:hidden}.progress span{border-radius:inherit;background:var(--brand);height:100%;display:block}.planning-list{padding:0 18px 12px}.planner-nav{justify-content:space-between;align-items:center;gap:8px;padding:0 18px 10px;display:flex}.planner-nav>span{color:var(--muted);text-align:center;text-transform:capitalize;font-size:10px;font-weight:730}.planner-nav button:disabled{cursor:not-allowed;opacity:.45}.date-strip{gap:7px;padding:0 18px 15px;display:flex;overflow-x:auto}.date-strip button{border:1px solid var(--line);color:var(--muted);background:var(--panel);text-transform:capitalize;border-radius:9px;flex:none;padding:8px 10px;font-size:10px;font-weight:750}.date-strip button.active{border-color:var(--brand);color:#fff;background:var(--brand)}.planning-row{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 0;display:flex}.planning-row>div{gap:3px;display:grid}.planning-row strong{font-size:12px}.planning-row div>span,.planning-row small{color:var(--muted);font-size:11px;line-height:1.35}.planning-actions{flex:none;justify-items:end;gap:6px;display:grid}.planning-actions>span{color:var(--brand);white-space:nowrap;font-size:11px;font-weight:780}.time-fields{align-items:center;gap:6px;display:flex}.time-fields input{min-width:0}.time-fields span{color:var(--muted);font-size:11px}.form-hint{color:var(--pink-dark);margin:13px 0 0;font-size:11px;line-height:1.4}.team-history{border-top:1px solid var(--line);gap:7px;margin-top:17px;padding-top:15px;display:grid}.team-history>strong{color:var(--ink);font-size:12px}.team-history>div{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:10px;line-height:1.35;display:flex}.photo-feed{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 18px 18px;display:grid}.photo-feed-item{gap:8px;min-width:0;display:grid}.photo-feed-item>div{gap:3px;display:grid}.photo-feed-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.photo-feed-item span,.photo-feed-item small{color:var(--muted);font-size:10px;line-height:1.35}.private-photo,.photo-placeholder{aspect-ratio:1.25;background:var(--soft);border-radius:10px;width:100%;display:block;overflow:hidden}.private-photo img{object-fit:cover;width:100%;height:100%;display:block}.photo-placeholder{color:var(--brand);place-items:center;font-size:10px;font-weight:700;display:grid}.visit-brief{background:var(--bg);border-radius:10px;gap:6px;margin-top:12px;padding:10px;display:grid}.visit-brief>strong,.measurements-summary>strong{color:var(--ink);font-size:11px}.visit-brief>p{color:var(--ink);margin:0;font-size:11px}.measurements-summary{gap:3px;display:grid}.measurements-summary span{color:var(--muted);font-size:10px;line-height:1.35}.visit-photo-strip{grid-template-columns:repeat(3,minmax(0,74px));gap:7px;margin-top:4px;display:grid}.visit-photo-strip .private-photo,.visit-photo-strip .photo-placeholder{aspect-ratio:1}.sales-visit-card{align-items:flex-start}.sales-photo-tools{justify-items:start;gap:7px;margin-top:10px;display:grid}.sales-photo-tools>p{color:var(--muted);margin:0;font-size:10px}.sales-photo-tools form{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.sales-photo-tools input{max-width:210px;color:var(--muted);font-size:10px}.work-list{align-content:start;gap:12px;display:grid}.work-list>.section-heading{padding:0 0 3px}.work-card{justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.work-card h3{font-size:14px}.work-card p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.4}.work-card .work-note{color:var(--ink);background:var(--bg);border-radius:8px;margin-top:9px;padding:8px}.work-actions{justify-items:end;gap:8px;display:grid}.review-list{padding:0 18px 12px}.review-row{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding:13px 0;display:flex}.review-row>div:first-child{gap:3px;display:grid}.review-row strong{font-size:12px}.review-row span,.review-row small{color:var(--muted);font-size:11px;line-height:1.35}.review-actions{flex:none;align-items:center;gap:8px;display:flex}.roster-list,.access-request-list{padding:0 18px 12px}.roster-row,.access-request-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.roster-row>div,.access-request-row>div:first-child{gap:3px;min-width:0;display:grid}.roster-row strong,.access-request-row strong{font-size:12px}.roster-row span,.access-request-row span,.access-request-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.35;overflow:hidden}.access-request-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:7px;display:flex}.access-request-actions select{border:1px solid var(--line);color:var(--ink);background:var(--bg);outline-color:var(--brand);border-radius:8px;padding:7px 8px;font-size:10px}.empty-state{color:var(--muted);background:var(--bg);border-radius:10px;align-items:flex-start;gap:10px;margin:0 18px 18px;padding:13px;font-size:11px;line-height:1.4;display:flex}.empty-state>span{width:21px;height:21px;color:var(--brand);background:var(--soft);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:850;display:grid}.empty-state strong{color:var(--ink);font-size:12px}.empty-state p{margin:3px 0 0}.centered-screen{align-content:center;justify-items:start;gap:0;width:min(100% - 32px,520px);min-height:100vh;margin:0 auto;padding:38px 0;display:grid}.centered-screen .auth-logo{border-radius:14px;width:min(270px,74vw);margin-bottom:22px;box-shadow:0 12px 25px #10213c26}.centered-screen>p:not(.eyebrow):not(.setup-footnote){color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.55}.centered-screen ol{color:var(--ink);gap:8px;margin:21px 0 0;padding-left:21px;font-size:13px;line-height:1.45;display:grid}.centered-screen code{color:var(--brand);background:var(--soft);border-radius:5px;padding:2px 5px;font-size:.9em}.setup-footnote{color:var(--pink-dark);background:var(--pink-soft);border-radius:10px;margin-top:22px;padding:12px;font-size:12px;line-height:1.45}.login-form{gap:8px;width:100%;margin-top:23px;display:grid}.login-form label{color:var(--muted);font-size:12px;font-weight:720}.login-form input,.login-form select{border:1px solid var(--line);color:var(--ink);background:var(--panel);outline-color:var(--brand);border-radius:10px;padding:12px;font-size:14px}.login-form button{margin-top:5px}.access-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:17px;display:flex}@media (max-width:900px){.sidebar{width:auto;min-height:auto;padding:14px 16px;position:static}.sidebar nav{gap:7px;padding-bottom:3px;display:flex;overflow-x:auto}.nav-button{flex:none;width:auto;padding:8px 10px;font-size:11px}.sidebar-role,.account-card{display:none}.brand{padding:0 0 11px}.workspace{margin-left:0;padding:23px 18px 38px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.sales-layout,.agency-two-col{grid-template-columns:1fr}.photo-feed{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.topbar{margin-bottom:19px}.topbar h1{font-size:25px}.refresh-button{padding:8px 9px;font-size:10px}.stats-grid{gap:8px}.stat{padding:14px}.stat strong{font-size:22px}.stat span{font-size:10px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.measurement-grid{grid-template-columns:1fr 1fr}.measurement-grid input:first-child,.measurement-grid .measurement-note{grid-column:1/-1}.section-heading{flex-direction:column;align-items:flex-start}.section-heading p:last-child{text-align:left}.heading-actions{justify-items:start}.heading-actions p{text-align:left}.hero-card{padding:19px}.clock-banner{flex-direction:column;align-items:flex-start}.visit-card{flex-direction:column;align-items:stretch}.visit-actions{justify-items:start}.sales-photo-tools form{flex-direction:column;align-items:flex-start}.quote-actions{justify-content:flex-start}.project-row{align-items:flex-start}.project-update-form{grid-template-columns:1fr 1fr}.project-update-form button{grid-column:1/-1;justify-self:start}.planner-nav{flex-direction:column;align-items:flex-start}.planner-nav>span{text-align:left}.progress{width:45vw}.photo-feed{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card,.review-row{flex-direction:column;align-items:stretch}.work-actions{justify-items:start}.review-actions{justify-content:flex-start}.roster-row,.access-request-row{flex-direction:column;align-items:flex-start}.access-request-actions{justify-content:flex-start}.team-history>div{flex-direction:column;align-items:flex-start;gap:2px}}
