:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;--navy:#101b31;--navy-soft:#1d3155;--blue:#1257b8;--orange:#f09a27;--line:#e2e7ef;--muted:#667085;--shadow:0 5px 24px #0f172a12;background:#f3f5f8;font-family:Aptos,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#f3f5f8;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}h1,h2,h3,strong{font-family:Aptos Display,Segoe UI,system-ui,sans-serif}.app-shell{min-height:100svh;display:flex}.sidebar{z-index:40;color:#eaf1ff;background:linear-gradient(170deg,#101b31 0%,#132342 55%,#0c1629 100%);flex-direction:column;width:260px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:12px 0 35px #101b311c}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;height:84px;padding:17px 18px;display:flex}.brand>div:last-child{min-width:0;display:grid}.brand strong{color:#fff;font-size:15px}.brand span{color:#91a8ca;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.brand-mark{width:46px;height:46px;color:var(--navy);background:linear-gradient(145deg,#ffb348,#f09a27);border-radius:14px;flex:none;place-items:center;font-family:Segoe UI,sans-serif;font-weight:900;display:grid;box-shadow:0 11px 30px #f09a273d}.brand-mark.large{border-radius:22px;width:76px;height:76px;font-size:24px}.sidebar nav{flex:1;padding:18px 12px;overflow:auto}.nav-label{color:#748aaa;letter-spacing:.14em;margin:0 10px 9px;font-size:10px;font-weight:700}.sidebar nav button{color:#bccae0;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;height:42px;padding:0 12px;transition:all .18s;display:flex}.sidebar nav button:hover{color:#fff;background:#ffffff0f}.sidebar nav button.active{color:var(--navy);background:var(--orange);font-weight:700;box-shadow:0 7px 20px #f09a2733}.sidebar nav button em{color:#bcd1f2;background:#ffffff17;border-radius:99px;place-items:center;min-width:21px;height:21px;margin-left:auto;padding:0 5px;font-size:11px;font-style:normal;display:grid}.sidebar nav button.active em{color:var(--navy);background:#101b311f}.sidebar nav button em.danger{color:#fff;background:#d92d20}.sidebar-user{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:14px;align-items:center;gap:10px;margin:12px;padding:11px;display:flex}.sidebar-user .avatar{color:#fff;background:#2a4f84;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.sidebar-user>div:nth-child(2){flex:1;min-width:0;display:grid}.sidebar-user strong,.sidebar-user span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user strong{color:#fff;font-size:12px}.sidebar-user span{color:#8297b7;font-size:10px}.sidebar-user button{color:#8fa5c5;background:0 0;border:0;border-radius:9px;width:32px;height:32px}.sidebar-user button:hover{color:#fff;background:#ffffff14}.workspace{width:calc(100% - 260px);min-width:0;margin-left:260px}.offline-banner{color:#7a2e0e;background:#ffead5;justify-content:center;align-items:center;gap:8px;min-height:34px;padding:7px 18px;font-size:12px;font-weight:600;display:flex}.topbar{z-index:25;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;align-items:center;gap:12px;min-height:72px;padding:11px 28px;display:flex;position:sticky;top:0}.topbar-title{min-width:180px;margin-right:auto}.topbar h1{letter-spacing:-.025em;margin:0;font-size:19px}.topbar-title p{color:#8490a3;margin:2px 0 0;font-size:11px}.menu-button{display:none}.search-box{border:1px solid var(--line);color:#98a2b3;background:#f8fafc;border-radius:11px;align-items:center;gap:8px;width:min(270px,22vw);height:40px;padding:0 12px;display:flex}.search-box:focus-within{border-color:#8bb3e9;box-shadow:0 0 0 3px #1257b816}.search-box input{color:#172033;background:0 0;border:0;outline:0;width:100%}.primary-button,.secondary-button,.install-button,.sync-button{white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:var(--blue);box-shadow:0 6px 16px #1257b82b}.primary-button:hover{background:#0e4b9e}.secondary-button{color:#344054;background:#fff;border-color:#d7dee8}.secondary-button:hover{background:#f8fafc}.install-button{color:#344054;border-color:var(--line);background:#fff}.sync-button{color:#3e587c;background:#f5f8fc;border-color:#dce5f1;min-width:94px;padding-inline:11px}.sync-button.synced{color:#067647;background:#ecfdf3;border-color:#b7ebcc}.sync-button.offline{color:#7a2e0e;background:#fff6ed;border-color:#ffd6ae}.sync-button.error{color:#b42318;background:#fef3f2;border-color:#fecdca}.sync-button.pending{color:#854a0e;background:#fffaeb;border-color:#fedf89}.main-content{padding:26px 28px 42px}.notice{color:#067647;background:#ecfdf3;border:1px solid #abefc6;border-radius:12px;align-items:center;gap:9px;max-width:1500px;margin:0 auto 18px;padding:11px 14px;font-size:13px;display:flex}.notice span{flex:1}.notice button{color:inherit;background:0 0;border:0}.dashboard,.module-panel,.job-module,.calendar-shell,.settings-page{max-width:1500px;margin:0 auto}.welcome p{color:var(--blue);letter-spacing:.11em;margin:0 0 4px;font-size:11px;font-weight:800}.welcome h2{letter-spacing:-.04em;margin:0;font-size:clamp(24px,3vw,34px)}.phone-hours{color:#475467;background:#eaf1fb;border-radius:8px;align-items:center;gap:6px;width:fit-content;margin-top:10px;padding:6px 9px;font-size:10px;font-weight:700;display:flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.metric-card{min-height:132px;box-shadow:var(--shadow);text-align:left;background:#fff;border:0;border-radius:17px;justify-content:space-between;gap:12px;padding:18px;transition:transform .17s,box-shadow .17s;display:flex}.metric-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0f172a1a}.metric-card>div{flex-direction:column;min-width:0;display:flex}.metric-card span{color:#667085;font-size:12px;font-weight:600}.metric-card strong{letter-spacing:-.04em;text-overflow:ellipsis;margin-top:12px;font-size:24px;overflow:hidden}.metric-card small{color:#8994a5;margin-top:auto;font-size:11px}.metric-card i,.settings-icon{border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-style:normal;display:grid}.blue{color:#175cd3;background:#eff8ff}.violet{color:#6941c6;background:#f4f3ff}.orange{color:#b54708;background:#fff6ed}.green{color:#067647;background:#ecfdf3}.red{color:#b42318;background:#fef3f2}.dashboard-grid{grid-template-columns:1.45fr .75fr;gap:18px;margin-top:18px;display:grid}.panel,.module-panel,.calendar-shell,.settings-card,.conflict-card{box-shadow:var(--shadow);background:#fff;border-radius:18px}.panel-head{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:flex-start;padding:18px 20px;display:flex}.panel-head h3{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.panel-head p{color:#8a94a4;margin:3px 0 0;font-size:11px}.panel-head>button{color:var(--blue);background:0 0;border:0;align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.activity-list>button{text-align:left;background:0 0;border:0;border-bottom:1px solid #f0f2f5;align-items:center;gap:12px;width:100%;padding:13px 20px;display:flex}.activity-list>button:hover{background:#f8fafc}.activity-list i{width:36px;height:36px;color:var(--blue);background:#eff6ff;border-radius:11px;place-items:center;display:grid}.activity-list>button div{flex:1;min-width:0;display:grid}.activity-list strong,.activity-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-list strong{font-size:12px}.activity-list span,.activity-list time{color:#8490a3;font-size:10px}.quick-panel{padding-bottom:14px}.quick-panel>button{color:#344054;text-align:left;background:#f9fafb;border:1px solid #e3e8ef;border-radius:12px;align-items:center;gap:10px;width:calc(100% - 28px);min-height:46px;margin:12px 14px 0;padding:0 14px;font-weight:700;display:flex}.quick-panel>button:hover{color:var(--blue);background:#f0f6ff;border-color:#b9cce6}.empty-mini{color:#98a2b3;text-align:center;align-content:center;place-items:center;min-height:180px;display:grid}.empty-mini p{margin:8px 0 0;font-size:12px}.module-panel{overflow:hidden}.module-head{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.module-head h2{margin:0;font-size:17px}.module-head p{color:#8490a3;margin:3px 0 0;font-size:11px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{color:#667085;text-align:left;white-space:nowrap;background:#f8fafc;padding:12px 16px;font-weight:700}td{vertical-align:middle;color:#475467;border-top:1px solid #edf0f4;padding:13px 16px}td:first-child{min-width:220px}td strong,td span{display:block}td strong{color:#1d2939;font-size:12px}td span{color:#8792a3;margin-top:2px;font-size:10px}tbody tr:hover{background:#fbfcfe}.status{border-radius:99px;width:fit-content;padding:4px 8px;font-weight:700;display:inline-flex}.status.good{color:#067647;background:#ecfdf3}.status.bad{color:#b42318;background:#fef3f2}.status.info{color:#175cd3;background:#eff8ff}.status.warn{color:#b54708;background:#fff6ed}.row-actions{align-items:center;gap:6px;display:flex}.row-actions button{color:#475467;background:#fff;border:1px solid #e0e6ee;border-radius:8px;min-height:31px;padding:0 9px;font-size:10px;font-weight:700}.row-actions button.delete{color:#b42318;background:0 0;border-color:#0000;padding:0 8px}.document-buttons{flex-wrap:wrap;gap:5px;display:flex}.document-buttons button{color:#175cd3;white-space:nowrap;background:#f5f9ff;border:1px solid #d6e2f1;border-radius:8px;align-items:center;gap:4px;min-height:30px;padding:0 8px;font-size:9px;font-weight:800;display:inline-flex}.document-buttons button:hover{background:#eaf3ff;border-color:#91b8e8}.no-document{color:#98a2b3;white-space:nowrap;margin:0;font-size:9px}.document-total{color:#175cd3;background:#eff8ff;border-radius:99px;padding:6px 10px;font-size:10px;font-weight:800}.document-filters{background:#fbfcfe;border-bottom:1px solid #edf0f4;flex-wrap:wrap;gap:7px;padding:12px 20px;display:flex}.document-filters button{color:#667085;background:#fff;border:1px solid #dce3ec;border-radius:9px;min-height:33px;padding:0 11px;font-size:10px;font-weight:700}.document-filters button.active{color:#fff;border-color:var(--blue);background:var(--blue)}.document-error{margin:14px 20px 0}.document-type{color:#344054;background:#eef2f7;border-radius:99px;width:fit-content;margin:0;padding:4px 8px;font-size:9px;font-weight:800}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:420px;padding:32px;display:flex}.empty-state>div{width:54px;height:54px;color:var(--blue);background:#eff6ff;border-radius:16px;place-items:center;display:grid}.empty-state h3{margin:14px 0 3px}.empty-state p{color:#7e8999;max-width:360px;margin:0 0 18px;font-size:12px}.expense-summary{color:#fff;background:linear-gradient(135deg,#101b31,#17325d);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 20px;display:grid}.expense-summary>div{background:#ffffff0d;border:1px solid #ffffff17;border-radius:12px;gap:4px;padding:12px 14px;display:grid}.expense-summary span{color:#a9bdd9;font-size:10px;font-weight:700}.expense-summary strong{font-size:20px}.job-module{gap:14px;display:grid}.job-module-head{box-shadow:var(--shadow);background:#fff;border-radius:18px}.job-list{gap:14px;display:grid}.job-card{box-shadow:var(--shadow);background:#fff;border-radius:18px;overflow:hidden}.job-card-head{justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.job-card-head>div:first-child{min-width:0}.job-card-head>div:first-child>span{color:var(--blue);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:800}.job-card-head h3{margin:4px 0 2px;font-size:17px}.job-card-head small{color:#7b8798;font-size:10px}.job-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.job-card-actions>button{color:#475467;background:#fff;border:1px solid #dce3ec;border-radius:8px;min-height:31px;padding:0 9px;font-size:10px;font-weight:700}.job-card-actions>button.delete{color:#b42318;border-color:#0000;padding:0 8px}.job-finances{border-top:1px solid #edf0f4}.job-finances>summary{color:#344054;cursor:pointer;background:#f8fafc;justify-content:space-between;align-items:center;gap:16px;min-height:70px;padding:13px 20px;list-style-position:inside;display:flex}.job-finances>summary:hover{background:#f2f6fb}.job-finances>summary>div:first-of-type{gap:3px;margin-right:auto;display:grid}.job-finances>summary>div:first-of-type strong{font-size:12px}.job-finances>summary>div:first-of-type span{color:#7b8798;font-size:9px}.job-finances>summary>div:last-child{justify-items:end;display:grid}.job-finances>summary>div:last-child b{color:#067647;font-size:15px}.job-finances>summary>div:last-child small{color:#7b8798;font-size:8px}.job-finance-body{gap:16px;padding:18px 20px 20px;display:grid}.job-balance-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;display:grid}.job-balance-grid>div{background:#fff;border:1px solid #e1e7ef;border-radius:11px;gap:3px;padding:11px;display:grid}.job-balance-grid span{color:#667085;text-transform:uppercase;letter-spacing:.04em;font-size:8px;font-weight:800}.job-balance-grid strong{font-size:14px}.job-balance-grid small{color:#8792a3;font-size:8px}.job-balance-grid .positive{background:#f2fcf6;border-color:#b7ebcc}.job-balance-grid .negative{background:#fff7f6;border-color:#fecdca}.job-balance-grid .negative strong{color:#b42318}.job-balance-grid .positive strong{color:#067647}.job-ledgers{grid-template-columns:1fr 1fr;gap:12px;display:grid}.job-ledgers>section{border:1px solid #e1e7ef;border-radius:13px;overflow:hidden}.ledger-head{background:#f8fafc;border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:11px 13px;display:flex}.ledger-head h4{margin:0;font-size:12px}.ledger-head p{color:#7b8798;margin:2px 0 0;font-size:8px}.ledger-head>strong{white-space:nowrap;font-size:10px}.ledger-row{border-top:1px solid #edf0f4;grid-template-columns:minmax(130px,1fr) auto auto auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.ledger-head+.ledger-row{border-top:0}.ledger-row>div:first-child{gap:2px;min-width:0;display:grid}.ledger-row>div:first-child>span{color:var(--blue);text-transform:uppercase;font-size:8px;font-weight:800}.ledger-row>div:first-child>strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.ledger-row>div:first-child>small{color:#8792a3;font-size:8px}.ledger-row>strong{white-space:nowrap;font-size:10px}.ledger-empty{color:#8792a3;text-align:center;margin:0;padding:20px 14px;font-size:10px}.job-link-note{color:#475467;background:#eef5ff;border-radius:9px;margin:0;padding:9px 11px;font-size:9px}.job-empty{box-shadow:var(--shadow);background:#fff;border-radius:18px}.calendar-shell{overflow:hidden}.calendar-toolbar{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.calendar-heading{align-items:center;gap:11px;display:flex}.calendar-heading-icon{width:42px;height:42px;color:var(--blue);background:#eef5ff;border-radius:12px;place-items:center;display:grid}.calendar-heading h2{margin:0;font-size:16px}.calendar-heading p{color:#8490a3;margin:2px 0 0;font-size:11px}.calendar-actions{align-items:end;gap:10px;display:flex}.resource-picker{color:#667085;text-transform:uppercase;letter-spacing:.08em;gap:3px;font-size:9px;font-weight:700;display:grid}.resource-picker select{color:#344054;background:#fff;border:1px solid #dce3ec;border-radius:9px;min-width:150px;height:36px;padding:0 9px;font-size:12px;font-weight:600}.view-switch{background:#eef2f7;border-radius:10px;padding:3px;display:flex}.view-switch button{color:#667085;background:0 0;border:0;border-radius:8px;height:31px;padding:0 11px;font-size:11px;font-weight:700}.view-switch button.active{color:#fff;background:var(--navy);box-shadow:0 4px 12px #101b312e}.calendar-period-bar{border-bottom:1px solid #edf0f4;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:56px;padding:8px 18px;display:grid}.calendar-period-bar h3{text-transform:capitalize;margin:0;font-size:14px}.period-navigation{gap:5px;display:flex}.period-navigation button{color:#475467;background:#fff;border:1px solid #dfe5ed;border-radius:8px;place-items:center;min-width:31px;height:31px;padding:0 8px;display:grid}.period-navigation .today-button{font-size:10px;font-weight:700;display:block}.calendar-legend{color:#7c8797;justify-self:end;align-items:center;gap:6px;font-size:9px;display:flex}.calendar-legend span{border-radius:3px;width:9px;height:9px}.legend-free{background:#f0fdf4;border:1px solid #b4d8c2}.legend-busy{background:#b4cbe9}.month-weekdays{background:#f8fafc;border-bottom:1px solid #e8ecf2;grid-template-columns:repeat(7,1fr);display:grid}.month-weekdays div{color:#667085;text-align:center;padding:9px 8px;font-size:10px;font-weight:700}.month-grid{grid-template-columns:repeat(7,minmax(125px,1fr));display:grid}.month-day{background:#fff;border-bottom:1px solid #edf0f4;border-right:1px solid #edf0f4;min-height:132px;padding:8px;position:relative}.month-day:nth-child(7n){border-right:0}.month-day.outside{color:#aab2bf;background:#fafbfc}.month-day.today{box-shadow:inset 0 0 0 2px #4c88d5}.month-day-head{justify-content:space-between;align-items:center;display:flex}.day-number{width:25px;height:25px;color:inherit;background:0 0;border:0;border-radius:8px;font-weight:700}.today .day-number{color:#fff;background:var(--blue)}.free-count{color:#1d7a46;font-size:8px;font-weight:700}.month-events{gap:3px;margin-top:4px;display:grid}.month-event{border:0;border-left:3px solid var(--blue);color:#344054;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border-radius:5px;width:100%;padding:3px 5px;font-size:8px;overflow:hidden}.month-event span{color:#667085;font-weight:700}.more-events{color:#667085;padding-left:5px;font-size:8px}.month-add{color:#7b8798;opacity:0;background:0 0;border:0;border-radius:6px;align-items:center;gap:3px;padding:3px 6px;font-size:8px;display:flex;position:absolute;bottom:6px;right:7px}.month-day:hover .month-add{opacity:1}.month-add:hover{color:var(--blue);background:#eef5ff}.time-view{max-height:min(72svh,920px);overflow:auto}.time-header-row,.time-body-row{min-width:calc(68px + var(--day-count) * 138px);grid-template-columns:68px repeat(var(--day-count), minmax(138px, 1fr));display:grid}.time-header-row{z-index:10;background:#fff;border-bottom:1px solid #e5eaf1;position:sticky;top:0}.time-zone{color:#98a2b3;justify-content:center;align-items:center;gap:4px;min-height:56px;font-size:9px;display:flex}.time-day-head{color:#667085;border-left:1px solid #edf0f4;align-content:center;place-items:center;min-height:56px;display:grid}.time-day-head span{text-transform:uppercase;font-size:9px}.time-day-head strong{margin-top:2px;font-size:16px}.time-day-head.today strong{color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.time-labels,.day-track{grid-template-rows:repeat(var(--slot-count), 32px);display:grid}.time-label{color:#98a2b3;text-align:right;border-bottom:1px solid #f0f2f5;padding:3px 8px 0 0;font-size:8px}.day-track{background:#fff;border-left:1px solid #e8ecf2;position:relative}.day-track.closed{background:repeating-linear-gradient(135deg,#fafbfc,#fafbfc 7px,#f5f7f9 7px 14px)}.time-slot{z-index:1;background:0 0;border:0;border-bottom:1px solid #f0f2f5;width:100%;height:32px;padding:0;position:relative}.time-slot:nth-child(odd){border-bottom-style:dashed}.time-slot.free:hover{background:#f0fdf4}.time-slot span{color:#167442;justify-content:center;align-items:center;gap:3px;font-size:8px;font-weight:700;display:none}.time-slot.free:hover span{display:flex}.calendar-event-block{z-index:4;border:0;border-left:4px solid var(--blue);color:#263b58;text-align:left;border-radius:7px;flex-direction:column;margin:2px 3px;padding:5px 7px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 7px #0f172a14}.calendar-event-block strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.calendar-event-block span,.calendar-event-block small{margin-top:1px;font-size:8px}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0a122194;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:20px;width:min(650px,100%);max-height:calc(100svh - 36px);overflow:auto;box-shadow:0 30px 90px #0a12214d}.dialog-head{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:flex-start;padding:18px 22px;display:flex;position:sticky;top:0}.dialog-head p{color:var(--blue);letter-spacing:.12em;margin:0 0 3px;font-size:9px;font-weight:800}.dialog-head h2{margin:0;font-size:19px}.dialog-head button{color:#667085;background:#f3f5f8;border:0;border-radius:10px;width:35px;height:35px}.dialog form{gap:14px;padding:20px 22px 22px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field{color:#344054;gap:6px;font-size:11px;font-weight:700;display:grid}.field input,.field select,.field textarea{color:#172033;background:#fff;border:1px solid #d6dee8;border-radius:10px;outline:0;width:100%;min-height:42px;padding:9px 11px;font-weight:500}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7aa9e4;box-shadow:0 0 0 3px #1257b813}.dialog-footer{border-top:1px solid #edf0f4;justify-content:flex-end;gap:9px;margin-top:4px;padding-top:16px;display:flex}.calendar-after-call{margin-right:auto}.form-error,.login-offline{color:#b42318;background:#fef3f2;border-radius:10px;align-items:center;gap:8px;margin:14px 22px 0;padding:10px 12px;font-size:11px;display:flex}.inline-client-card{background:#f4f8fe;border:1px solid #b9d3f4;border-radius:13px;gap:12px;padding:14px;display:grid}.inline-client-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.inline-client-head>div{gap:2px;display:grid}.inline-client-head strong{font-size:13px}.inline-client-head span{color:#667085;font-size:10px}.inline-client-head button{color:var(--blue);background:0 0;border:0;font-size:11px;font-weight:700}.client-picker{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.expense-amounts{grid-template-columns:1.2fr .7fr 1fr}.attachment-section{background:#f8fafc;border:1px solid #dfe6ef;border-radius:14px;gap:10px;margin-top:4px;padding:15px;display:grid}.attachment-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.attachment-heading>div{align-items:center;gap:9px;display:flex}.attachment-heading>div>div{gap:2px;display:grid}.attachment-heading strong{font-size:13px}.attachment-heading span{color:#667085;font-size:10px}.attachment-heading label{cursor:pointer}.attachment-heading input{display:none}.selected-file,.attachment-row{background:#fff;border:1px solid #d9e5f4;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 11px;display:grid}.selected-file>div,.attachment-row>div:first-of-type{gap:2px;min-width:0;display:grid}.selected-file strong,.attachment-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.selected-file span,.attachment-row span{color:#7b8798;font-size:9px}.selected-file>button{color:#667085;background:#f1f4f7;border:0;border-radius:8px;width:29px;height:29px}.attachment-row>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.attachment-row button{color:#344054;background:#fff;border:1px solid #d7dee8;border-radius:8px;align-items:center;gap:4px;min-height:30px;padding:0 8px;font-size:9px;font-weight:700;display:inline-flex}.attachment-row button.delete{color:#b42318;padding:0 7px}.attachment-error,.backup-error{background:#fef3f2;border-radius:9px;align-items:center;gap:7px;margin:0;padding:9px 10px;display:flex;color:#b42318!important;font-size:10px!important}.client-detail-dialog{width:min(920px,100%)}.client-detail-body{gap:16px;padding:20px 22px 24px;display:grid}.client-detail-error{margin:0}.client-contact-card{background:#f8fafc;border:1px solid #dfe6ef;border-radius:14px;grid-template-columns:.8fr 2fr auto;align-items:end;gap:12px;padding:15px;display:grid}.client-contact-card>div{gap:4px;min-width:0;display:grid}.client-contact-card span{color:#7b8798;text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:700}.client-contact-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.client-summary{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.client-summary>div{background:#fff;border:1px solid #e1e7ef;border-radius:13px;gap:3px;padding:14px;display:grid;box-shadow:0 3px 12px #0f172a0a}.client-summary span{color:#667085;font-size:10px}.client-summary strong{font-size:21px}.client-summary small{color:#8792a3;font-size:9px}.client-contacts-panel,.client-direct-documents{border:1px solid #e1e7ef;border-radius:14px;overflow:hidden}.client-contact-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px;display:grid}.client-contact-list article{background:#fff;border:1px solid #e4e9f0;border-radius:11px;grid-template-columns:1fr 1fr;gap:8px;padding:11px;display:grid}.client-contact-list article>div{gap:3px;min-width:0;display:grid}.client-contact-list article strong{font-size:11px}.client-contact-list article span,.client-contact-list article small{color:#7b8798;font-size:9px}.client-contact-list article a{color:#175cd3;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.client-contact-list article>small{grid-column:1/-1}.client-direct-documents>div:last-child{gap:8px;padding:10px;display:grid}.client-history{border:1px solid #e1e7ef;border-radius:14px;overflow:hidden}.client-history-head{background:#f8fafc;border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.client-history-head h3{margin:0;font-size:14px}.client-history-head p{color:#7b8798;margin:3px 0 0;font-size:10px}.client-history-head>span{color:#475467;background:#e9eef5;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:700}.history-row{border-top:1px solid #edf0f4;grid-template-columns:auto minmax(150px,1fr) auto auto auto;align-items:center;gap:10px;padding:11px 13px;display:grid}.client-history-head+.history-row{border-top:0}.history-icon{color:#175cd3;background:#eff8ff;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.history-icon.invoice,.history-icon.payment{color:#067647;background:#ecfdf3}.history-icon.estimate{color:#6941c6;background:#f4f3ff}.history-icon.job{color:#b54708;background:#fff6ed}.history-main{gap:3px;min-width:0;display:grid}.history-main>div{align-items:baseline;gap:7px;min-width:0;display:flex}.history-main span{color:var(--blue);text-transform:uppercase;font-size:9px;font-weight:800}.history-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.history-main small{color:#8792a3;font-size:9px}.history-amount{white-space:nowrap;font-size:11px}.history-actions{gap:5px;display:flex}.history-actions button{color:#475467;background:#fff;border:1px solid #dce3ec;border-radius:8px;align-items:center;gap:4px;min-height:30px;padding:0 8px;font-size:9px;font-weight:700;display:inline-flex}.contacts-editor{background:#f8fafc;border:1px solid #d8e2ee;border-radius:14px;gap:10px;padding:14px;display:grid}.contacts-editor-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.contacts-editor-head>div{gap:2px;display:grid}.contacts-editor-head strong{font-size:13px}.contacts-editor-head span{color:#667085;font-size:9px}.contact-editor-row{background:#fff;border:1px solid #dfe6ef;border-radius:12px;gap:10px;padding:12px;display:grid}.contact-editor-title{align-items:center;gap:10px;display:flex}.contact-editor-title>strong{margin-right:auto;font-size:11px}.contact-editor-title label{color:#475467;align-items:center;gap:5px;font-size:9px;font-weight:700;display:flex}.contact-editor-title button{color:#b42318;background:#fff1f0;border:0;border-radius:8px;place-items:center;width:29px;height:29px;display:grid}.contacts-empty{color:#667085;text-align:center;background:#fff;border-radius:9px;margin:0;padding:12px;font-size:10px}.settings-page{gap:14px;display:grid}.settings-card,.conflict-card{grid-template-columns:auto 1fr;gap:14px;padding:20px;display:grid}.settings-card h3,.conflict-card h3{margin:1px 0 4px;font-size:15px}.settings-card p,.conflict-card p{color:#667085;margin:0 0 12px;font-size:12px;line-height:1.55}.button-row{flex-wrap:wrap;gap:8px;display:flex}.conflict-card{border:1px solid #fecdca}.conflict-card article{background:snow;border:1px solid #fee4e2;border-radius:11px;margin-top:12px;padding:12px}.conflict-card article strong{margin-bottom:8px;display:block}.conflict-card article button{background:#fff;border:1px solid #d7dee8;border-radius:8px;min-height:32px;padding:0 9px;font-size:10px}.splash{color:#667085;background:#f4f6f8;align-content:center;place-items:center;gap:15px;min-height:100svh;display:grid}.splash p{margin:0;font-size:12px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-screen{background:#fff;grid-template-columns:1.05fr .95fr;min-height:100svh;display:grid}.login-brand-panel{color:#fff;background:radial-gradient(circle at 80% 15%,#f09a2738,#0000 28%),linear-gradient(145deg,#101b31,#17325d);flex-direction:column;justify-content:center;padding:clamp(40px,8vw,100px);display:flex}.login-brand-panel>p{color:var(--orange);letter-spacing:.15em;margin:25px 0 7px;font-size:11px;font-weight:800}.login-brand-panel h1{letter-spacing:-.055em;max-width:620px;margin:0;font-size:clamp(34px,5vw,62px);line-height:1.05}.login-brand-panel ul{color:#bfd0e8;gap:13px;margin:38px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.login-brand-panel li{align-items:center;gap:9px;display:flex}.login-brand-panel li svg{color:var(--orange)}.login-card{width:min(420px,100% - 44px);margin:auto}.mobile-login-brand{display:none}.eyebrow{color:var(--blue);letter-spacing:.14em;margin:0 0 8px;font-size:10px;font-weight:800}.login-card h2{letter-spacing:-.04em;margin:0;font-size:32px}.login-card>p:not(.eyebrow){color:#667085;font-size:13px;line-height:1.55}.login-card form{gap:14px;margin-top:24px;display:grid}.login-card form label{color:#344054;gap:7px;font-size:11px;font-weight:700;display:grid}.login-card input{border:1px solid #d3dbe6;border-radius:11px;outline:0;height:46px;padding:0 12px}.login-card input:focus{border-color:#75a6e2;box-shadow:0 0 0 3px #1257b814}.login-card form button{color:#fff;background:var(--blue);border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;height:47px;font-weight:800;display:flex}.login-card small{color:#98a2b3;text-align:center;margin-top:18px;display:block}.login-card .form-error,.login-card .login-offline{margin:14px 0 0}.mobile-scrim{display:none}@media (width<=1120px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.install-button span,.sync-button span{display:none}.install-button,.sync-button{width:40px;min-width:40px;padding:0}.job-balance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.job-ledgers{grid-template-columns:1fr}}@media (width<=820px){.sidebar{transition:transform .22s;transform:translate(-104%)}.sidebar.open{transform:translate(0)}.mobile-scrim{z-index:35;background:#0a122173;border:0;display:block;position:fixed;inset:0}.workspace{width:100%;margin-left:0}.menu-button{border:1px solid var(--line);color:#475467;background:#fff;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid}.topbar{padding:10px 14px}.topbar-title p{display:none}.topbar-title{min-width:0}.search-box{width:auto;display:none;position:absolute;top:72px;left:14px;right:14px}.main-content{padding:18px 14px 36px}.calendar-toolbar{align-items:flex-start}.calendar-actions{flex-direction:column;align-items:stretch}.resource-picker select{min-width:130px}.calendar-period-bar{grid-template-columns:auto 1fr}.calendar-period-bar h3{text-align:right}.calendar-legend{display:none}.month-grid{grid-template-columns:repeat(7,minmax(108px,1fr))}.month-view{overflow-x:auto}.month-weekdays{min-width:756px}.login-screen{grid-template-columns:1fr}.login-brand-panel{display:none}.login-card{padding:40px 0}.mobile-login-brand{align-items:center;gap:12px;margin-bottom:34px;display:flex}.mobile-login-brand strong{font-size:18px}}@media (width<=560px){.offline-banner{justify-content:flex-start;padding-inline:13px;font-size:10px}.topbar{gap:7px;min-height:64px}.topbar h1{font-size:16px}.topbar .primary-button{width:40px;padding:0}.topbar .primary-button span{display:none}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-card{min-height:124px;padding:14px}.metric-card span{font-size:10px}.metric-card strong{font-size:20px}.metric-card i{width:36px;height:36px}.module-head{align-items:flex-start}.module-head .primary-button{width:40px;padding:0;font-size:0}.calendar-toolbar{display:grid}.calendar-actions{grid-template-columns:1fr auto;display:grid}.resource-picker select{width:100%}.view-switch button{padding-inline:9px}.calendar-period-bar{padding-inline:10px}.calendar-period-bar h3{font-size:11px}.form-grid{grid-template-columns:1fr}.dialog-backdrop{align-items:end;padding:0}.dialog{border-radius:20px 20px 0 0;width:100%;max-height:94svh}.dialog form,.dialog-head{padding-inline:17px}.dialog-footer{flex-wrap:wrap}.calendar-after-call{order:-1;width:100%;margin-right:0}.client-picker,.expense-amounts{grid-template-columns:1fr}.attachment-heading{flex-direction:column;align-items:flex-start}.attachment-heading label{width:100%}.attachment-row{grid-template-columns:auto minmax(0,1fr)}.attachment-row>div:last-child{grid-column:1/-1;justify-content:flex-start}.expense-summary{grid-template-columns:1fr;padding:12px}.expense-summary>div{grid-template-columns:1fr auto;align-items:center}.expense-summary strong{font-size:16px}.client-detail-body{padding-inline:14px}.client-contact-card{grid-template-columns:1fr}.client-summary{grid-template-columns:1fr 1fr}.client-summary>div:last-child{grid-column:1/-1}.client-contact-list,.client-contact-list article{grid-template-columns:1fr}.client-contact-list article>small{grid-column:auto}.history-row{grid-template-columns:auto minmax(0,1fr) auto}.history-amount{grid-column:2}.history-row>.status{grid-area:1/3}.history-actions{grid-column:1/-1;justify-content:flex-end}.contacts-editor-head{flex-direction:column;align-items:flex-start}.contacts-editor-head button{width:100%}.job-card-head{flex-direction:column;align-items:flex-start}.job-card-actions{justify-content:flex-start;width:100%}.job-finances>summary{align-items:flex-start}.job-balance-grid{grid-template-columns:1fr 1fr}.ledger-row{grid-template-columns:minmax(0,1fr) auto}.ledger-row>.status,.ledger-row>.document-buttons{grid-column:1/-1}.job-finance-body{padding-inline:12px}.settings-card,.conflict-card{grid-template-columns:1fr}.settings-icon{width:38px;height:38px}}@media (display-mode:standalone){.topbar{padding-top:max(11px, env(safe-area-inset-top))}.sidebar{padding-bottom:env(safe-area-inset-bottom)}}
