:root{color-scheme:dark;--bg:#0c141a;--panel:#141f27;--panel2:#192833;--line:#293a44;--text:#edf4f6;--muted:#91a2ab;--cyan:#70d1d7;--green:#a7e36d;--amber:#f2c56b;--blue:#86c9eb;--red:#ff9388}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0%,rgba(70,161,169,.08),transparent 30%),var(--bg);color:var(--text);font:14px system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:22px 14px;background:linear-gradient(180deg,#111f28,#0d151b);border-right:1px solid var(--line);overflow:auto}.brand{display:flex;align-items:center;gap:11px;padding:6px 9px 28px}.brandmark{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#237e8a,#46b7c0);box-shadow:0 6px 20px #207e873d;font-size:23px;color:white}.brand b{display:block;font-size:12px;letter-spacing:.1em}.brand em{color:var(--cyan);font-style:normal}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.nav{display:grid;gap:5px}.nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:9px;color:#a7b5bb;transition:.16s}.nav a:hover,.nav a:focus{background:var(--panel2);color:white}.nav i{width:20px;text-align:center;color:var(--cyan);font-style:normal;font-size:17px}.sidebar-user{margin-top:auto;padding:14px 7px 3px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;font-size:11px}.sidebar-user small{display:block;color:var(--muted);margin-top:3px}.avatar{width:34px;height:34px;display:grid;place-items:center;background:var(--panel2);border:1px solid #31505a;border-radius:50%;color:var(--cyan);font-weight:700}.main{min-width:0}.topbar{height:66px;padding:0 32px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.crumb b{color:var(--text);font-weight:600}.role-chip{border:1px solid var(--line);background:#121d24;border-radius:99px;padding:7px 11px;font-size:11px}.content{max-width:1450px;margin:auto;padding:28px 32px 40px}.hero{position:relative;overflow:hidden;isolation:isolate;display:flex;justify-content:space-between;align-items:center;padding:23px 25px;margin-bottom:16px;border:1px solid #31515b;border-radius:14px;background:radial-gradient(ellipse at 88% 20%,#3c9da21f,transparent 37%),linear-gradient(110deg,#172731,#121b22)}.hero h1,.page-head h1{font-size:26px;letter-spacing:-.035em;margin:7px 0}.hero p,.page-head p{margin:0;color:var(--muted);font-size:12px}.eyebrow{font-size:10px;color:var(--cyan);letter-spacing:.16em;font-weight:700}.window-watermark{position:absolute;z-index:-1;right:7%;font-size:125px;color:#78d8dd16;line-height:1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:25px}.stat,.panel{background:linear-gradient(145deg,#15212a,#121b22);border:1px solid var(--line);border-radius:12px}.stat{padding:15px 17px}.stat small{display:block;color:var(--muted);font-size:11px}.stat b{display:block;font-size:24px;margin:7px 0}.stat span{font-size:10px;color:var(--cyan)}.section-head,.page-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:8px 0 14px}.section-head h2,.panel h2{margin:0 0 5px;font-size:15px}.section-head p{margin:0;color:var(--muted);font-size:11px}.page-head{margin:3px 0 20px}.page-head h1{margin:6px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #334750;background:#1a2a34;color:var(--text);border-radius:8px;padding:9px 12px;font-size:12px;cursor:pointer;white-space:nowrap}.btn:hover{filter:brightness(1.14)}.btn.primary{background:var(--green);border-color:var(--green);color:#142018;font-weight:700}.btn.full{width:100%;margin-top:8px}.order-list{display:grid;gap:7px;margin-bottom:18px}.order-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;background:#121c23;border:1px solid #263740;border-radius:9px}.order-row:hover{background:#1a2932}.order-main{display:grid;gap:5px;min-width:0}.order-main b{font-size:12px}.order-main b small{color:var(--muted);font-weight:400;margin-left:6px}.order-main span{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis}.pill{max-width:180px;padding:5px 8px;border-radius:99px;background:#203b31;color:var(--green);font-size:10px;white-space:nowrap}.empty{padding:28px 16px;text-align:center;color:var(--muted);background:#121c23;border:1px dashed #324650;border-radius:9px;font-size:12px}.filters{display:flex;gap:8px;margin-bottom:13px}.filters input{flex:1}.filters input,.filters select,input,select,textarea{background:#0e171d;color:var(--text);border:1px solid #32434c;border-radius:7px;padding:9px 10px;outline:none}.filters input:focus,.filters select:focus,input:focus,select:focus,textarea:focus{border-color:#63bac2;box-shadow:0 0 0 2px #63bac222}select option{background:#111e26}.panel{padding:16px;margin-bottom:13px}.panel h2{margin-bottom:14px}.detail-grid{display:grid;grid-template-columns:1.1fr 1.2fr;gap:13px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.info-grid>div{display:grid;gap:5px;font-size:12px}.info-grid small{color:var(--muted);font-size:10px}.info-grid a{color:var(--blue)}.note{padding:10px;background:#10181e;border-radius:7px;color:var(--muted);font-size:12px}.steps{list-style:none;display:grid;gap:9px;margin:0;padding:0}.steps li{position:relative;padding-left:24px;color:var(--muted);font-size:11px}.steps li:before{content:"";position:absolute;left:0;top:2px;width:14px;height:14px;border:1px solid #44565f;border-radius:50%}.steps li.done:before{content:"✓";display:grid;place-items:center;color:var(--green);background:#24392c;border-color:#53723d;font-size:9px}.steps li.current{color:var(--text);font-weight:700}.steps li.current:before{background:var(--cyan);border-color:var(--cyan)}.steps small{color:var(--muted);margin-left:8px;font-weight:400}.section-panel{margin-top:13px}.section-panel h2{margin-bottom:6px}.muted{color:var(--muted);font-size:11px}.measurement-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:12px 0}.measurement{display:grid;gap:6px;padding:11px;background:#10191f;border:1px solid #263740;border-radius:8px;font-size:12px}.measurement span,.measurement p{font-size:11px;color:var(--muted);margin:0}.measurement img{width:100%;max-height:190px;object-fit:cover;border-radius:6px;margin-top:3px}.subform{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.subform h3{font-size:13px;margin:0 0 10px}.subform p{display:grid;gap:5px;margin:9px 0}.subform label{font-size:11px;color:#aab9bf}.subform input,.subform select,.subform textarea{width:100%}.subform input[type=checkbox]{width:auto}.subform .helptext{font-size:10px;color:var(--muted)}.inline-form{margin:12px 0 0}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.form-panel{max-width:720px}.form-panel p{display:grid;gap:6px;margin:11px 0}.form-panel label{font-size:11px;color:#aab9bf}.form-panel input,.form-panel select,.form-panel textarea{width:100%}.form-panel textarea{min-height:80px}.material-list,.worklogs{display:grid;gap:6px;margin:12px 0}.material-row{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;background:#10191f;border-radius:7px;font-size:11px}.material-row small{color:var(--muted);text-align:right}.form-actions form{margin:0}.compact{max-width:450px}.stock-list{display:grid;gap:8px}.stock-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,.6fr) minmax(350px,1.4fr);align-items:center;gap:13px;padding:12px;background:#131e25;border:1px solid var(--line);border-radius:9px}.stock-row>div{display:grid;gap:4px;font-size:12px}.stock-row small{color:var(--muted);font-size:10px}.movement-form{display:flex;gap:6px}.movement-form input,.movement-form select{min-width:0;width:100%}.movement-form .btn{padding:8px}.low{color:var(--amber);font-style:normal}.category-tabs{display:flex;gap:7px;margin-bottom:12px;overflow:auto}.category-tabs a{padding:7px 10px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:11px;white-space:nowrap}.category-tabs a:hover{color:var(--text);border-color:var(--cyan)}.add-item summary{cursor:pointer;color:var(--cyan);font-size:12px}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.person-card{display:flex;align-items:center;gap:12px;padding:13px;background:#131e25;border:1px solid var(--line);border-radius:9px}.person-card b{font-size:12px}.person-card p{margin:5px 0;color:var(--cyan);font-size:11px}.person-card small{color:var(--muted);font-size:10px}.messages{display:grid;gap:6px;margin-bottom:13px}.message{padding:10px 12px;border-radius:8px;background:#203b31;color:var(--green);font-size:12px}.message.error{background:#422c2c;color:var(--red)}.footer{margin-top:28px;padding-top:12px;border-top:1px solid #223139;color:#6f8089;font-size:10px}.mobile-nav{display:none}.login-body{min-height:100vh;display:grid;place-items:center;padding:18px;background:radial-gradient(ellipse at top,#14313a,var(--bg) 60%)}.login-card{width:min(400px,100%);padding:25px;background:var(--panel);border:1px solid #344750;border-radius:14px;box-shadow:0 24px 75px #0007}.login-brand{padding:0 0 20px}.login-card>p{margin:0 0 16px}.login-card form label{display:grid;gap:6px;margin:12px 0;font-size:11px;color:var(--muted)}.login-card form input{width:100%}.login-help{display:block;color:var(--muted);font-size:10px;margin-top:14px}.access-note{padding:10px;border-left:2px solid var(--cyan);background:#121e24}
@media(max-width:1050px){.stock-row{grid-template-columns:1fr 1fr}.movement-form{grid-column:1/-1}.movement-form input,.movement-form select{flex:1}}
@media(max-width:760px){body{padding-bottom:63px}.shell{display:block}.sidebar{display:none}.topbar{height:53px;padding:0 14px}.content{padding:17px 13px 30px}.hero{padding:19px 17px}.hero h1,.page-head h1{font-size:22px}.stats{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:12px}.stat b{font-size:20px}.detail-grid{grid-template-columns:1fr}.page-head{align-items:flex-start}.page-head .btn{font-size:10px;padding:8px}.mobile-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;height:59px;display:flex;justify-content:space-around;align-items:center;background:#101920;border-top:1px solid var(--line)}.mobile-nav a{display:grid;justify-items:center;gap:3px;color:var(--cyan);font-size:16px}.mobile-nav small{font-size:9px;color:var(--muted)}.team-grid{grid-template-columns:1fr}.stock-row{grid-template-columns:1fr 1fr}.movement-form{grid-template-columns:1fr 1fr;display:grid}.movement-form .btn{grid-column:1/-1}.filters{flex-wrap:wrap}.filters input,.filters select{width:100%}.order-row{padding:11px}.pill{max-width:110px;overflow:hidden;text-overflow:ellipsis}.steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.steps li{padding:24px 0 0;text-align:center;font-size:9px}.steps li:before{left:calc(50% - 7px);top:0}.steps small{display:block;margin:3px 0 0;font-size:8px}.info-grid{gap:12px}.form-actions{flex-wrap:wrap}}
.sidebar-user{position:relative}.logout{margin-left:auto}.logout button{border:0;background:none;color:#91a2ab;font-size:10px;padding:6px}.logout button:hover{color:#edf4f6}
.signature-box{display:grid;gap:7px;margin:12px 0}.signature-box label,.signature-preview small{font-size:11px;color:#aab9bf}.signature-box canvas{display:block;width:100%;height:150px;background:#f6f8f7;border:1px solid #9aa8aa;border-radius:8px;touch-action:none;cursor:crosshair}.signature-preview{display:grid;gap:6px;margin-top:12px;max-width:440px}.signature-preview img{width:100%;height:130px;object-fit:contain;background:#f6f8f7;border:1px solid var(--line);border-radius:8px}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.warehouse-orders{display:grid;gap:10px;margin-bottom:18px}
.warehouse-order{padding:14px;background:linear-gradient(145deg,#15212a,#121b22);border:1px solid var(--line);border-radius:12px}
.warehouse-order-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.warehouse-code{display:block;color:var(--cyan);font-weight:700;font-size:14px}
.warehouse-order-top small,.warehouse-order-top p{display:block;margin:4px 0 0;color:var(--muted);font-size:11px}
.warehouse-issue-form{display:grid;gap:10px}
.warehouse-counts,.warehouse-count-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.warehouse-counts label{display:grid;gap:5px;color:var(--muted);font-size:11px}
.warehouse-counts input{width:100%;min-width:0}.warehouse-other-items{display:grid;gap:5px;margin:10px 0;color:var(--muted);font-size:11px}.warehouse-other-items textarea{width:100%;min-height:70px}
.warehouse-skip-form{margin-top:8px}
.warehouse-count-summary{margin:12px 0}
.warehouse-count-summary>div{display:grid;gap:5px;padding:11px;background:#111c23;border:1px solid var(--line);border-radius:8px}
.warehouse-count-summary small{color:var(--muted);font-size:10px}
.warehouse-count-summary b{font-size:13px}
.legacy-materials{margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:11px}
.legacy-materials summary{cursor:pointer;color:var(--cyan)}

.lead-stat{display:block;color:inherit}.lead-stat:hover{border-color:var(--cyan);background:#192833}.lead-list{display:grid;gap:11px}.lead-card{padding:16px;background:linear-gradient(145deg,#15212a,#121b22);border:1px solid var(--line);border-radius:12px}.lead-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.lead-header h2{margin:5px 0;font-size:17px}.lead-header small{color:var(--muted);font-size:10px}.lead-contacts{display:flex;flex-wrap:wrap;gap:9px 18px;margin:14px 0;color:var(--muted);font-size:11px}.lead-contacts a{color:var(--blue)}.lead-message{margin:12px 0;padding:11px;background:#10191f;border-radius:8px;color:#c0ccd1;font-size:12px;line-height:1.6}.lead-status-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}.lead-status-form label{color:var(--muted);font-size:11px}.lead-status-form select{min-width:160px}.lead-status-form button{margin-left:auto}@media(max-width:760px){.lead-card{padding:13px}.lead-header h2{font-size:15px}.lead-contacts{display:grid;gap:8px}.lead-status-form select{flex:1;min-width:130px}.lead-status-form button{margin-left:0}}

.push-panel{display:flex;align-items:center;justify-content:space-between;gap:14px}.push-panel h2{margin:0 0 5px}.push-panel p{margin:0}.push-panel button{flex:none}.push-error{color:var(--amber)!important}@media(max-width:760px){.push-panel{align-items:stretch;flex-direction:column}.push-panel button{width:100%;white-space:normal}}

.mobile-logout{display:grid;justify-items:center;margin:0}.mobile-logout button{display:grid;justify-items:center;gap:3px;padding:0;border:0;background:none;color:var(--cyan);font-size:16px}.mobile-logout button small{font-size:9px;color:var(--muted)}.mobile-logout button:hover{color:var(--text)}

.lead-photos{display:grid;gap:8px;margin:12px 0 15px}.lead-photos>b{font-size:11px;color:var(--muted)}.lead-photos>div{display:flex;flex-wrap:wrap;gap:8px}.lead-photos a{display:block;width:96px;height:76px;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#10191f}.lead-photos img{width:100%;height:100%;object-fit:cover}
.lead-assignee{margin:8px 0;color:var(--muted);font-size:11px}.lead-assignee b{color:var(--text)}
.lead-assignment-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding:12px 0}
.lead-assignment-form label{color:var(--muted);font-size:11px}.lead-assignment-form select{min-width:210px;flex:1}
@media(max-width:760px){.lead-assignment-form{align-items:stretch;flex-direction:column}.lead-assignment-form select,.lead-assignment-form button{width:100%}}
.lead-converted{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding:12px;border:1px solid #cfe0e6;border-radius:12px;background:#f4f9fb}
.lead-converted span{font-size:.9rem;color:#45606c;font-weight:650}
.lead-convert-button{display:inline-flex;margin-top:14px}
.source-lead-panel .lead-photos{margin-top:18px}
.source-lead-panel .lead-photos img{max-width:220px}
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn.danger,.btn.danger-outline{border-color:#c83939;color:#a52222}
.btn.danger{background:#b42323;color:#fff}
.btn.danger:hover{background:#921d1d}
.btn.danger-outline{background:#fff}
.lead-delete-link{display:inline-flex;margin-top:12px}
.delete-confirm-panel{max-width:760px;margin:0 auto}
.delete-confirm-panel>p{line-height:1.6}
.delete-warning{padding:14px;border:1px solid #efc0a9;border-radius:12px;background:#fff5ef;color:#783b1c}
.delete-confirm-form{display:grid;gap:16px;margin-top:24px}
.delete-confirm-form label{display:flex;gap:10px;align-items:flex-start}
.delete-confirm-form input[type=text],.delete-confirm-form input:not([type]){max-width:360px}
@media(max-width:680px){.page-actions{width:100%}.page-actions .btn{flex:1;justify-content:center}.delete-confirm-panel{padding:18px}}
@media print{
  @page{size:A4;margin:12mm}
  :root{color-scheme:light}
  body{margin:0!important;padding:0!important;background:#fff!important;color:#111!important;font:10pt Arial,sans-serif}
  .shell{display:block;min-height:0}
  .sidebar,.topbar,.mobile-nav,.footer,.messages,.page-actions,.print-trigger,form,button{display:none!important}
  .main,.content{max-width:none!important;margin:0!important;padding:0!important}
  .page-head{display:block;margin:0 0 12px;padding:0 0 8px;border-bottom:2px solid #222}
  .page-head h1{margin:4px 0;color:#111;font-size:20pt}
  .page-head p,.page-head .eyebrow{color:#333}
  .panel{margin:0 0 9px;padding:11px;background:#fff!important;color:#111!important;border:1px solid #bbb;border-radius:0;box-shadow:none;break-inside:avoid}
  .panel h2,.panel h3{color:#111}
  .detail-grid{grid-template-columns:1fr 1fr;gap:9px}
  .info-grid{gap:9px}
  .info-grid small,.muted,.steps li,.steps small,.measurement span,.measurement p,.material-row small{color:#444!important}
  .note,.lead-message{background:#f5f5f5!important;color:#111!important;border:1px solid #ddd}
  .measurement-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .measurement{background:#fff;border-color:#bbb;break-inside:avoid}
  .measurement img,.lead-photos img,.signature-preview img{max-width:65mm;max-height:55mm;object-fit:contain;background:#fff}
  .lead-photos a{display:inline-block;margin:4px}
  .material-row{background:#f7f7f7;color:#111}
  .pill{background:#eee;color:#111;border:1px solid #999}
  a{color:#111!important;text-decoration:none}
}
.planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 16px}.planner-tabs{display:flex;gap:6px}.planner-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:12px}.planner-tabs a.active{background:#203b31;border-color:#52743d;color:var(--green);font-weight:700}.planner-month-nav{display:flex;align-items:center;gap:8px}.planner-month-nav strong{min-width:130px;text-align:center;text-transform:capitalize;font-size:14px}.planner-month-nav .btn{min-width:38px}.planner-calendar{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#101920}.planner-weekdays,.planner-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.planner-weekdays{background:#17242c;border-bottom:1px solid var(--line)}.planner-weekdays div{padding:10px 8px;color:var(--muted);text-align:center;font-size:10px;font-weight:700}.planner-week:not(:last-child){border-bottom:1px solid var(--line)}.planner-day{min-width:0;min-height:142px;padding:7px;border-right:1px solid var(--line);background:#111b22}.planner-day:last-child{border-right:0}.planner-day.outside{background:#0d151a;color:#64727a}.planner-day.today{background:#14252b}.planner-day-number{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11px;font-weight:700}.planner-day-number span{color:var(--cyan);font-size:9px}.planner-events{display:grid;gap:4px}.planner-event{display:grid;gap:2px;min-width:0;padding:6px;border-left:3px solid var(--cyan);border-radius:5px;background:#1a2931;font-size:9px}.installation-event{border-left-color:var(--green)}.planner-event b{color:var(--cyan);font-size:9px}.installation-event b{color:var(--green)}.planner-event strong,.planner-event span,.planner-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-event strong{font-size:9px}.planner-event small{color:var(--muted);font-size:8px}.planner-event:hover{filter:brightness(1.2)}.planner-empty{display:none}
@media(max-width:760px){.planner-head{align-items:flex-start}.planner-toolbar{align-items:stretch;flex-direction:column}.planner-month-nav{justify-content:space-between}.planner-month-nav strong{flex:1}.planner-calendar{border:0;background:transparent;overflow:visible}.planner-weekdays{display:none}.planner-week{display:contents}.planner-day{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;min-height:0;margin-bottom:7px;padding:9px;border:1px solid var(--line)!important;border-radius:9px;background:#111b22}.planner-day.outside,.planner-day.no-events{display:none}.planner-day-number{align-self:start;margin:0;padding-top:5px}.planner-events{gap:5px}.planner-event{grid-template-columns:65px 1fr;align-items:center;column-gap:6px;padding:8px;font-size:10px}.planner-event b{grid-row:span 2;font-size:10px}.planner-event strong{font-size:10px}.planner-event span{font-size:10px}.planner-event small{grid-column:2;font-size:9px}.planner-event .planner-person{display:none}.planner-tabs a{flex:1;text-align:center}.planner-month-nav .today-link{min-width:auto}}@media(max-width:760px){.mobile-nav{overflow-x:auto;justify-content:flex-start;gap:2px;padding:0 5px}.mobile-nav>a,.mobile-nav>.mobile-logout{flex:1 0 48px;min-width:48px}}