@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#18324e;--muted:#71838a;--line:#e3e9e8;--mint:#e2eaf8;--dark:#142d50;--bg:#f4f7f5;--green:#355c87;--orange:#e8a55d;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:1px solid var(--line);border-radius:9px;padding:10px 14px;background:white;color:var(--ink);font-weight:600;transition:.15s}button:hover{filter:brightness(.96);transform:translateY(-1px)}button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}button.lime{background:var(--mint);border-color:var(--mint);color:var(--ink)}button.subtle{background:transparent}button.small{padding:6px 10px;font-size:12px}.icon{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;font-size:18px;flex-shrink:0}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:var(--dark);color:#a6b9be;padding:28px 18px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:11px;align-items:center;padding:0 10px 28px;color:white;font:800 18px Manrope,sans-serif;letter-spacing:-.7px}.brand small{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:2px;color:#a6b9be;margin-top:3px}.brandmark{display:grid;place-items:center;width:37px;height:37px;border:2px solid var(--mint);border-radius:50%;color:var(--mint);font-size:24px}.navlabel{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;padding:20px 13px 9px;color:#6d8b94}.nav{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:9px;margin:3px 0;color:#adc0c4;font-size:13px}.nav:hover{background:#203e49}.nav.active{background:var(--mint);color:var(--dark);font-weight:700}.nav .dot{margin-left:auto;border-radius:4px;background:#35525a;color:#c9d8d9;font-size:9px;padding:2px 4px}.sidebar-scroll{overflow:auto;flex:1}.sidefoot{border-top:1px solid #34505a;padding:17px 10px 0;font-size:11px;line-height:1.8}.sidefoot strong{color:white}.main{margin-left:240px}.topbar{height:77px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:20px;padding:0 36px}.company-switch{border:0;background:#fff;color:var(--ink);font-weight:700;max-width:270px}.top-right{margin-left:auto;display:flex;gap:15px;align-items:center}.topbar .search{background:var(--bg);border:0;border-radius:8px;width:220px;padding:10px 14px}.avatar{width:36px;height:36px;border-radius:50%;background:#f6dfbf;display:inline-grid;place-items:center;font-size:12px;font-weight:700;flex-shrink:0}.avatar.a1{background:#dcecdf;color:#407252}.avatar.a2{background:#e3e5fa;color:#7464a4}.avatar.a3{background:#fee7d2;color:#a9703e}.mobile-menu{display:none}.content{padding:32px 36px;max-width:1570px;margin:auto}.eyebrow{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;color:var(--green);margin-bottom:10px}.heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:27px}h1{font:800 28px Manrope,system-ui,sans-serif;letter-spacing:-1px;margin:0 0 7px}h2{font:800 17px Manrope,sans-serif;letter-spacing:-.35px;margin:0}h3{font:700 15px Manrope,sans-serif;margin:0 0 7px}p{line-height:1.6;margin:8px 0}.muted{color:var(--muted)}.tiny{font-size:11px}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:23px}.stat,.card{background:white;border:1px solid var(--line);border-radius:var(--radius)}.stat{padding:21px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#647d83;font-size:12px}.stat-icon{display:grid;place-items:center;width:32px;height:32px;background:#f0f5ed;border-radius:9px;color:#55794b}.stat-value{font:800 29px Manrope,sans-serif;letter-spacing:-1px;margin:11px 0}.trend{font-size:11px;color:var(--green)}.trend span{color:var(--muted);padding-left:4px}.grid{display:grid;gap:21px}.two-col{grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr)}.equal{grid-template-columns:1fr 1fr}.three-col{grid-template-columns:repeat(3,1fr)}.card{overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:22px 23px;border-bottom:1px solid var(--line);gap:12px}.card-body{padding:22px 23px}.hero{border-radius:var(--radius);background:var(--dark);padding:25px 28px;color:white;display:flex;gap:20px;justify-content:space-between;margin-bottom:23px;position:relative;overflow:hidden}.hero:after{content:'◌';position:absolute;font-size:220px;color:#345440;right:190px;top:-93px;pointer-events:none}.hero h2{font-size:21px;position:relative;z-index:1}.hero p{color:#b0c3c5;font-size:12px;position:relative;z-index:1}.hero .actions{position:relative;z-index:1;flex-shrink:0}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:600;white-space:nowrap;background:#eef2f3;color:#6e8187}.pill.green{background:#edf5e9;color:#4d7a3b}.pill.orange{background:#fff0df;color:#ad7a33}.pill.blue{background:#e9f1fa;color:#5584a9}.pill.purple{background:#eeebfa;color:#8870b4}.pill.gray{background:#edf0f0;color:#778c91}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;color:#8a9c9f;text-transform:uppercase;letter-spacing:.8px;font-weight:500;padding:14px 21px;background:#fbfcfb}td{padding:16px 21px;border-top:1px solid #eff2f0;font-size:12px}td strong{font-weight:600}td small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.row-link{cursor:pointer}.row-link:hover{background:#f7faf3}.customer-cell{display:flex;gap:11px;align-items:center}.tech-line{display:flex;align-items:center;gap:8px}.tech-line .avatar{width:26px;height:26px;font-size:9px}.list-row{display:flex;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border:0}.list-row .right{margin-left:auto;text-align:right}.progress{height:5px;background:#edf1ec;border-radius:10px;margin:10px 0;overflow:hidden}.progress i{display:block;background:#a5c86e;height:100%;border-radius:10px}.chart{display:flex;align-items:flex-end;justify-content:space-around;gap:13px;height:145px;margin-top:17px}.bar-group{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:1}.bar{width:100%;max-width:35px;border-radius:5px 5px 0 0;background:#dfeace;min-height:10px}.bar.today{background:#b7dc6e}.bar-group small{font-size:9px;color:var(--muted);margin-top:9px}.section-space{margin-top:22px}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--line);background:white;border-radius:10px}.tabs button{border:0;background:transparent;padding:7px 12px;font-size:12px}.tabs button.selected{background:#eef4e8;color:var(--green)}input,textarea,select{padding:10px 12px;border:1px solid #dce5e3;border-radius:8px;color:var(--ink);background:#fff}textarea{resize:vertical;min-height:90px}label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:7px;margin-bottom:16px}label.inline{display:flex;flex-direction:row;align-items:center;margin:9px 0;font-weight:400}input[type=checkbox]{accent-color:var(--green)}.board{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:16px;overflow:auto;min-height:450px}.lane{background:#eaf0ec;border-radius:12px;padding:12px;border:1px solid #e0e8e1}.lane.dragover{background:#e0edc8;border:1px dashed var(--green)}.lane-head{display:flex;gap:9px;align-items:center;margin-bottom:17px;padding:2px 3px}.lane-head .avatar{width:29px;height:29px}.lane-head strong{font-size:12px}.lane-head small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.job{background:white;border:1px solid #dce5df;border-left:3px solid #b7cc82;border-radius:10px;padding:14px;margin-bottom:12px;box-shadow:0 3px 9px #16312a04;cursor:grab}.job.urgent{border-left-color:#e8ab6f}.job .job-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:12px}.job h3{font-size:12px;margin:6px 0}.job p{font-size:11px;color:var(--muted);line-height:1.5}.job .bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf1ed;padding-top:11px;margin-top:12px}.job select{font-size:10px;padding:5px;max-width:115px}.drop-note{text-align:center;border:1px dashed #c4d2c5;border-radius:9px;padding:18px;color:#8a9c8c;font-size:10px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));overflow:auto}.cal-day{padding:13px;border-right:1px solid var(--line);min-height:340px}.cal-day>strong{font-size:11px}.cal-job{margin-top:12px;background:#eef4e7;border-radius:7px;padding:10px;font-size:11px;cursor:pointer}.billing-summary{background:var(--dark);color:white;border-radius:16px;padding:27px;display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:20px}.billing-summary h2{color:#d8f294;font-size:14px}.big-price{font:800 44px Manrope,sans-serif;letter-spacing:-1.7px}.big-price small{font:400 13px 'DM Sans',sans-serif;letter-spacing:0;color:#adc3c6}.billing-summary p{font-size:12px;color:#b2c5ca}.base-card{border:1px solid #d5e3c0;background:#f4f9ec;margin-bottom:23px;border-radius:13px;padding:21px}.base-card ul{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;font-size:12px}.base-card li:before{content:'✓';color:#628747;margin-right:9px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.module{padding:22px;background:white;border:1px solid var(--line);border-radius:13px;display:flex;flex-direction:column}.module.enabled{border-color:#b8d888;background:linear-gradient(135deg,#fff,#fafdf6)}.module-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.module-symbol{background:#f0f4ec;width:39px;height:39px;display:grid;place-items:center;border-radius:11px;color:#517d52;font-size:21px}.module p{font-size:12px;color:var(--muted);flex:1;min-height:40px}.module-foot{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.module-price{font:800 20px Manrope,sans-serif}.module-price small{font:400 11px 'DM Sans',sans-serif;color:var(--muted)}.switch{width:40px;height:23px;border-radius:14px;background:#dce4e0;padding:2px;border:0;position:relative}.switch:after{content:'';display:block;width:19px;height:19px;background:white;border-radius:50%;box-shadow:0 1px 3px #0002;transition:.2s}.switch[aria-checked=true]{background:#8fba57}.switch[aria-checked=true]:after{transform:translateX(17px)}.switch:disabled{cursor:not-allowed;opacity:.4}.notice{background:#eff4e9;border-radius:10px;padding:13px 17px;font-size:12px;color:#607955;margin-bottom:20px}.provider-row{border-bottom:1px solid var(--line);padding:24px}.provider-top{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.provider-flags{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.flag-item{padding:12px;background:#f6f8f4;border-radius:8px;display:flex;justify-content:space-between;gap:9px;font-size:10px;align-items:center}.flag-item .switch{flex-shrink:0}.empty{padding:40px;text-align:center;color:var(--muted)}.booking-wrap{max-width:780px;margin:auto}.booking-header{background:var(--dark);padding:30px;color:white;border-radius:16px 16px 0 0}.booking-header .eyebrow{color:var(--mint)}.booking-body{background:white;padding:30px;border:1px solid var(--line);border-radius:0 0 16px 16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.phone-frame{max-width:390px;border:7px solid #213943;border-radius:35px;background:#f5f8f1;margin:0 auto;padding:20px 15px;box-shadow:0 16px 40px #15362e15}.phone-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.phone-job{border:1px solid var(--line);background:white;border-radius:12px;padding:16px;margin-bottom:14px}.phone-job h3{margin:10px 0}.phone-job p{font-size:12px}.phone-job .actions button{flex:1;font-size:11px}.option-card{padding:24px;background:white;border:1px solid var(--line);border-radius:14px}.option-card.featured{border:2px solid #91b453}.option-card ul{padding-left:17px;color:var(--muted);font-size:12px;line-height:2.2}.option-price{font-size:30px;font-weight:800;letter-spacing:-1px;margin:20px 0}.map{background:#edf2e8;border-radius:14px;min-height:360px;position:relative;overflow:hidden;border:1px solid #d6e2d2}.map svg{width:100%;height:360px}.map-key{position:absolute;left:18px;top:17px;background:#fff;padding:9px 12px;border-radius:8px;font-size:10px;box-shadow:0 3px 10px #0001}.settings-list{padding:5px 23px}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);gap:16px}.settings-item p{font-size:12px;color:var(--muted);margin:5px 0 0}.status-dot{width:6px;height:6px;background:#77a94f;border-radius:50%;display:inline-block}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#0f2a3470;display:flex;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(3px)}.modal{width:580px;max-width:100%;max-height:90vh;overflow:auto;background:white;border-radius:18px;box-shadow:0 20px 80px #142f3440}.modal.wide{width:780px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:23px;border-bottom:1px solid var(--line)}.modal-header button{border:0;padding:4px 9px;font-size:22px}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:9px;padding-top:18px;border-top:1px solid var(--line);margin-top:14px}.detail-info{display:grid;grid-template-columns:1fr 1fr;gap:17px;background:#f6f8f3;border-radius:10px;padding:17px;margin-bottom:20px}.detail-info small{display:block;color:var(--muted);margin-bottom:5px}.log{border-left:2px solid #dbe7ce;padding:0 0 15px 16px;font-size:12px;margin-left:6px}.log small{display:block;color:var(--muted);margin-top:5px}#toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translateX(-50%);background:var(--dark);color:white;z-index:200;border-radius:10px;padding:14px 23px;box-shadow:0 5px 25px #122d3730;display:none;max-width:90vw;font-size:13px}.footer{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;display:flex;justify-content:space-between;color:#97a6a7}.full{grid-column:1/-1}.hidden{display:none!important}.revenue-trend{display:flex;justify-content:space-between;align-items:center}.revenue-trend strong{font-size:25px;font-weight:800}.check-row{padding:10px 0;border-bottom:1px solid var(--line)}.toggle-hint{font-size:11px;color:var(--muted);margin:17px 0}.booking-success{text-align:center;padding:30px}.success-icon{background:#edf5df;color:#6b9949;width:65px;height:65px;border-radius:50%;display:grid;place-items:center;font-size:30px;margin:0 auto 20px}
@media(min-width:1500px){.content{padding:36px 42px}.topbar{padding:0 42px}}@media(max-width:1180px){.sidebar{width:210px}.main{margin-left:210px}.content{padding:26px 24px}.topbar{padding:0 24px}.two-col{grid-template-columns:1.5fr 1fr}.module-grid{grid-template-columns:1fr 1fr}.provider-flags{grid-template-columns:repeat(3,1fr)}.topbar .search{width:160px}.board{grid-template-columns:repeat(4,220px)}}@media(max-width:920px){.stats{grid-template-columns:repeat(2,1fr)}.two-col,.equal{grid-template-columns:1fr}.topbar .search{display:none}.three-col{grid-template-columns:1fr}.hero:after{right:15px}.base-card ul{grid-template-columns:1fr 1fr}.company-switch{max-width:200px}.top-right>.tiny{display:none}}@media(max-width:680px){.sidebar{transform:translateX(-100%);transition:.2s;width:235px}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vw #0005}.main{margin-left:0}.topbar{height:64px;padding:0 16px;gap:10px}.mobile-menu{display:block;padding:5px 8px}.company-switch{max-width:190px;font-size:12px}.content{padding:24px 16px}.heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:22px}h1{font-size:25px}.stats{gap:10px}.stat{padding:15px}.stat-value{font-size:25px}.hero{padding:22px;display:block}.hero .actions{margin-top:15px}.module-grid{grid-template-columns:1fr}.billing-summary{display:block;padding:22px}.billing-summary>.actions{margin-top:15px}.big-price{font-size:37px}.base-card ul{grid-template-columns:1fr}.provider-flags{grid-template-columns:1fr 1fr}.provider-top{flex-wrap:wrap}.provider-row{padding:18px}.form-grid{grid-template-columns:1fr}.booking-body,.booking-header{padding:23px}.footer{gap:15px}.modal-backdrop{padding:10px}.modal-body{padding:18px}.detail-info{grid-template-columns:1fr}#toast{left:50%}.top-right{gap:7px}.top-right .avatar{width:29px;height:29px}.card-head{padding:18px}.calendar{grid-template-columns:repeat(7,150px)}}

/* Patriot Home Solutions identity */
.topbar{border-top:3px solid #b63d49}.brand{font-size:20px;letter-spacing:1px;gap:10px}.brand small{letter-spacing:1.1px;font-size:9px;color:#d1dbea}.brandmark{border-color:#d65b64;color:#f4c9cd;font-size:20px;flex-shrink:0}.nav.active{box-shadow:inset 3px 0 #b83d49}.pill.green{background:#edf2fa;color:#42618b}.switch[aria-checked=true]{background:#496a98}.module.enabled{border-color:#b9cbe4;background:linear-gradient(135deg,#fff,#f6f9fd)}.module-symbol{background:#edf2fa;color:#49658c}.base-card{border-color:#ced9eb;background:#f5f8fd}.billing-summary h2{color:#d9e5fb}.bar.today{background:#5c7ea9}.bar{background:#dbe4f1}.hero:after{color:#324768}.footer a:hover,.sidefoot a:hover{text-decoration:underline}.sidebar .brand-name{min-width:0}.sidebar .brand-name small{white-space:nowrap}

@media(max-width:680px){.topbar>.pill{display:none}.company-switch{max-width:230px;min-width:0;flex:1}.footer{flex-wrap:wrap;line-height:1.6}.footer span{max-width:100%}.brand{font-size:20px}}
