:root{--primary: #4178B4;--primary-light: #5a94d4;--primary-bg: #eef4fb;--accent: #c0392b;--success: #27ae60;--warning: #f39c12;--text: #2c3e50;--text-light: #7f8c8d;--border: #dce1e6;--bg: #ffffff;--bg-alt: #f8f9fa;--radius: 6px;--shadow: 0 1px 3px rgba(0,0,0,.1);--shadow-lg: 0 4px 12px rgba(0,0,0,.1);--max-width: 860px;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--bg-alt);line-height:1.6;min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px #4a80c033}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary);color:#fff;padding:.5rem 1rem;z-index:100;font-size:.85rem}.skip-link:focus{top:0}.site-header{background:var(--primary);color:#fff;box-shadow:var(--shadow);position:sticky;top:0;z-index:50}.site-header a{color:#fff}.header-main{display:flex;justify-content:space-between;align-items:center;padding:.75rem 2rem;gap:1rem}.header-left{flex-shrink:0}.header-title{font-size:1.3rem;font-weight:600;margin:0}.header-nav{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.nav-link{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.35rem .75rem;border-radius:var(--radius);cursor:pointer;font-size:.85rem;line-height:1.2;display:inline-block;transition:background var(--transition);text-decoration:none}.nav-link:hover{background:#ffffff40;text-decoration:none}.nav-link.active{background:#ffffff4d;font-weight:600}.nav-btn{font-family:inherit}.nav-spacer{flex-grow:1}.admin-sub-nav{display:flex;gap:.25rem;padding:.4rem 2rem;background:#00000026}.admin-sub-nav-link{color:#ffffffb3;padding:.3rem .75rem;border-radius:var(--radius);font-size:.85rem;transition:background .2s,color .2s;text-decoration:none}.admin-sub-nav-link:hover{background:#ffffff1a;color:#fff;text-decoration:none}.admin-sub-nav-link.active{background:#fff3;color:#fff}.lang-toggle{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.35rem .75rem;border-radius:var(--radius);cursor:pointer;font-size:.85rem;line-height:1.2;display:inline-block;transition:background var(--transition)}.lang-toggle:hover{background:#ffffff40}#notification-bell-slot{display:inline-flex;align-items:center}.notification-bell-btn{position:relative}.notification-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:8px;padding:0 4px}.notification-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;width:340px;max-height:420px;background:#fff;border-radius:var(--radius);box-shadow:0 4px 24px #0000002e;z-index:100;overflow:hidden;color:var(--text)}.notification-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.9rem}.notification-mark-read{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.8rem;padding:0}.notification-mark-read:hover{text-decoration:underline}.notification-list{max-height:360px;overflow-y:auto}.notification-empty{padding:2rem 1rem;text-align:center;color:var(--text-light);font-size:.85rem}.notification-item{display:flex;gap:.6rem;padding:.65rem 1rem;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text);transition:background .15s}.notification-item:hover{background:var(--bg-alt);text-decoration:none}.notification-unread{background:#eff6ff}.notification-icon{font-size:1.1rem;flex-shrink:0;margin-top:2px}.notification-content{flex:1;min-width:0}.notification-title{font-size:.85rem;font-weight:600;line-height:1.3}.notification-message{font-size:.8rem;color:var(--text-light);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-time{font-size:.75rem;color:var(--text-light);margin-top:2px}[x-cloak]{display:none!important}.container{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem}.container-wide{max-width:1100px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow);transition:box-shadow var(--transition),transform var(--transition);display:flex;flex-direction:column}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card h3{color:var(--primary);margin-bottom:.5rem;font-size:1.15rem}.card p{color:var(--text-light);font-size:.9rem;flex:1;margin-bottom:1rem}.card .btn{align-self:flex-start}.btn{display:inline-block;padding:.6rem 1.25rem;border-radius:var(--radius);font-size:.9rem;font-weight:500;border:none;cursor:pointer;transition:background var(--transition),opacity var(--transition);text-align:center}.btn:hover{text-decoration:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{opacity:.9}.btn-danger{background:var(--accent);color:#fff}.btn-danger:hover{opacity:.9}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-outline:hover{background:var(--bg-alt)}.btn:disabled{opacity:.5;cursor:not-allowed}.form-section{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;margin-bottom:1.5rem;box-shadow:var(--shadow)}.form-section h2{color:var(--primary);font-size:1.1rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--primary-bg)}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-weight:500;margin-bottom:.35rem;font-size:.9rem}.form-group .field-description{color:var(--text-light);font-size:.8rem;margin-bottom:.35rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=url],.form-group input[type=date],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition);background:var(--bg)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a4f7a1a}.form-group textarea{resize:vertical;min-height:80px}.form-group .char-count,.form-group .word-count{text-align:right;font-size:.75rem;color:var(--text-light);margin-top:.25rem}.form-group .char-count.over,.form-group .word-count.over{color:var(--accent);font-weight:600}.radio-group{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.radio-option{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background var(--transition),border-color var(--transition)}.radio-option:hover{background:var(--primary-bg);border-color:var(--primary-light)}.radio-option input{margin-top:.15rem}.radio-option.selected{background:var(--primary-bg);border-color:var(--primary)}.multiselect{position:relative}.multiselect-trigger{display:flex;align-items:center;width:100%;padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;cursor:pointer;font:inherit;color:var(--text);text-align:left}.multiselect-trigger:hover{border-color:var(--primary-light)}.multiselect-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.25rem}.multiselect-tags:empty{display:none}.multiselect-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;background:var(--primary-bg);border:1px solid var(--primary);border-radius:3px;font-size:.82rem;color:var(--primary)}.multiselect-tag button{background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;color:var(--primary);padding:0}.multiselect-tag button:hover{color:var(--accent)}.multiselect-dropdown{position:absolute;top:100%;left:0;right:0;z-index:20;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;max-height:240px;overflow-y:auto;margin-top:2px}.multiselect-option{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;cursor:pointer;font-size:.9rem;transition:background .1s}.multiselect-option:hover{background:var(--primary-bg)}.multiselect-option.active{background:var(--primary-bg);font-weight:500}.multiselect-option input{margin:0}.form-group.has-error .multiselect-trigger{border-color:var(--accent)}.field-error{color:var(--accent);font-size:.8rem;margin-top:.25rem;display:none}.field-error.visible{display:block}.form-group.has-error>input,.form-group.has-error>div>input,.form-group.has-error>textarea,.form-group.has-error>div>textarea,.form-group.has-error>select{border-color:var(--accent)}.item-field.has-error input,.item-field.has-error textarea{border-color:var(--accent)}.form-group.has-error .radio-option{border-color:#e8c4c0}.required-mark{color:var(--accent);margin-left:.15rem}.field-tooltip{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;font-size:.65rem;font-weight:700;color:var(--primary);background:var(--primary-bg);border:1px solid var(--primary);border-radius:50%;margin-left:.3rem;cursor:help;vertical-align:middle;position:relative}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;position:sticky;bottom:0;background:var(--bg-alt);padding:1rem 1.5rem;margin-left:-1.5rem;margin-right:-1.5rem;z-index:10;border-top:1px solid var(--border)}.form-actions .btn-outline{background:transparent;border:none;color:var(--text-light);font-size:.9rem}.form-actions .btn-outline:hover{color:var(--text);background:transparent}.alert{padding:1rem 1.25rem;border-radius:var(--radius);margin-bottom:1.5rem;font-size:.9rem}.alert-info{background:var(--primary-bg);border:1px solid #b3d1e8;color:var(--primary)}.alert-success{background:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32}.alert-error{background:#fdecea;border:1px solid #f5c6cb;color:var(--accent)}.alert-warning{background:#fff8e1;border:1px solid #ffe082;color:#e65100}.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-loading{position:relative;pointer-events:none;opacity:.6}.success-card{text-align:center;padding:3rem 2rem}.success-card .icon{font-size:3rem;margin-bottom:1rem}.success-card h2{margin-bottom:.5rem}.admin-message{background:#fff3cd;border:1px solid #ffc107;border-left:4px solid #ffc107;padding:1rem 1.25rem;border-radius:var(--radius);margin-bottom:1.5rem}.admin-message strong{display:block;margin-bottom:.25rem}.order-table-wrap{overflow-x:auto;margin-top:.5rem}.order-table{width:100%;border-collapse:collapse;font-size:.85rem}.order-table th{background:var(--primary-bg);color:var(--primary);font-weight:600;padding:.6rem .5rem;text-align:left;white-space:nowrap;border-bottom:2px solid var(--border)}.order-table td{padding:.4rem .35rem;border-bottom:1px solid var(--border);vertical-align:top}.order-table input,.order-table textarea{width:100%;padding:.4rem;border:1px solid var(--border);border-radius:4px;font-size:.85rem;font-family:inherit}.order-table input:focus,.order-table textarea:focus{outline:none;border-color:var(--primary)}.order-table .computed{background:var(--bg-alt);font-weight:600;padding:.4rem;border-radius:4px;text-align:right}.order-table .row-actions{white-space:nowrap}.order-table .btn-remove-row{background:none;border:none;color:var(--accent);cursor:pointer;padding:.25rem;font-size:1.1rem}.order-table .btn-remove-row:hover{opacity:.7}.grand-total{text-align:right;font-size:1rem;font-weight:600;padding:.75rem 0;color:var(--primary)}.column-totals{display:flex;gap:2rem;justify-content:flex-end;padding:.75rem 0;font-size:.95rem;color:var(--primary);border-top:2px solid var(--border);margin-top:.25rem}.column-total-item strong{margin-left:.25rem}.item-card{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden}.item-card-header{display:flex;justify-content:space-between;align-items:center;background:var(--primary-bg);padding:.5rem .75rem;border-bottom:1px solid var(--border)}.item-card-number{font-weight:600;font-size:.85rem;color:var(--primary)}.item-card-header .btn-remove-row{background:none;border:none;color:var(--accent);cursor:pointer;font-size:1.2rem;padding:0 .25rem;line-height:1}.item-card-header .btn-remove-row:hover{opacity:.7}.item-card-header .btn-remove-row:disabled{opacity:.3;cursor:not-allowed}.item-card-body{padding:.75rem;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.item-field{display:flex;flex-direction:column;gap:.25rem}.item-field:not(.item-field-half){grid-column:1 / -1}.item-field label{font-size:.8rem;font-weight:600;color:var(--text-light)}.item-field .field-description{font-size:.7rem;color:var(--text-light);margin-bottom:.15rem}.item-field input,.item-field textarea{width:100%;padding:.45rem .5rem;border:1px solid var(--border);border-radius:4px;font-size:.9rem;font-family:inherit}.item-field input:focus,.item-field textarea:focus{outline:none;border-color:var(--primary)}.item-field .computed{background:var(--bg-alt);font-weight:600;padding:.45rem .5rem;border-radius:4px;text-align:right;font-size:.9rem}@media(max-width:600px){.item-card-body{grid-template-columns:1fr}.item-field-half{grid-column:auto}}.supplier-group-header{background:var(--primary-bg);border:2px solid var(--primary);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;padding:.75rem 1rem;margin-top:1.5rem}.supplier-group-header.supplier-group-first{margin-top:0}.supplier-group-field label{font-size:.85rem;font-weight:600;color:var(--primary);display:block;margin-bottom:.25rem}.supplier-group-field input{width:100%;padding:.5rem .6rem;border:1px solid var(--border);border-radius:4px;font-size:.9rem;font-family:inherit}.supplier-group-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a4f7a1a}.supplier-group-field.has-error input{border-color:var(--accent)}.supplier-group-field .field-description{font-size:.75rem;color:var(--text-light);margin-bottom:.25rem}.item-card-grouped{border-top-left-radius:0;border-top-right-radius:0;border-top-color:var(--border)}.supplier-group-header+.item-card-grouped,.supplier-group-header+div>.item-card-grouped{border-top:1px solid var(--border)}.btn-add-item{margin-top:.5rem;margin-bottom:0;font-size:.8rem;padding:.3rem .6rem}.table-add-buttons{margin-top:1rem}.btn-add-row{margin-top:.75rem}.page-title{margin-bottom:.5rem;color:var(--primary)}.page-description{color:var(--text-light);margin-bottom:2rem;font-size:.95rem}.site-footer{text-align:center;padding:2rem;color:var(--text-light);font-size:.8rem}@media(max-width:640px){.header-main{flex-direction:column;gap:.5rem;text-align:center;padding:.75rem 1rem}.header-title{font-size:1.15rem}.header-nav{justify-content:center}.nav-spacer{display:none}.admin-sub-nav{padding:.4rem 1rem;flex-wrap:wrap;justify-content:center}.header-actions{flex-wrap:wrap;justify-content:center}.container{padding:1.25rem 1rem}.page-title{font-size:1.4rem}.form-section{padding:1.25rem}.form-actions{flex-direction:column;padding:.75rem 1rem;margin-left:-1rem;margin-right:-1rem}.form-actions .btn{width:100%}.detail-grid{grid-template-columns:1fr}.detail-grid dt{margin-top:.5rem}.detail-grid dt:first-child{margin-top:0}.column-totals{flex-direction:column;gap:.5rem}}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table-wrap table{min-width:600px}.detail-grid{display:grid;grid-template-columns:180px 1fr;gap:.5rem 1rem;font-size:.9rem}.detail-grid dt{font-weight:600;color:var(--text-light)}.detail-grid dd{margin:0;word-break:break-word}
