.btn{border-radius:var(--radius-sm,8px);cursor:pointer;border:1px solid var(--border-dark,#d9cdba);background:var(--sand,#f5efe6);color:var(--ink,#1f2530);padding:8px 16px;font-family:inherit;font-size:.875rem;font-weight:400;transition:all .15s}.btn:hover{background:#efe8dc;border-color:#c4b9aa}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:6px 12px;font-size:.8125rem}.btn-primary{background:var(--teal,#2a8f8a);color:#fff;border-color:var(--teal,#2a8f8a)}.btn-primary:hover:not(:disabled){background:var(--teal-hover,#238580);border-color:var(--teal-hover,#238580)}.btn-new{background:var(--teal,#2a8f8a);color:#fff;border-color:var(--teal,#2a8f8a)}.btn-new:hover:not(:disabled){background:var(--teal-hover,#238580);border-color:var(--teal-hover,#238580)}.btn-secondary{background:var(--sand,#f5efe6);color:var(--ink,#1f2530);border:1px solid var(--border-dark,#d9cdba)}.btn-secondary:hover:not(:disabled){background:#efe8dc}.btn-danger-solid{background:var(--danger,#dc2626);color:#fff;border-color:var(--danger,#dc2626)}.btn-danger-solid:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-danger{border:1px solid var(--danger,#dc2626);color:var(--danger,#dc2626);background:0 0}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-danger-text{color:var(--danger,#dc2626);background:0 0;border:1px solid #0000;padding:4px 8px}.btn-danger-text:hover:not(:disabled){background:#fee2e2}.btn-icon{color:var(--muted,#6b5f52);cursor:pointer;border-radius:var(--radius-sm,8px);background:0 0;border:none;padding:4px 8px;font-size:1rem;line-height:1}.btn-icon:hover:not(:disabled){background:var(--paper-hover,#faf4ec);color:var(--ink,#1f2530)}
.dialog-overlay{background:var(--overlay-bg,#1c181480);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal,300);position:fixed;inset:0}.dialog{background:var(--paper,#fbf7f1);border-radius:var(--radius-lg,18px);box-shadow:var(--shadow-lg,0 16px 48px #0000002e);width:100%;max-width:600px;max-height:90vh;z-index:calc(var(--z-modal,300) + 1);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.dialog-wide{max-width:900px}.dialog-header{border-bottom:1px solid var(--border-light,#eadfce);background:var(--paper,#fbf7f1);justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}.dialog-header h2{color:var(--ink,#1f2530);margin:0;font-size:1.125rem;font-weight:600}.dialog-close{color:var(--ink-2,#2f3b48);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.dialog-close:hover{color:var(--ink,#1f2530)}.dialog-content,.dialog-body{padding:20px}.dialog-footer{border-top:1px solid var(--border-light,#eadfce);border-radius:0 0 var(--radius-lg,18px)var(--radius-lg,18px);background:#fafaf8;justify-content:flex-end;gap:12px;padding:16px 20px;display:flex;position:sticky;bottom:0}.dialog-confirm{max-width:460px}
.drawer-overlay{background:var(--overlay-bg,#1c181480);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal,300);position:fixed;inset:0}.drawer{background:var(--sand,#f5efe6);width:min(560px,100vw);z-index:calc(var(--z-modal,300) + 1);border-top:2px solid var(--teal,#2a8f8a);flex-direction:column;animation:.22s ease-out drawer-slide;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 40px #00000040}.drawer-wide{width:min(720px,100vw)}.drawer-extra-wide{width:min(900px,100vw)}@keyframes drawer-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{background:var(--paper,#fbf7f1);border-bottom:2px solid var(--teal,#2a8f8a);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px 12px;display:flex}.drawer-header h2{color:var(--ink,#1f2530);word-break:break-word;margin:4px 0;font-size:1.125rem;font-weight:600}.drawer-eyebrow{text-transform:uppercase;letter-spacing:.6px;color:var(--teal,#2a8f8a);font-size:.6875rem;font-weight:600}.drawer-meta{color:var(--muted,#6b5f52);font-size:.75rem}.drawer-close{color:var(--muted,#6b5f52);cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:1.5rem;line-height:1}.drawer-close:hover{color:var(--ink,#1f2530)}.drawer-body{flex-direction:column;flex:1;gap:12px;padding:16px 20px;display:flex;overflow-y:auto}.drawer-footer{background:var(--paper,#fbf7f1);border-top:1px solid var(--border-light,#eadfce);flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.drawer-footer-split{justify-content:space-between}.drawer-section-card{background:var(--paper);border:1px solid var(--border-light);border-radius:.875rem;padding:1.125rem 1.25rem;box-shadow:0 1px 3px #0000000a}.drawer-section-card-title{text-transform:uppercase;letter-spacing:.0625rem;color:#4a4350;align-items:center;gap:.5rem;margin:0 0 .875rem;font-size:.6875rem;font-weight:600;display:flex}.drawer-section-card-title:before{content:"";background:var(--teal,#2a8f8a);border-radius:.125rem;width:.1875rem;height:.75rem}@media (max-width:600px){.drawer,.drawer-wide,.drawer-extra-wide{width:100%;max-width:100%}}
.drop-zone{border:2px dashed var(--border-medium);background:var(--paper-hover);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-top:12px;padding:28px 16px;transition:border-color .15s,background .15s,color .15s;display:flex}.drop-zone:hover,.drop-zone:focus-visible{border-color:var(--teal);color:var(--teal);background:#2a8f8a0a;outline:none}.drop-zone.drag-over{border-color:var(--teal);color:var(--teal);background:#2a8f8a1a}.drop-zone.uploading,.drop-zone[aria-disabled=true]{cursor:wait;opacity:.7}.drop-zone-icon{opacity:.7}.drop-zone:hover .drop-zone-icon,.drop-zone:focus-visible .drop-zone-icon,.drop-zone.drag-over .drop-zone-icon{opacity:1}.drop-zone-headline{letter-spacing:-.01em;font-size:.9375rem;font-weight:600}.drop-zone-sub{color:var(--muted);font-size:.75rem;font-style:italic}.drop-zone:hover .drop-zone-sub,.drop-zone:focus-visible .drop-zone-sub,.drop-zone.drag-over .drop-zone-sub{color:var(--teal);font-style:normal}.drop-zone.compact{gap:4px;margin-top:8px;padding:16px 12px}.drop-zone.compact .drop-zone-headline{font-size:.875rem}.drop-zone.compact .drop-zone-sub{font-size:.6875rem}
html,body{max-width:100vw;overflow-x:hidden}html{min-height:100%;font-size:clamp(16px,14px + .15vw,22px)}body{min-height:100vh;color:var(--ink);background:radial-gradient(1200px 700px at 80% -10%,#f0d9c9 0%,transparent 60%),radial-gradient(900px 600px at 10% 10%,#dce7e1 0%,transparent 55%),var(--sand);font-family:var(--font-sans);letter-spacing:.2px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none}@media (max-width:1024px){.table-wrapper,.orders-table-container,.packing-table-container,.roles-table-container,.products-table-container,.prices-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto!important}.table,.projects-table,.orders-table,.packing-table,.users-table,.estimations-table,.estimation-table,.esd-table,.prices-table,.roles-table,.data-table,.products-table{width:max-content;min-width:800px}}@media (max-width:768px){.table,.projects-table,.orders-table,.packing-table,.users-table,.estimations-table,.estimation-table,.esd-table,.prices-table,.roles-table,.data-table,.products-table{min-width:700px}}tr.unread-row>td:first-child{padding-left:28px;position:relative}tr.unread-row>td:first-child:before{content:"";background:var(--clay);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}tr.unread-row .unread-primary{color:var(--ink);font-weight:600}
