:root{--primary-color:#2c3e50;--accent-color:#e67e22;--bg-color:#f4f6f9;--card-bg:#fff;--text-color:#333;--border-color:#ddd;--sidebar-width:260px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}#auth-container{z-index:1000;background:#2c3e50f2;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.login-box{text-align:center;background:#fff;border-radius:8px;width:400px;padding:3rem;box-shadow:0 10px 25px #0000004d}.auth-screen{background:linear-gradient(135deg,#1f2f3d,#385268);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:420px;padding:36px;box-shadow:0 20px 48px #00000047}.auth-logo{max-width:180px;height:auto;margin:0 auto 16px;display:block}.auth-eyebrow{color:var(--accent-color);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:.76rem;font-weight:800}.auth-card h1{border:0;margin-bottom:8px;padding:0;font-size:1.7rem}.auth-intro{color:#607080;max-width:290px;margin:0 auto 24px;font-size:.94rem}.auth-card form{text-align:left}.auth-card input{margin-bottom:16px}.auth-primary{width:100%;margin-top:4px}.auth-divider{color:#87929c;align-items:center;gap:12px;margin:22px 0;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#e0e5e9;flex:1;height:1px}.auth-providers{gap:10px;display:grid}.auth-providers button{color:#2c3e50;background:#fff;border:1px solid #cfd7dd;width:100%;font-weight:650}.auth-providers button:hover{background:#f4f6f9}.auth-card button:disabled{cursor:wait;opacity:.65}.auth-error{color:#a12626;background:#fff0f0;border-radius:5px;margin:16px 0 0;padding:9px 12px;font-size:.86rem}.auth-footnote{color:#7a8791;margin:22px 0 0;font-size:.76rem;line-height:1.45}.auth-loading{color:#fff;font-weight:650}.auth-account{z-index:1001;background:#fffffff5;border:1px solid #d8e0e5;border-radius:7px;align-items:center;gap:10px;max-width:300px;padding:7px 8px 7px 11px;font-size:.78rem;display:flex;position:fixed;bottom:14px;right:14px;box-shadow:0 3px 10px #0000001f}.auth-account span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-account button{color:var(--primary-color);white-space:nowrap;background:#edf1f3;padding:4px 8px}#app-container{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background-color:var(--primary-color);color:#fff;z-index:100;flex-direction:column;height:100%;display:flex;position:fixed;top:0;left:0}.sidebar .brand{z-index:10;background-color:#dfe6e9;border-bottom:1px solid #b2bec3;flex-shrink:0;justify-content:center;align-items:center;padding:1.5rem 1rem;display:flex;box-shadow:0 4px 6px #0000001a}.sidebar .brand img{object-fit:contain;border:none;width:auto;max-width:85%;height:auto}.sidebar ul{flex-direction:column;height:100%;padding:0;list-style:none;display:flex;overflow-y:auto}.sidebar li{cursor:pointer;border-left:4px solid #0000;align-items:center;padding:1rem 1.5rem;transition:background .2s;display:flex}.sidebar li:not(.spacer):hover,.sidebar li.active{border-left-color:var(--accent-color);background-color:#ffffff1a}.sidebar li i{text-align:center;width:30px;margin-right:10px}.sidebar hr{border:0;border-top:1px solid #ffffff1a;margin:5px 0}.sidebar .spacer{cursor:default;flex-grow:1}.sidebar .spacer:hover{background:0 0;border:none}#main-content{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));min-height:100vh;padding:2rem}h1{color:var(--primary-color);border-bottom:2px solid #ddd;margin-bottom:1.5rem;padding-bottom:.5rem}h2,h3{margin-bottom:1rem}.card{background:var(--card-bg);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 2px 5px #0000000d}.header-action{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.header-action h1{border:none;margin-bottom:0}button{cursor:pointer;border:none;border-radius:4px;padding:.6rem 1.2rem;font-size:.9rem;transition:all .2s}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-primary:hover{background-color:#d35400}.btn-delete{color:#fff;background-color:#e74c3c;padding:.4rem .8rem;font-size:.8rem}.btn-edit{color:#fff;background-color:#3498db;margin-right:5px;padding:.4rem .8rem;font-size:.8rem}input,select,textarea{border:1px solid #ccc;border-radius:4px;width:100%;margin-bottom:1rem;padding:.6rem}label{color:#555;margin-bottom:.5rem;font-weight:600;display:block}.inventory-table{border-collapse:collapse;background:#fff;width:100%;box-shadow:0 1px 3px #0000001a}.inventory-table th,.inventory-table td{text-align:left;border-bottom:1px solid #eee;padding:1rem}.inventory-table th{color:var(--primary-color);background-color:#f8f9fa;font-weight:600}.inventory-table tr:hover{background-color:#f1f1f1}.badge{border-radius:4px;padding:4px 8px;font-size:.8rem;font-weight:700}.badge.Estimated{color:#fff;background:#f39c12}.badge.Ordered{color:#fff;background:#3498db}.badge.Finished{color:#fff;background:#27ae60}.flex{display:flex}.flex-between{justify-content:space-between;display:flex}.flex-center{justify-content:center;display:flex}.align-center{align-items:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.gap-5{gap:5px}.gap-10{gap:10px}.gap-15{gap:15px}.gap-20{gap:20px}.grid{display:grid}.workspace-tabs{border-bottom:1px solid #dde3e8;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding-bottom:10px;display:flex}.workspace-tabs button{color:#6b7280;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;padding:8px 12px;font-weight:600}.workspace-tabs button:hover{color:var(--primary-color);background:#eef3f5}.workspace-tabs button.active{background:var(--primary-color);color:#fff}.quote-price-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.quote-price-summary strong{color:var(--primary-color);font-size:1.15rem}.inventory-attention{border-left:4px solid var(--accent-color);margin-bottom:20px}.inventory-alert-list{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.inventory-alert-list span{background:#fff4e6;border-radius:4px;padding:6px 9px}.job-checklist{flex-wrap:wrap;gap:18px;margin:16px 0;display:flex}.job-checklist input{width:auto;margin-right:6px}.job-package{border-top:1px solid #e5e7eb;padding-top:12px}.job-package summary{color:var(--primary-color);cursor:pointer;margin-bottom:12px;font-weight:700}.sheet-layouts{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:12px;display:grid}.sheet-layout{border:2px solid var(--primary-color);background:#edf2f4;width:100%;margin-top:6px;position:relative}.sheet-layout span{color:#fff;text-align:center;background:#e67e22;border:1px solid #00000059;justify-content:center;align-items:center;padding:2px;font-size:.68rem;display:flex;position:absolute;overflow:hidden}.quick-stock{white-space:nowrap;align-items:center;gap:7px;display:flex}.quick-stock button{cursor:pointer;background:#eef3f5;border:1px solid #cbd5dc;border-radius:4px;padding:3px 7px;font-size:1rem;line-height:1}.quick-stock button:hover{background:var(--primary-color);color:#fff}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr 1fr}.grid-4{grid-template-columns:1fr 2fr 1fr 1.5fr}.span-2{grid-column:span 2}.w-100{width:100%}.m-0{margin:0}.mt-5{margin-top:5px}.mt-10{margin-top:10px}.mt-15{margin-top:15px}.mt-20{margin-top:20px}.mb-5{margin-bottom:5px}.mb-10{margin-bottom:10px}.mb-15{margin-bottom:15px}.mb-20{margin-bottom:20px}.p-10{padding:10px}.p-15{padding:15px}.p-20{padding:20px}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:#666}.text-primary{color:var(--primary-color)}.text-success{color:#27ae60}.text-danger{color:#e74c3c}.font-bold{font-weight:700}.text-sm{font-size:.85rem}.text-lg{font-size:1.1rem}.text-xl{font-size:1.5rem}.modal-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-card{width:500px;max-height:90vh;position:relative;overflow-y:auto}.sidebar li button{appearance:none;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:0;align-items:center;width:100%;padding:0;display:flex}.sidebar li.search-item{background:#3498db33;border-left:4px solid #3498db}.sidebar li.divider{cursor:default;border-top:1px solid #ffffff1a;margin:5px 0;padding:0}.sidebar li.divider:hover{background:0 0;border-left-color:#0000}.dashboard-summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.dashboard-stat{border-left:5px solid}.dashboard-stat h3{font-size:2.5rem}.dashboard-stat-blue{border-left-color:#3498db}.dashboard-stat-green{border-left-color:#27ae60}.dashboard-stat-orange{border-left-color:#e67e22}.overline{letter-spacing:1px;text-transform:uppercase}.workspace-header{gap:16px}.workspace-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.workspace-actions input{min-width:220px;margin:0}.workspace-actions select{width:auto;margin:0}.checkbox-label{white-space:nowrap;align-items:center;gap:6px;margin:0;font-size:.85rem;display:flex}.checkbox-label input{width:auto;margin:0}.table-card{overflow-x:auto}.table-card select{width:auto;margin:0}.empty-state{color:#666;text-align:center;padding:2rem}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.cancel-btn{color:#333;background:#bdc3c7}.link-button{color:#2980b9;background:0 0;padding:0;text-decoration:underline}.customer-editor{width:min(760px,94vw);max-width:760px}.form-section{border-top:1px solid #e5e7eb;margin-top:18px;padding-top:16px}.form-section h3{color:var(--primary-color);margin-bottom:12px;font-size:1rem}.calculator-card{border-top:4px solid #3498db;padding:0;overflow:hidden}.calculator-heading{background:var(--primary-color);color:#fff;justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.calculator-heading h2{margin:0;font-size:1.2rem}.calculator-heading select{color:#fff;background:#34495e;border:0;width:auto;margin:0 0 0 8px;padding:6px 8px}.calculator-display{text-align:right;background:#fff;border:2px solid #bdc3c7;border-radius:8px;flex-direction:column;min-height:94px;margin:20px;padding:12px 16px;display:flex}.calculator-display span{color:#7f8c8d;min-height:1.25rem}.calculator-display input{color:var(--primary-color);text-align:right;background:0 0;border:0;width:100%;margin:0;padding:0;font-size:2.25rem;font-weight:700;line-height:1.2}.calculator-display input:focus{outline:none}.calculator-keypad{grid-template-columns:repeat(4,1fr);gap:8px;max-width:600px;margin:0 20px 20px;display:grid}.calculator-keypad button{color:var(--primary-color);background:#ecf0f1;min-height:46px;font-size:1.1rem;font-weight:700}.calculator-keypad .calc-fraction{color:#2980b9;background:#d4e6f1}.calculator-keypad .calc-operator{color:#d35400;background:#fdebd0;font-size:1.4rem}.calculator-keypad .calc-equals{color:#fff;background:#27ae60}.calculator-keypad .calc-clear{color:#fff;background:#e74c3c;grid-column:span 4}.tools-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.tool-card{margin:0}.board-foot-card{border-top:4px solid #8e44ad}.metric-card{border-top:4px solid #16a085}.tool-card h2{color:var(--primary-color);font-size:1.2rem}.tool-result{text-align:center;background:#f4f6f9;border-radius:6px;flex-direction:column;margin-top:18px;padding:15px;display:flex}.tool-result span{color:#666;text-transform:uppercase;font-size:.8rem;font-weight:700}.tool-result strong{color:var(--primary-color);font-size:2rem}.tool-result small{color:#7f8c8d;font-size:.9rem}.grain-tag{color:#8e44ad;margin-top:3px;font-weight:600;display:block}.low-stock{color:#c0392b;font-weight:700}.inventory-actions{gap:5px;display:flex}.btn-folder{color:#fff;background:#27ae60}.btn-folder:hover{background:#219150}.part-move-button{background:#3498db}.part-move-button:hover{background:#2980b9}.parts-table th:first-child,.parts-table td:first-child{text-align:center;width:42px}.parts-table input[type=checkbox]{width:auto;margin:0}.part-folder-row td{color:var(--primary-color);background:#f4f6f9;padding:.7rem 1rem;font-weight:700}.part-folder-row i{color:#f39c12;margin-right:6px}.rule-tag,.rotate-tag{margin-top:3px;font-size:.78rem;font-weight:600;display:block}.rule-tag{color:#8e44ad}.rotate-tag{color:#27ae60}.part-editor{width:min(620px,94vw)}.part-grain-control{white-space:normal;background:#fdf2e9;border-left:4px solid #e67e22;padding:10px}.btn-view{color:#fff;background:#8e44ad;padding:.4rem .8rem;font-size:.8rem}.btn-view:hover{background:#70358f}.product-description{color:#666;margin-top:3px;font-weight:400;display:block}.product-editor,.bom-viewer{width:min(860px,94vw);max-height:92vh;overflow-y:auto}.product-editor-heading,.cabinet-generator-heading{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.product-editor-heading h2,.cabinet-generator-heading h2{margin-bottom:3px}.close-button{color:#7f8c8d;background:0 0;padding:0 4px;font-size:2rem;line-height:1}.product-bom-section{border-top:1px solid #e5e7eb;margin-top:18px;padding-top:16px}.product-bom-section h3,.product-bom-section h4{color:var(--primary-color);margin-bottom:3px}.btn-generator{color:#fff;white-space:nowrap;background:#f39c12;align-self:flex-start}.btn-generator:hover{background:#d68910}.bom-add-row{grid-template-columns:130px minmax(180px,1fr) 80px auto;gap:10px;margin:14px 0;display:grid}.bom-add-row select,.bom-add-row input{margin:0}.bom-columns{grid-template-columns:1fr 1fr;gap:18px;display:grid}.bom-list{border:1px solid #ddd;border-radius:5px;min-height:100px;max-height:180px;padding:0 10px;list-style:none;overflow:auto}.bom-list li{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:7px 0;font-size:.9rem;display:flex}.bom-list li:last-child{border-bottom:0}.bom-list button{color:#c0392b;background:0 0;padding:0 4px;font-size:1.2rem}.cabinet-generator{width:min(1000px,96vw);max-height:94vh;padding:22px;overflow-y:auto}.cabinet-generator-heading{border-bottom:2px solid #eee;margin-bottom:18px;padding-bottom:12px}.cabinet-generator-grid{grid-template-columns:minmax(350px,1fr) minmax(320px,1fr);gap:20px;display:grid}.generator-controls{flex-direction:column;gap:12px;display:flex}.generator-controls label,.generator-controls input,.generator-controls select{margin-bottom:0}.generator-specs{background:#f9f9f9;border:1px solid #ddd;border-radius:6px;padding:14px}.generator-specs h3{margin-bottom:10px;font-size:1rem}.generator-apply{background:#27ae60;margin-top:6px;font-size:1rem}.generator-apply:hover{background:#219150}.elevation-preview{background:#f4f6f9;border:2px dashed #bdc3c7;border-radius:8px;justify-content:center;align-items:center;min-height:500px;padding:20px;display:flex;overflow:hidden}.elevation-preview>div,.bom-elevation{width:100%;height:100%}.elevation-preview svg{min-height:360px;max-height:480px}.bom-elevation{background:#f4f6f9;border:1px solid #ddd;border-radius:6px;max-height:320px;margin:0 0 18px;padding:15px}.bom-elevation svg{max-width:100%;height:290px;margin:auto;display:block}.standards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.standards-card{margin:0}.standards-card h3{color:var(--primary-color);margin-bottom:4px;font-size:1.1rem}.standards-card h3 i{margin-right:7px}.standards-card p{margin-bottom:14px}.standards-pricing{border-top:4px solid #27ae60}.standards-invoicing{border-top:4px solid #e74c3c}.standards-carcass{border-top:4px solid #f39c12}.standards-wide{grid-column:span 2}.standards-hardware{border-top:4px solid #3498db}.standards-materials{border-top:4px solid #9b59b6}.standards-test{border-top:4px solid var(--primary-color)}.standards-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.standards-field-grid input,.standards-field-grid select,.standards-field-grid textarea{margin-bottom:0}.standards-wide .standards-field-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.standards-card>label{margin-top:12px}.test-config-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));align-items:end;gap:12px;display:grid}.test-config-grid input,.test-config-grid select{margin-bottom:0}.test-config-grid button{align-self:end;min-height:40px}.test-results{margin-top:18px}.schedule-grid{grid-template-columns:minmax(280px,.85fr) minmax(430px,1.6fr);gap:20px;display:grid}.capacity-card{margin:0}.capacity-card h3,.production-queue h2{color:var(--primary-color)}.capacity-weeks{border:1px solid #ddd;border-radius:5px;margin-top:16px;overflow:hidden}.capacity-weeks>div{background:#fff;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:10px;display:flex}.capacity-weeks>div:first-child{background:#f4f6f9}.capacity-weeks>div:last-child{border-bottom:0}.capacity-weeks label{align-items:center;gap:5px;margin:0;font-size:.85rem;display:flex}.capacity-weeks input{text-align:right;width:68px;margin:0;padding:4px}.production-queue>h2{margin-bottom:2px;font-size:1.3rem}.scheduled-job{border-left:4px solid #3498db;justify-content:space-between;gap:15px;margin-bottom:10px;display:flex}.scheduled-job h3{color:var(--primary-color);margin-bottom:2px}.scheduled-job p{margin:0 0 8px}.schedule-job-stats{flex-wrap:wrap;gap:12px;font-size:.86rem;display:flex}.schedule-job-stats .delivery{color:#27814b;font-weight:700}.schedule-job-inputs{grid-template-columns:120px 120px minmax(160px,1fr);gap:10px;margin-top:12px;display:grid}.schedule-job-inputs label{margin:0;font-size:.78rem}.schedule-job-inputs input{margin:3px 0 0;padding:5px}.queue-controls{flex-direction:column;justify-content:center;gap:5px;display:flex}.queue-controls button{color:var(--primary-color);background:#ecf0f1;padding:3px 9px}.queue-controls button:disabled{cursor:default;opacity:.45}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.settings-grid .card{margin:0}.settings-company{grid-column:span 2}.settings-logo{border-top:4px solid #7f8c8d}.logo-settings-row{align-items:center;gap:18px;display:flex}.logo-preview{background:#f9f9f9;border:1px dashed #ccc;justify-content:center;align-items:center;width:190px;height:130px;display:flex}.logo-preview img{object-fit:contain;max-width:100%;max-height:100%}.logo-settings-row label{flex:1}.integration-card{border-top:4px solid #4285f4}.integration-card:nth-of-type(4){border-top-color:#009cde}.integration-card:nth-of-type(5){border-top-color:#34a853}.integration-card:nth-of-type(6){border-top-color:#0078d4}.integration-card h3{color:var(--primary-color)}.integration-card p{color:#555;min-height:45px;font-size:.9rem}.integration-status{color:#666;background:#f4f6f9;border-left:3px solid #bdc3c7;padding:8px;font-size:.82rem;display:block}.settings-grid>section.integration-card:nth-of-type(3),#mobile-topbar,#mobile-bottom-action{display:none}@media screen and (max-width:768px){#mobile-topbar{color:#fff;padding:calc(env(safe-area-inset-top,10px) + 10px) 20px 15px;z-index:9997;background:#2c3e50;justify-content:space-between;align-items:center;width:100%;display:flex;position:fixed;top:0;left:0;box-shadow:0 2px 5px #0000004d}.topbar-left{letter-spacing:1px;align-items:center;gap:12px;font-size:1.3rem;font-weight:700;display:flex}.topbar-left img{border-radius:6px;width:32px;height:32px}#hamburger-btn{color:#fff;background:0 0;padding:0;font-size:1.8rem}nav.sidebar{height:100%;padding-top:calc(env(safe-area-inset-top,10px) + 20px);z-index:9998;width:280px;transition:left .3s;position:fixed;top:0;left:-300px;box-shadow:5px 0 15px #00000080}nav.sidebar.open{left:0}nav.sidebar .brand{display:none}#main-content{width:100%;margin:80px 0 0;padding:15px}.workspace-header{flex-direction:column;align-items:stretch}.workspace-actions{justify-content:stretch}.workspace-actions input,.workspace-actions select,.workspace-actions .btn-primary{width:100%}.calculator-heading{flex-direction:column;align-items:stretch;gap:10px}.calculator-heading select{margin:0 8px 0 0}.cabinet-generator-grid,.bom-columns{grid-template-columns:1fr}.bom-add-row{grid-template-columns:1fr 1fr}.bom-add-row button{grid-column:span 2}.elevation-preview{min-height:360px}.standards-grid{grid-template-columns:1fr}.standards-wide{grid-column:auto}.standards-field-grid,.schedule-grid,.settings-grid{grid-template-columns:1fr}.settings-company{grid-column:auto}.schedule-job-inputs{grid-template-columns:1fr}}.modal-card-lg{width:700px;max-height:90vh;position:relative;overflow-y:auto}.modal-card-xl{width:900px;max-height:90vh;position:relative;overflow-y:auto}.cancel-btn{color:#333;cursor:pointer;background:#ddd;border:none;border-radius:4px;width:100%;padding:10px;transition:all .2s}.cancel-btn:hover{background:#ccc}.info-panel{background:#f4f6f9;border:1px solid #ddd;border-radius:4px;padding:15px}.dashed-input{background:0 0;border:1px solid #0000;border-bottom:1px dashed #ccc;width:100%;padding:6px}
