*{box-sizing:border-box}body{margin:0;background:#f4f7f5;color:#203027;font:14px Inter,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #d8e3dc;border-radius:9px;background:#fff;color:#24392c;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover{background:#eef5ef}.primary{background:#16844a;border-color:#16844a;color:#fff;font-weight:650}.primary:hover{background:#0f6b39}.shell{display:flex;min-height:100vh}aside{width:244px;flex-shrink:0;background:#142c20;color:#e6f4eb;display:flex;flex-direction:column;min-height:100vh}.brand{padding:25px 20px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #2e4937}.brand strong{font-size:15px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#9bb5a2;margin-top:4px}.mark{width:43px;height:43px;background:#26794c;border-radius:12px;display:grid;place-items:center;font-weight:900;color:#fff;font-size:18px}nav{display:flex;flex-direction:column;gap:4px;padding:16px 10px;flex:1}nav button{background:transparent;border:0;color:#c4d8c9;justify-content:flex-start;padding:12px 14px;width:100%}nav button:hover,nav button.active{background:#24543a;color:#fff}.sidebar-bottom{padding:20px;border-top:1px solid #2e4937}.sidebar-bottom small{display:block;word-break:break-all}.sidebar-bottom span{display:block;color:#75c99a;font-size:11px;margin-top:5px}main{min-width:0;flex:1;padding:0 30px 35px}header{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e1e9e3;margin-bottom:26px}h1{font-size:25px;margin:0 0 5px}header p{color:#718177;margin:0}.header-actions{display:flex;gap:10px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat,.panel{background:#fff;border:1px solid #e0e8e1;border-radius:14px;box-shadow:0 3px 12px #19352108}.stat{padding:23px}.stat span{color:#647a6b}.stat b{display:block;font-size:34px;color:#155d37;margin:12px 0 5px}.stat small,.hint{color:#748579}.clickable{cursor:pointer}.clickable:hover{border-color:#3b9b68}.panel{padding:22px;margin-bottom:20px}.panel h2{margin:0 0 17px;font-size:18px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:17px}.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #d8e3dc;border-radius:9px;padding:0 10px;flex:1;min-width:200px}.search input{border:0;outline:0;padding:11px;width:100%}select,input{border:1px solid #d8e3dc;border-radius:8px;background:#fff;color:#24392c;padding:9px}table{border-collapse:collapse;width:100%;text-align:left}th{color:#66796c;font-size:12px;text-transform:capitalize;background:#f4f8f5}th,td{padding:13px 12px;border-bottom:1px solid #e8eee9;white-space:nowrap}td{color:#35483b}.table-scroll{overflow:auto}.board{display:flex;gap:14px;overflow:auto;align-items:flex-start}.column{background:#e9f0ea;min-width:220px;flex:1;border-radius:12px;padding:12px}.column h3{display:flex;justify-content:space-between;font-size:14px}.column h3 span{color:#5b7867}.lead-card{background:#fff;border:1px solid #dae5dc;border-radius:9px;padding:13px;margin:10px 0;display:grid;gap:9px}.lead-card small{color:#687b6d}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-grid label{display:grid;gap:5px;text-transform:capitalize}.form-grid button{align-self:end}.center{min-height:100vh;display:grid;place-items:center;padding:20px}.login{width:min(420px,100%);background:#fff;border:1px solid #dce8df;padding:35px;border-radius:16px;box-shadow:0 12px 40px #1c452015}.login .mark{margin-bottom:17px}.login h1{font-size:26px}.login p,.login small{color:#718177}.login label{display:grid;gap:7px;margin:18px 0}.login input,.login button{width:100%}.login small{display:block;margin-top:18px;text-align:center}.alert{background:#fff0ed;border:1px solid #efc9bd;color:#873b25;padding:13px;border-radius:9px;margin-bottom:18px;display:flex;justify-content:space-between}.empty{text-align:center;padding:75px 20px;color:#557160}.empty svg{color:#237949}.empty p{max-width:480px;margin:0 auto}.mobile{display:none}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){aside{position:fixed;z-index:10;transform:translate(-100%);transition:transform .2s;height:100vh}aside.open{transform:translate(0)}main{padding:0 15px 25px}header{min-height:85px;gap:10px}header h1{font-size:20px}header p{font-size:11px}.mobile{display:inline-flex}.header-actions span{display:none}.stats{gap:9px}.stat{padding:15px}.stat b{font-size:26px}.form-grid{grid-template-columns:1fr}}.business-form{border:1px solid #d8e2dc;border-radius:12px;padding:20px;margin:16px 0;background:#f7faf8}.business-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:14px 0}.business-form label{display:flex;flex-direction:column;gap:6px;font-weight:600}.business-form input:not([type=checkbox]),.business-form select{width:100%;padding:10px;border:1px solid #c9d6cd;border-radius:7px}.business-form label:has(input[type=checkbox]){display:block}.business-form .toolbar{display:flex;gap:10px;align-items:center}.table-scroll td button{padding:6px 12px}.staff-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.staff-columns{display:grid;grid-template-columns:minmax(250px,1fr) minmax(300px,1.2fr);gap:24px}.staff-list{display:grid;gap:8px}.staff-person{display:flex;flex-direction:column;text-align:left;gap:4px;padding:12px;border:1px solid #d6ded8;border-radius:9px;background:transparent;cursor:pointer}.staff-person.selected{border-color:#3b8d58;background:#e9f5ec}.staff-person small{color:#69776c}.staff-create,.staff-details{margin-top:20px;padding:16px;border:1px solid #dce5df;border-radius:12px;display:grid;gap:12px}.staff-create label,.staff-details label:not(.staff-check){display:grid;gap:5px}.staff-create input,.staff-create select,.staff-details input,.staff-details select{width:100%;padding:9px;border:1px solid #ccd8cf;border-radius:7px}.staff-check{display:flex;align-items:center;gap:10px}.staff-check input{width:auto}.staff-placeholder{padding:24px;color:#66756b}.staff-success{background:#e5f5e8;color:#155b30;padding:12px;border-radius:8px}.staff-details hr{width:100%;border:0;border-top:1px solid #dce5df}@media(max-width:800px){.staff-columns{grid-template-columns:1fr}}.staff-actions{display:flex;gap:8px;flex-wrap:wrap}.staff-manager .staff-heading{margin-bottom:18px}.staff-manager .staff-heading h2{margin-bottom:5px}.staff-manager .staff-create{background:#f6faf7}.staff-manager .staff-person{width:100%;align-items:flex-start}.staff-manager .staff-person:hover{background:#edf7ef}.customer-top{align-items:center}.customer-top h2{margin:0}.customer-top h2 small{color:#7b8c7f;font-weight:400}.customer-top .search{max-width:440px}.mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;margin:16px 0}.mapping-grid label{display:grid;gap:6px;font-weight:600}.import-summary{display:flex;flex-wrap:wrap;gap:16px;padding:14px;background:#eaf5ee;border-radius:8px;margin:12px 0}.staff-success{display:flex;align-items:center;gap:8px}.ih-calendar{display:grid;gap:5px;margin:16px 0}.ih-day{border:1px solid #d6dce1;border-radius:8px;min-height:105px;padding:7px;cursor:pointer;min-width:0}.ih-day.ih-selected{outline:2px solid #377c59}.ih-day.ih-muted{opacity:.48}.ih-day-head{display:flex;justify-content:space-between;align-items:center;font-size:12px}.ih-day-head button{padding:2px 7px}.ih-event{display:flex;flex-direction:column;text-align:left;max-width:100%;width:100%;padding:5px;margin-top:5px;border:0;border-left:3px solid #347b54;background:#eaf4ed;color:#183c28;border-radius:3px;font-size:11px;overflow-wrap:anywhere}.ih-event small{font-size:10px}.ih-line{padding:14px;border:1px solid #d6dce1;border-radius:8px;margin:12px 0}.ih-preview{margin-top:18px;border-top:2px solid #d6dce1;padding-top:14px}.ih-paper{background:#fff;color:#222;border:1px solid #ddd;padding:32px;max-width:850px;margin:12px auto}.ih-paper table{width:100%;border-collapse:collapse}.ih-paper th,.ih-paper td{border-bottom:1px solid #ddd;padding:9px;text-align:left}@media(max-width:700px){.ih-day{min-height:75px;padding:3px}.ih-day-head{font-size:10px}.ih-event{font-size:9px}}@media print{body *{visibility:hidden!important}.ih-paper,.ih-paper *{visibility:visible!important}.ih-paper{position:absolute;left:0;top:0;width:100%;border:0}.ih-no-print{display:none!important}}.ih-estimate-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;border-bottom:2px solid #244c62;padding-bottom:20px;margin-bottom:24px}.ih-estimate-header img{width:210px;max-height:125px;object-fit:contain;object-position:left top}.ih-estimate-header>div{text-align:right}.ih-estimate-header h1{font-size:36px;letter-spacing:3px;margin:0 0 12px}.ih-estimate-info{display:flex;justify-content:space-between;gap:25px;margin-bottom:30px}.ih-estimate-info>div:last-child{text-align:right}.ih-estimate-info p{margin:5px 0}.ih-item-desc{font-size:12px;color:#52606d;white-space:pre-wrap;margin-top:6px;line-height:1.45}.ih-estimate-totals{text-align:right;margin-top:24px}.ih-estimate-totals p{margin:8px 0}.ih-estimate-totals h2{margin-top:15px}.ih-estimate-paper{color:#1d2935;background:#fff}.ih-estimate-paper table{width:100%}@media(max-width:650px){.ih-estimate-header img{width:120px}.ih-estimate-header h1{font-size:24px}.ih-estimate-info{font-size:12px}}.ih-public-wrap{max-width:920px;margin:30px auto;padding:16px}.ih-public-actions{margin-top:32px;border-top:1px solid #ddd;padding-top:24px}.ih-public-actions button{padding:12px 26px}.ih-public-actions p{display:flex;gap:8px;align-items:center}.ih-public-wrap .ih-paper{max-width:100%;overflow-x:auto}:root{color-scheme:dark;--dark-bg: #101714;--dark-panel: #1c2721;--dark-border: #34483b;--dark-text: #edf4ee;--dark-muted: #a9bcaf;--dark-green: #55b77a}body{background:var(--dark-bg);color:var(--dark-text)}header{border-bottom-color:var(--dark-border)}header p,.stat span,.stat small,.hint,.login p,.login small,.staff-person small,.lead-card small{color:var(--dark-muted)}.stat,.panel,.login,.lead-card,.column,.business-form,.staff-create,.staff-details,.staff-person,.search,.ih-line,.import-summary{background:var(--dark-panel);color:var(--dark-text);border-color:var(--dark-border);box-shadow:none}.stat b,.column h3 span{color:var(--dark-green)}button,input,select,textarea{background:#25352b;color:var(--dark-text);border:1px solid var(--dark-border)}button:hover,.staff-person:hover,.staff-manager .staff-person:hover{background:#304737}button.primary,.primary{background:#27864e;color:#fff;border-color:#27864e}button.primary:hover,.primary:hover{background:#329d5d}input::placeholder,textarea::placeholder{color:#9bad9f}input:focus,select:focus,textarea:focus{outline:2px solid var(--dark-green);outline-offset:1px}.search input{background:transparent;border:none}th{background:#24342a;color:#b9cfc0}td{color:var(--dark-text)}th,td{border-bottom-color:var(--dark-border)}tbody tr:hover{background:#24372b}.staff-person.selected,.staff-manager .staff-create,.staff-success{background:#23452e;color:#c9f4d6}.staff-details hr{border-top-color:var(--dark-border)}.ih-day{background:var(--dark-panel);border-color:var(--dark-border)}.ih-event{background:#244b33;color:#e0f7e7}.ih-preview{border-top-color:var(--dark-border)}.alert{background:#452821;color:#ffccbc;border-color:#835044}.empty,.empty svg{color:var(--dark-green)}.ih-paper,.ih-estimate-paper{background:#fff;color:#1d2935;color-scheme:light}.ih-paper th,.ih-estimate-paper th{background:#f4f7f5;color:#52606d}.ih-paper td,.ih-estimate-paper td{color:#1d2935}@media print{.ih-paper,.ih-estimate-paper{background:#fff!important;color:#000!important}}
