@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{--cz-blue-900:#062f4f;--cz-blue-700:#0c5a88;--cz-blue-500:#1f82c0;--cz-green-600:#00a64b;--cz-green-500:#12c05d;--cz-bg:#f5faf8;--cz-surface:#fff;--cz-text:#123047;--cz-muted:#5f7484;--cz-border:#d9e6ec;--cz-radius:14px;--cz-shadow:0 14px 34px #062f4f1f}html,body,#root{min-height:100%;margin:0}body{background:var(--cz-bg);color:var(--cz-text);-webkit-font-smoothing:antialiased;font-family:Manrope,Segoe UI,sans-serif}:root{color:#203030;background:#f5f8f7;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0}.app-shell{min-height:100vh;display:flex}aside{color:#dcece8;background:#113d3a;flex-direction:column;width:250px;padding:28px 16px;display:flex}.logo{align-items:center;gap:11px;margin:0 10px 54px;font-size:19px;display:flex}.logo span,.brand-mark{color:#123b38;background:#a9e2bd;border-radius:10px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.logo small{color:#86aaa4;margin-top:2px;font-size:11px;display:block}.nav-title,.eyebrow{letter-spacing:1.6px;color:#79aaa1;font-size:11px;font-weight:700}.nav-title{margin:0 12px 10px}.nav{color:#abcac5;text-align:left;background:0 0;border-radius:8px;width:100%;margin:2px 0;padding:12px}.nav span{margin-right:12px}.logout{color:#abcac5;text-align:left;background:0 0;margin-top:auto;padding:12px}.content{flex:1;min-width:0;padding:40px 5%}header{justify-content:space-between;align-items:center;margin-bottom:36px;display:flex}h1{color:#153e3a;margin:4px 0;font-size:32px}h2{margin:4px 0;font-size:22px}.user{align-items:center;gap:10px;display:flex}.avatar{color:#22614e;background:#d8efe0;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.toolbar{gap:12px;margin-bottom:18px;display:flex}.toolbar input{flex:1;max-width:360px}.primary{color:#fff;background:#236f5d;border-radius:7px;padding:11px 16px;font-weight:700}.full{width:100%;margin-top:10px}input,textarea{color:#213b38;background:#fff;border:1px solid #d7e1df;border-radius:7px;width:100%;padding:11px}label{color:#42615d;font-size:13px;font-weight:600;display:block}label input,label textarea{margin-top:7px;display:block}.table-card,.login-card{background:#fff;border:1px solid #e1ebe8;border-radius:12px;box-shadow:0 8px 24px #17493c0b}.table-head{border-bottom:1px solid #e9efed;justify-content:space-between;padding:18px 22px;display:flex}.table-wrap{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}th,td{white-space:nowrap;border-bottom:1px solid #edf2f0;padding:15px 22px}th{letter-spacing:.8px;text-transform:uppercase;color:#75908b;font-size:11px}.status{color:#21744d;background:#dcf4e5;border-radius:20px;padding:5px 9px;font-size:12px}.status.off{color:#a04b43;background:#fce4e1}.actions button{color:#286d60;background:0 0;margin-right:10px}.actions .danger{color:#b35b55}.empty{text-align:center;color:#819490;padding:55px}.toast,.notice{color:#28644d;background:#e1f2e8;border-radius:7px;margin-bottom:15px;padding:12px 15px;font-size:14px}.error{color:#b14d45;font-size:13px}.login-shell{background:linear-gradient(135deg,#e6f4eb,#f7faf8);place-items:center;min-height:100vh;display:grid}.login-card{width:min(420px,100% - 32px);padding:40px}.login-card h1{margin-top:12px;font-size:28px}.muted{color:#78908b;font-size:14px}.login-card form{gap:18px;margin-top:28px;display:grid}.modal-backdrop{background:#08272375;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:13px;width:min(650px,100%);max-height:90vh;padding:28px;overflow:auto}.modal-title{justify-content:space-between;display:flex}.modal-title>button{color:#78908b;background:0 0;font-size:26px}.form-grid{grid-template-columns:1fr 1fr;gap:17px;margin:25px 0;display:grid}.form-grid label:has(textarea){grid-column:span 2}.form-grid textarea{min-height:85px}.form-grid input[type=checkbox]{width:auto}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-actions>button:first-child{color:#55716c;background:0 0;padding:10px}@media (width<=700px){aside{width:70px;padding:20px 10px}.logo div,.nav-title,.nav{font-size:0}.nav span{margin:0;font-size:18px}.logo{margin:0 5px 35px}.logo span{width:42px}.content{padding:25px 16px}header{margin-bottom:24px}.user{font-size:0}.form-grid{grid-template-columns:1fr}.form-grid label:has(textarea){grid-column:auto}.toolbar{flex-direction:column}.toolbar input{max-width:none}}select{color:#213b38;background:#fff;border:1px solid #d7e1df;border-radius:7px;width:100%;padding:11px}label select{margin-top:7px;display:block}input:disabled,select:disabled,textarea:disabled{color:#7c918d;cursor:not-allowed;background:#f1f5f4}td{text-overflow:ellipsis;max-width:320px;overflow:hidden}.col-desc{min-width:320px;max-width:420px}th.actions,td.actions{background:#fff;position:sticky;right:0;box-shadow:-1px 0 #edf2f0}aside{flex-shrink:0;height:100vh;position:sticky;top:0;overflow-y:auto}.confirm-dialog{text-align:center;background:#fff;border-radius:13px;width:min(380px,100vw - 32px);padding:28px;box-shadow:0 18px 50px #08272335}.confirm-icon{color:#bd624c;background:#fff0e9;border-radius:50%;place-items:center;width:42px;height:42px;margin:0 auto 15px;font-size:22px;font-weight:800;display:grid}.confirm-dialog h2{color:#183f3b;margin:0 0 8px}.confirm-dialog p{color:#718782;margin:0;font-size:14px;line-height:1.5}.confirm-actions{justify-content:center;gap:10px;margin-top:24px;display:flex}.confirm-actions button{color:#42615d;background:#eef3f1;border-radius:7px;padding:10px 17px;font-weight:600}.confirm-actions .danger-button{color:#fff;background:#b9584c}.confirm-actions .danger-button:hover{background:#9f453b}.relation-list{padding:8px 22px 20px}.relation-group{border-bottom:1px solid #edf2f0;padding:16px 0}.relation-group:last-child{border-bottom:0}.relation-parent{color:#1e5149;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.relation-parent strong{font-size:16px}.relation-parent span{color:#819490;margin-top:2px;font-size:12px;display:block}.relation-items{gap:7px;display:grid}.relation-item{border-left:2px solid #d5ebe0;align-items:center;gap:15px;padding:8px 0 8px 16px;display:flex}.relation-values{flex-wrap:wrap;gap:7px;display:flex}.relation-chip{color:#397060;background:#eef7f1;border-radius:6px;padding:6px 11px;font-size:14px;display:inline-flex}.relation-edit{color:#fff;white-space:nowrap;background:#236f5d;border-radius:7px;padding:10px 15px;font-size:14px;font-weight:700}.clickable{cursor:pointer}.clickable:hover{background:#f2f8f5}.product-photo-block{margin:20px 0}.product-photo-block h3{color:#315c55;margin:0;font-size:15px}.combo-items{gap:8px;margin:12px 0;display:grid}.combo-item{border:1px solid #e2ece9;border-radius:8px;justify-content:space-between;align-items:center;gap:15px;padding:11px 13px;display:flex}.combo-item strong{color:#24584f}.combo-item small{color:#819490;margin-top:3px;display:block}.combo-item .danger{color:#b35b55;background:0 0}.detail-info{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.detail-info>div{background:#f4f8f6;border-radius:8px;min-width:130px;padding:12px 15px}.detail-info dt{color:#718b85;text-transform:uppercase;font-size:11px}.detail-info dd{color:#214e47;margin:4px 0 0;font-weight:700}.inline-price{align-items:center;gap:7px;display:flex}.inline-price input{width:105px;padding:7px}.inline-price .primary{padding:7px 11px;font-size:12px}.inline-edit{color:var(--cz-green-600);background:0 0;margin-top:6px;padding:0;font-size:12px;font-weight:700;display:block}.product-edit-form .form-grid{margin:8px 0 0}.product-edit-form .wide-field{grid-column:span 2}.product-edit-form .check-field input{width:auto;margin-top:10px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f3f8f6}.detail{width:min(760px,100%)}.detail-info{grid-template-columns:repeat(3,1fr);gap:12px 20px;margin:18px 0;display:grid}.detail-info dt{letter-spacing:.8px;text-transform:uppercase;color:#75908b;font-size:11px}.detail-info dd{margin:3px 0 0;font-weight:600}.detail-desc{color:#55716c;font-size:14px;line-height:1.5}.detail-block{border-top:1px solid #edf2f0;padding:16px 0}.detail-block h3{color:#1e5149;margin:0 0 10px;font-size:15px}.chip-x{color:#397060;background:0 0;margin-left:8px;padding:0;font-size:16px;line-height:1}.chip-x:hover{color:#b35b55}.add-row{gap:8px;margin-top:12px;display:flex}.add-row.wrap{flex-wrap:wrap}.add-row select{flex:1;min-width:180px}.combo-add-row{flex-wrap:nowrap;align-items:center}.combo-add-row select{flex:1 1 0;min-width:0}.combo-add-row .quantity-input{flex:0 0 88px;width:88px}.combo-add-row .primary{white-space:nowrap;flex:none}@media (width<=600px){.combo-add-row{flex-wrap:wrap}.combo-add-row select{flex-basis:calc(50% - 4px)}.combo-add-row .quantity-input{flex:80px}}.relation-item button.danger{color:#b35b55;background:0 0;margin-left:auto}@media (width<=700px){.detail-info{grid-template-columns:1fr 1fr}}.dropzone{color:#55716c;cursor:pointer;background:#f8fbfa;border:2px dashed #b9d3cc;border-radius:9px;align-items:center;gap:12px;margin-top:7px;padding:14px;font-weight:500;transition:all .15s;display:flex}.dropzone.over{background:#e8f4ee;border-color:#236f5d}.dropzone img{object-fit:contain;background:#fff;border:1px solid #e1ebe8;border-radius:6px;width:56px;height:56px}.dropzone span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.dropzone .link{color:#b35b55;background:0 0;font-size:13px}.form-grid label:has(.dropzone){grid-column:span 2}img.thumb{object-fit:contain;vertical-align:middle;background:#fff;border:1px solid #e1ebe8;border-radius:5px;width:36px;height:36px}.app-shell{background:linear-gradient(#f7fcfa 0%,#eff8f4 100%)}aside{color:var(--cz-text);border-right:1px solid var(--cz-border);background:#fffffff0;box-shadow:8px 0 24px #062f4f0a}.logo{color:var(--cz-blue-900);font-weight:800}.logo span,.brand-mark{background:var(--cz-green-600);color:#fff;border-radius:12px}.logo small{color:var(--cz-muted)}.nav-title,.eyebrow{color:var(--cz-green-600)}.nav{color:var(--cz-blue-700);font-weight:600}.nav.active,.nav:hover{color:var(--cz-green-600);background:#e7f7ee}.logout{color:var(--cz-blue-700);font-weight:600}.content{background:0 0}h1,h2{color:var(--cz-blue-900)}.user{color:var(--cz-blue-900);font-weight:600}.avatar{color:var(--cz-green-600);background:#e2f5ea}.primary{background:var(--cz-green-600);border-radius:999px;box-shadow:0 5px 12px #00a64b2e}.primary:hover{background:#078d43}.table-card,.login-card{border-color:var(--cz-border);border-radius:var(--cz-radius);box-shadow:var(--cz-shadow)}input,select,textarea{border-color:var(--cz-border);color:var(--cz-text);border-radius:10px}input:focus,select:focus,textarea:focus{border-color:#8fcbb3;outline:none;box-shadow:0 0 0 3px #00a64b24}th{color:var(--cz-muted)}td{color:var(--cz-text)}.muted{color:var(--cz-muted)}.status{color:#087d3d;background:#e4f8eb}.toast,.notice{color:#087d3d;background:#e7f7ee;border:1px solid #ccebd8}.login-shell{background:radial-gradient(60% 50% at 12% 0,#00a64b2e,#0000 70%),radial-gradient(45% 35% at 100% 10%,#0c5a8829,#0000 75%),linear-gradient(#f7fcfa 0%,#eff8f4 100%)}.modal-backdrop{background:#062f4f6b}.modal{border:1px solid var(--cz-border);border-radius:var(--cz-radius);box-shadow:var(--cz-shadow)}.dropzone{background:#f3faf7;border-color:#a9d7bd}.dropzone.over{border-color:var(--cz-green-600);background:#e7f7ee}.relation-chip{color:#087d3d;background:#e7f7ee}.relation-edit{background:var(--cz-green-600);border-radius:999px}.relation-edit:hover{background:#078d43}.clickable:hover,tr.clickable:hover td{background:#f2faf6}.confirm-dialog{border:1px solid var(--cz-border);border-radius:var(--cz-radius);box-shadow:var(--cz-shadow)}.confirm-actions .danger-button{background:#d34f43;border-radius:999px}@media (width<=700px){html,body,#root{width:100%;min-width:0;overflow-x:hidden}.app-shell{min-height:100vh;display:block}aside{z-index:20;flex-direction:row;align-items:center;gap:6px;width:100%;height:auto;min-height:64px;padding:10px 12px;display:flex;position:sticky;top:0;overflow:auto hidden}.logo{flex:none;gap:8px;margin:0 8px 0 0;font-size:16px}.logo div{font-size:16px;line-height:1.1;display:block}.logo small{font-size:9px}.nav-title{display:none}.nav{white-space:nowrap;flex:none;width:auto;margin:0;padding:9px 11px;font-size:12px;display:block}.logout{white-space:nowrap;flex:none;margin:0 0 0 auto;padding:9px 10px;font-size:12px}.content{width:100%;padding:22px 12px 30px}header{align-items:flex-start;gap:10px;margin-bottom:22px}h1{overflow-wrap:anywhere;font-size:25px;line-height:1.15}.user{flex:none;font-size:0}.toolbar{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px}.toolbar input,.toolbar .primary{width:100%;max-width:none}.toolbar .primary{min-height:44px}input,select,textarea{font-size:16px}.table-card{border-radius:10px;width:100%}.table-head{padding:14px 15px}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}table{min-width:620px}th,td{padding:13px 14px}th.actions,td.actions{position:sticky;right:0}.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:18px 18px 0 0;width:100%;max-width:none;max-height:94vh;padding:20px 16px}.modal-title h2{overflow-wrap:anywhere;max-width:calc(100vw - 80px);font-size:20px}.form-grid{grid-template-columns:1fr;gap:14px;margin:18px 0}.product-edit-form .wide-field{grid-column:auto}.form-grid label:has(textarea){grid-column:auto}.form-grid label:has(.dropzone){grid-column:auto}.modal-actions{z-index:2;background:#fff;margin:18px -16px -20px;padding:12px 16px 20px;position:sticky;bottom:0}.modal-actions>button{flex:1;min-height:44px}.detail-info{grid-template-columns:1fr 1fr;gap:8px}.detail-info>div{min-width:0;padding:10px}.add-row,.add-row.wrap{flex-direction:column;align-items:stretch}.add-row select,.add-row input,.add-row button{width:100%;min-width:0;min-height:44px}.combo-add-row{flex-flow:wrap}.combo-add-row select{flex:calc(50% - 4px);min-width:0}.combo-add-row .quantity-input{flex:80px;width:auto}.combo-add-row .primary{flex:100%;width:100%}.combo-item{align-items:flex-start;gap:9px;padding:10px}.combo-item>div{overflow-wrap:anywhere;min-width:0}.relation-item{flex-wrap:wrap;align-items:flex-start;gap:8px}.relation-item button.danger{margin-left:0}.relation-list{padding-left:15px;padding-right:15px}.confirm-dialog{padding:22px 18px}.confirm-actions{flex-direction:column-reverse}.confirm-actions button{width:100%;min-height:44px}.login-card{padding:28px 22px}}@media (width<=420px){.logo div{display:none}.logo{margin-right:2px}.nav{padding-left:9px;padding-right:9px}.detail-info{grid-template-columns:1fr}.modal-title{gap:8px}}
