:root{font-family:Inter,Arial,sans-serif;color:#17212b;background:#eef2f5}*{box-sizing:border-box}body{margin:0}.app-header{min-height:74px;display:flex;align-items:center;justify-content:space-between;padding:8px max(18px,calc((100% - 1160px)/2));background:#fff;border-bottom:1px solid #dce3e7}.brand{display:flex;align-items:center;gap:14px;color:#173f52;text-decoration:none;font-weight:700}.brand img{width:150px;height:52px;object-fit:contain}.session{display:flex;align-items:center;gap:14px;font-size:.9rem}.session form{margin:0}.link-button{border:0;background:none;color:#175f7a;text-decoration:underline;cursor:pointer}.main-nav{display:flex;gap:8px;padding:9px max(18px,calc((100% - 1160px)/2));background:#173f52;overflow:auto}.main-nav a{color:#fff;text-decoration:none;padding:7px 10px;white-space:nowrap}.page{max-width:1160px;margin:0 auto;padding:24px 18px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}h1{margin:0 0 4px;font-size:1.65rem;color:#173f52}h2{font-size:1.1rem;color:#173f52;margin:22px 0 12px}.muted{color:#687780}.panel,.login-card,.metrics article,.empty{background:#fff;border:1px solid #dce3e7;border-radius:10px;padding:18px;margin-bottom:16px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.metrics span{display:block;color:#687780}.metrics strong{display:block;font-size:1.7rem;color:#173f52;margin-top:5px}.actions{display:flex;gap:9px;flex-wrap:wrap}.actions.end{justify-content:flex-end;margin-top:18px}.button,button{font:inherit}.button,button.primary,button.button{display:inline-block;border:1px solid #9eabb3;border-radius:7px;padding:9px 13px;background:#fff;color:#17212b;text-decoration:none;cursor:pointer}.primary,.button.primary,button.primary{background:#176b87;color:#fff;border-color:#176b87}.add{margin:12px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid>div,label{display:block;color:#53626b}.form-grid input,.form-grid select,.form-grid textarea,label input,label select,label textarea{width:100%;margin-top:5px;padding:9px 10px;border:1px solid #bdc8ce;border-radius:7px;background:#fff;color:#17212b}.material-row{display:grid;grid-template-columns:2fr .7fr 2fr;gap:12px;margin-bottom:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{padding:10px 8px;border-bottom:1px solid #e0e6e9;text-align:left}th{font-size:.84rem;color:#607079}.notice,.message{padding:11px 13px;border-radius:8px;background:#fff1ce;color:#73550b;margin-bottom:14px}.status{display:inline-block;padding:3px 7px;border-radius:999px;background:#e1f2e7;color:#27623b;font-size:.78rem}.status.warning{background:#fff0cf;color:#76570b}.progress-label{display:flex;justify-content:space-between}.progress{height:11px;background:#dce3e7;border-radius:999px;overflow:hidden;margin-top:10px}.progress span{display:block;height:100%;background:#287b68}.phone{max-width:390px;margin:20px auto;background:#efeae2;border:8px solid #25333a;border-radius:25px;overflow:hidden}.phone-head{background:#075e54;color:#fff;padding:14px}.bubble{margin:18px 12px 250px 30px;background:#d9fdd3;padding:13px;border-radius:10px 0 10px 10px}.wa-actions{display:grid;gap:8px;margin-top:12px}.wa-actions button{border:1px solid #9ec7b2;background:#fff;color:#075e54;border-radius:7px;padding:9px}.login-card{max-width:430px;margin:55px auto}.login-card img{display:block;width:250px;max-width:90%;margin:0 auto 20px}.login-card input{width:100%;padding:10px;border:1px solid #bdc8ce;border-radius:7px}.login-card button{width:100%}@media(max-width:700px){.app-header{align-items:flex-start;gap:10px;flex-direction:column}.session{width:100%;justify-content:space-between}.page{padding:18px 12px}.metrics,.form-grid,.material-row{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}.brand img{width:130px}}
.button.compact{padding:6px 9px;font-size:.85rem}.row-pending{background:#fffaf0}.small-muted,small{display:block;color:#687780;font-size:.78rem;margin-top:5px}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.analytics-grid .panel{min-width:0}@media(max-width:850px){.analytics-grid{grid-template-columns:1fr}}
.loading-overlay{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(23,33,43,.58)}.loading-overlay.is-visible{display:flex}.loading-card{width:min(430px,100%);display:grid;justify-items:center;gap:12px;padding:26px;text-align:center;background:#fff;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.25);color:#53626b}.loading-card strong{font-size:1.15rem;color:#173f52}.loading-spinner{width:44px;height:44px;border:5px solid #dce8ec;border-top-color:#176b87;border-radius:50%;animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}button:disabled,button[aria-disabled="true"]{cursor:wait;opacity:.7}@media(prefers-reduced-motion:reduce){.loading-spinner{animation-duration:1.8s}}
.dashboard-metrics{grid-template-columns:repeat(4,1fr)}.dashboard-metrics article{position:relative;overflow:hidden}.dashboard-metrics article:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#176b87}.dashboard-metrics .metric-amber:before{background:#d58b18}.dashboard-metrics .metric-teal:before{background:#199c8c}.dashboard-metrics .metric-red:before{background:#c94b4b}.chart-list{display:grid;gap:16px}.chart-label{display:flex;justify-content:space-between;gap:12px;align-items:end}.chart-label span{color:#687780;font-size:.86rem;text-align:right}.chart-bar{height:10px;background:#e4edf0;border-radius:999px;overflow:hidden;margin-top:7px}.chart-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#176b87,#17a7bd)}.danger-bars .chart-bar span{background:linear-gradient(90deg,#d58b18,#c94b4b)}.inline-create{border:1px dashed #a9bbc3;border-radius:9px;padding:14px;margin-top:16px}.check-label{color:#173f52;font-weight:600}.check-label input{width:auto;margin-right:8px}@media(max-width:900px){.dashboard-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.dashboard-metrics{grid-template-columns:1fr}.chart-label{align-items:start;flex-direction:column}.chart-label span{text-align:left}}
.password-field{position:relative;display:block}.password-field input{padding-right:48px}.login-card .password-toggle{position:absolute;right:4px;top:9px;width:40px;height:36px;padding:0;border:0;background:transparent;color:#173f52;font-size:1.15rem}.improvement-list{display:grid;gap:14px}.work-card{border:1px solid #dce3e7;border-radius:10px;background:#f8fafb;overflow:hidden}.work-card.selected{border-color:#79aebf;background:#fff}.work-card-heading{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(150px,220px);align-items:end;gap:14px;padding:14px}.work-card-heading .check-label{align-self:center}.work-unit{color:#687780;font-size:.85rem}.work-details{display:none;padding:0 14px 16px}.work-card.selected .work-details{display:block}.work-details h3{margin:12px 0 8px;color:#173f52;font-size:1rem}.work-materials input{min-width:100px;padding:7px;border:1px solid #bdc8ce;border-radius:6px}.opening-section{margin-top:14px;padding:13px;background:#eef6f8;border-radius:8px}.door-sizes{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px}.door-sizes input,.opening-row input{width:100%;margin-top:5px;padding:8px;border:1px solid #bdc8ce;border-radius:6px}.opening-row{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr)) auto;gap:10px;align-items:end;margin-top:10px}.optional{font-weight:400;color:#687780;font-size:.8rem}.opening-section details{margin-top:12px}.opening-section summary{cursor:pointer;color:#176b87}@media(max-width:760px){.work-card-heading{grid-template-columns:1fr}.door-sizes{grid-template-columns:repeat(2,1fr)}.opening-row{grid-template-columns:1fr 1fr}.work-materials{min-width:620px}}
