:root{--bg: #f4f5f7;--surface: #ffffff;--text: #202223;--muted: #6d7175;--border: #dfe3e8;--primary: #303030;--primary-hover: #1f1f1f;--danger: #c5280c;--danger-bg: #fff4f2;--warning: #8a6116;--warning-bg: #fff8e5;--success: #13795b;--success-bg: #ecfdf3;--shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 1px 5px rgba(0, 0, 0, .04);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}body{font-size:14px;line-height:1.45}a{color:#005bd3;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px}.app-page-wide{width:min(1500px,calc(100% - 24px))}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.page-header h1{margin:2px 0 4px;font-size:28px;line-height:1.2}.page-subtitle{margin:0;color:var(--muted);font-size:15px}.eyebrow{margin:0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#616161}.header-actions{display:flex;flex-wrap:wrap;gap:8px}.button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border:1px solid #c9cccf;border-radius:8px;background:#fff;color:#202223;font-weight:650;box-shadow:0 1px #0000000d;text-decoration:none}.button:hover{background:#f6f6f7;text-decoration:none}.button-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.button-primary:hover{background:var(--primary-hover)}.button-small{min-height:31px;padding:4px 10px;font-size:13px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border)}.panel-heading h2,.panel>h2{margin:0;font-size:18px}.panel-heading p{margin:3px 0 0;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat-card{padding:18px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.stat-card span{color:var(--muted);display:block;margin-bottom:7px}.stat-card strong{font-size:28px;line-height:1}.stat-danger{background:var(--danger-bg);border-color:#f6c7bc}.stat-danger strong{color:var(--danger)}.stat-warning{background:var(--warning-bg);border-color:#eadca6}.stat-warning strong{color:var(--warning)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{padding:11px 14px;background:#f7f8f8;border-bottom:1px solid var(--border);color:#4a4f53;font-size:12px;text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.data-table td{padding:13px 14px;border-bottom:1px solid #edf0f2;vertical-align:top}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fafbfb}.production-table{min-width:1250px}.production-table th:nth-child(1){width:110px}.production-table th:nth-child(2){width:260px}.production-table th:nth-child(3){width:320px}.production-table th:nth-child(4){width:180px}.production-table th:nth-child(5){width:150px}.table-summary{padding:12px 16px;color:var(--muted);border-bottom:1px solid var(--border)}.row-overdue{background:#fff8f7}.order-cell strong,.order-cell span{display:block}.order-cell span{margin-top:4px;color:var(--muted);font-size:12px}.product-cell{display:flex;align-items:flex-start;gap:11px;min-width:210px}.product-cell img,.image-placeholder{width:52px;height:52px;flex:0 0 52px;border:1px solid var(--border);border-radius:8px;object-fit:cover;background:#f3f4f5}.image-placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:10px;text-align:center}.product-cell strong,.product-cell span{display:block}.product-cell span{margin-top:4px;color:var(--muted);font-size:12px}.stage-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid;border-radius:999px;background:#fff;white-space:nowrap;font-size:12px;font-weight:600}.stage-pill i{width:8px;height:8px;border-radius:50%}.attributes-list{display:grid;gap:6px;min-width:230px}.attribute-row{display:grid;grid-template-columns:minmax(85px,.8fr) minmax(110px,1.2fr);gap:8px}.attribute-row strong{color:#52575b;font-size:12px;overflow-wrap:anywhere}.attribute-row span{overflow-wrap:anywhere}.muted{color:var(--muted)}.text-danger{color:var(--danger)!important;font-weight:650}.overdue-label{display:inline-block;margin-top:5px;color:var(--danger);font-size:11px;font-weight:700;text-transform:uppercase}.action-links{display:grid;gap:5px;white-space:nowrap}.filters-panel{padding:14px;display:flex;align-items:end;justify-content:space-between;gap:20px;overflow:visible}.filters-form{display:flex;align-items:end;gap:12px;flex:1}.field{display:grid;gap:6px}.field label{font-weight:650;color:#383b3d}.field small{color:var(--muted)}.field input,.field select,.field textarea,.compact-form select,.compact-form input,.stage-name-input{width:100%;min-height:36px;border:1px solid #bfc3c7;border-radius:8px;padding:7px 10px;background:#fff;color:var(--text)}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.compact-form select:focus,.compact-form input:focus,.stage-name-input:focus{outline:2px solid rgba(0,91,211,.25);border-color:#005bd3}.grow-field{flex:1;min-width:260px}.filters-form .field:not(.grow-field){width:190px}.filter-button{margin-bottom:0}.view-switcher{display:inline-flex;border:1px solid #c9cccf;border-radius:8px;overflow:hidden;flex:0 0 auto}.view-switcher a{padding:8px 13px;color:var(--text);background:#fff;border-right:1px solid #c9cccf;text-decoration:none}.view-switcher a:last-child{border-right:0}.view-switcher a.active{background:#303030;color:#fff}.compact-form{display:grid;gap:4px;min-width:145px}.compact-form select,.compact-form input{min-height:34px;padding:6px 8px}.saving-text{color:var(--muted);font-size:11px}.kanban-board{display:flex;align-items:flex-start;gap:14px;overflow-x:auto;padding:2px 2px 18px}.kanban-column{flex:0 0 315px;border:1px solid var(--border);border-radius:12px;background:#eef0f2;overflow:hidden}.kanban-column>header{display:flex;align-items:center;gap:8px;padding:13px 14px;border-bottom:1px solid #d8dcdf}.kanban-column h2{margin:0;font-size:14px;flex:1}.stage-dot{width:10px;height:10px;border-radius:50%}.count-badge{min-width:24px;padding:2px 7px;border-radius:999px;background:#fff;text-align:center;font-size:12px}.kanban-cards{display:grid;gap:10px;padding:10px;max-height:calc(100vh - 280px);overflow-y:auto}.kanban-card{display:grid;gap:12px;padding:13px;border:1px solid #d6dade;border-radius:10px;background:#fff;box-shadow:0 1px 2px #0000000d}.card-overdue{border-color:#e9a89a;box-shadow:inset 3px 0 0 var(--danger)}.card-order-line{display:flex;justify-content:space-between;gap:10px;font-weight:650}.card-order-line a:last-child{font-size:12px;font-weight:500}.card-footer{display:flex;justify-content:space-between;align-items:end;gap:10px}.card-footer span,.card-footer strong{display:block}.label-small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.column-empty{padding:22px 10px;text-align:center;color:var(--muted);font-size:12px;border:1px dashed #c4c9ce;border-radius:9px}.empty-state{padding:46px 24px;text-align:center}.empty-state h2,.empty-state h3{margin:0 0 6px}.empty-state p{margin:0;color:var(--muted)}.notice{padding:12px 14px;border-radius:9px;margin-bottom:16px;border:1px solid}.notice-success{color:#0f5d46;background:var(--success-bg);border-color:#a9dfce}.notice-error{color:#8d1b08;background:var(--danger-bg);border-color:#efb7aa}.settings-page{max-width:980px}.settings-section{padding-bottom:20px}.settings-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;padding:20px}.stage-settings-list{display:grid}.stage-setting-row{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid #edf0f2}.stage-edit-form{display:grid;grid-template-columns:30px 42px minmax(180px,1fr) 150px auto;align-items:center;gap:10px;flex:1}.stage-position{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#f0f2f3;font-weight:700}.color-input{width:38px;height:34px;padding:2px;border:1px solid #c9cccf;border-radius:7px;background:#fff}.checkbox-label{display:inline-flex;align-items:center;gap:7px;color:#4a4f53;white-space:nowrap}.stage-row-actions{display:flex;gap:5px}.stage-row-actions form{margin:0}.icon-button{width:32px;height:32px;border:1px solid #c9cccf;border-radius:7px;background:#fff;font-size:18px;line-height:1}.icon-button:hover{background:#f6f6f7}.icon-danger{color:var(--danger)}.add-stage-form{display:flex;align-items:end;gap:12px;padding:18px;background:#fafbfb;border-top:1px solid var(--border)}.color-field{width:80px}.color-field input{padding:2px}.add-completed-check{margin-bottom:8px}.breadcrumb-row{margin-bottom:14px}.details-page{max-width:1120px}.details-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:18px;align-items:start}.product-detail-panel,.details-grid>.panel{padding:20px}.product-detail-panel h2,.details-grid>.panel h2{margin:0 0 18px}.detail-product-hero{display:grid;grid-template-columns:180px 1fr;gap:20px;margin-bottom:22px}.detail-product-hero img,.large-image-placeholder{width:180px;height:180px;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:#f4f5f6}.large-image-placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted)}.details-list{display:grid;gap:11px;margin:0}.details-list div{display:grid;grid-template-columns:100px 1fr;gap:10px;padding-bottom:10px;border-bottom:1px solid #edf0f2}.details-list dt{color:var(--muted)}.details-list dd{margin:0;font-weight:650}.customization-detail-list{display:grid;gap:10px}.customization-detail{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(180px,1.3fr);gap:14px;padding:12px;border-radius:8px;background:#f7f8f8;overflow-wrap:anywhere}.customization-detail>span{color:var(--muted);font-weight:650}.detail-form{display:grid;gap:17px}.public-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#f5f6f7,#e9edf0)}.public-card{width:min(620px,100%);padding:38px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:0 15px 45px #00000017}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;background:#303030;color:#fff;font-weight:800;letter-spacing:.04em}.public-card h1{margin:20px 0 8px;font-size:31px}.public-card>p{margin:0 0 24px;color:var(--muted);font-size:16px}.login-form{display:grid;gap:8px}.login-form label{font-weight:650}.inline-form{display:flex;gap:9px}.inline-form input{flex:1;min-width:0;min-height:40px;border:1px solid #bfc3c7;border-radius:8px;padding:8px 11px}.print-page{width:min(1020px,calc(100% - 30px));margin:0 auto;padding:24px 0 60px}.print-actions{display:flex;justify-content:flex-end;margin-bottom:14px}.print-header{display:flex;justify-content:space-between;gap:30px;padding:26px;border:2px solid #222;border-radius:12px;background:#fff}.print-header h1{margin:3px 0 0;font-size:30px}.print-header dl{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px 24px;margin:0}.print-header dl div{display:grid}.print-header dt{color:var(--muted);font-size:11px;text-transform:uppercase}.print-header dd{margin:2px 0 0;font-weight:700}.print-items{display:grid;gap:16px;margin-top:16px}.print-item{display:grid;grid-template-columns:34px 140px 1fr;gap:18px;padding:20px;border:1px solid #bfc3c7;border-radius:12px;background:#fff;break-inside:avoid}.print-item-number{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#222;color:#fff;font-weight:800}.print-product-image img,.print-product-image>div{width:140px;height:140px;object-fit:cover;border:1px solid #ccd0d4;border-radius:8px}.print-product-image>div{display:grid;place-items:center;background:#f3f4f5;color:var(--muted)}.print-item-content{min-width:0}.print-item-title{display:flex;justify-content:space-between;gap:16px}.print-item-title h2{margin:0;font-size:20px}.print-item-title p{margin:3px 0 0;color:var(--muted)}.print-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.print-status-grid div{padding:10px;border:1px solid #d9dde0;border-radius:7px}.print-status-grid span,.print-status-grid strong{display:block}.print-status-grid span{color:var(--muted);font-size:11px;text-transform:uppercase}.print-customizations h3,.print-note h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.print-customizations{margin-top:15px}.print-customizations>div{display:grid;grid-template-columns:160px 1fr;gap:10px;padding:6px 0;border-bottom:1px dotted #bfc3c7;overflow-wrap:anywhere}.print-customizations span{color:var(--muted)}.print-note{margin-top:16px;padding:11px;border:1px dashed #aeb4b9;border-radius:7px;min-height:70px}.print-note p{margin:0;white-space:pre-wrap}.quality-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-top:16px}.quality-checks label{display:flex;align-items:center;gap:8px}.quality-checks label span{width:16px;height:16px;border:1.5px solid #333;border-radius:3px}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters-panel,.filters-form{align-items:stretch}.filters-panel{flex-direction:column}.filters-form{flex-wrap:wrap}.filters-form .field:not(.grow-field),.grow-field{flex:1 1 220px;width:auto;min-width:0}.view-switcher{align-self:flex-end}.settings-form{grid-template-columns:1fr 1fr}.settings-form .button{grid-column:1 / -1;justify-self:start}.stage-setting-row{align-items:flex-start}.stage-edit-form{grid-template-columns:30px 42px 1fr auto}.checkbox-label{grid-column:3 / 4}.stage-edit-form .button{grid-column:4;grid-row:1}.add-stage-form{flex-wrap:wrap}.details-grid{grid-template-columns:1fr}}@media(max-width:640px){.app-page,.app-page-wide{width:min(100% - 20px,100%);padding-top:18px}.page-header{flex-direction:column}.page-header .button,.header-actions{width:100%}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:14px}.stat-card strong{font-size:23px}.filters-form{display:grid;width:100%}.filters-form .field,.filters-form .field:not(.grow-field),.grow-field{width:100%}.view-switcher{align-self:stretch}.view-switcher a{flex:1;text-align:center}.settings-form{grid-template-columns:1fr}.stage-setting-row{display:grid}.stage-edit-form{grid-template-columns:30px 38px 1fr}.stage-edit-form .checkbox-label{grid-column:3}.stage-edit-form .button{grid-column:1 / -1;grid-row:auto}.stage-row-actions{justify-content:flex-end}.add-stage-form{display:grid}.color-field{width:100%}.detail-product-hero{grid-template-columns:1fr}.detail-product-hero img,.large-image-placeholder{width:100%;height:auto;aspect-ratio:1}.customization-detail{grid-template-columns:1fr;gap:4px}.public-card{padding:25px}.inline-form,.print-header{flex-direction:column}.print-header dl{grid-template-columns:1fr 1fr}.print-item{grid-template-columns:28px 1fr}.print-product-image{grid-column:2}.print-item-content{grid-column:1 / -1}}@media print{:root,html,body{background:#fff!important}s-app-nav,.print-actions{display:none!important}.print-page{width:100%;padding:0;margin:0}.print-header,.print-item{box-shadow:none}a{color:#000;text-decoration:none}@page{margin:12mm;size:A4}}
