*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f1f5f9;color:#1e293b;min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.header{background:#1e3a5f;color:#fff;padding:0 24px;height:60px;display:flex;align-items:center;box-shadow:0 2px 8px #0003;position:sticky;top:0;z-index:100}.header-content{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1400px;margin:0 auto}.header-title{font-size:1.1rem;font-weight:600;letter-spacing:.01em}.nav{display:flex;gap:6px}.nav-btn{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fffc;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .15s}.nav-btn:hover{background:#ffffff1a;color:#fff}.nav-btn.active{background:#fff3;color:#fff;border-color:#fff9}.main{flex:1;padding:24px;max-width:1400px;margin:0 auto;width:100%}.board-container{display:flex;flex-direction:column;gap:16px;height:100%}.board-toolbar{display:flex;justify-content:flex-end}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}.column{background:#e2e8f0;border-radius:10px;overflow:hidden;min-height:120px}.column-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:4px solid #ccc;background:#e2e8f0}.column-title{font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:#475569}.column-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}.column-body{padding:8px;display:flex;flex-direction:column;gap:8px;min-height:80px;transition:background .15s}.column-body.drag-over{background:#cbd5e1}.empty-column{text-align:center;color:#94a3b8;font-size:.8rem;padding:24px 0}.card{background:#fff;border-radius:8px;padding:12px;box-shadow:0 1px 3px #00000014;cursor:grab;transition:box-shadow .15s,transform .15s;-webkit-user-select:none;user-select:none}.card:hover{box-shadow:0 4px 12px #0000001f}.card.dragging{box-shadow:0 8px 24px #0000002e;cursor:grabbing;transform:rotate(1deg)}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.card-item{font-weight:600;font-size:.95rem;color:#0f172a;line-height:1.3;flex:1}.card-delete{background:none;border:none;color:#94a3b8;font-size:1.2rem;cursor:pointer;line-height:1;padding:0 2px;border-radius:4px;flex-shrink:0;transition:color .15s}.card-delete:hover{color:#ef4444}.card-label{font-weight:700;font-size:.82rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em;flex:1}.card-items{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.card-item-row{display:flex;align-items:baseline;gap:5px;font-size:.9rem}.card-item-bullet{color:#94a3b8;flex-shrink:0}.card-item-name{color:#0f172a;font-weight:500;flex:1}.card-item-qty{color:#64748b;font-size:.78rem;background:#f1f5f9;padding:1px 6px;border-radius:10px;flex-shrink:0}.card-fields{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.card-field{display:flex;gap:6px;font-size:.8rem}.field-label{color:#94a3b8;min-width:70px;flex-shrink:0}.field-value{color:#475569;font-weight:500}.card-image-wrap{position:relative;margin:6px 0 10px;border-radius:6px;overflow:hidden;cursor:pointer;max-height:160px}.card-image{width:100%;max-height:160px;object-fit:cover;display:block;border-radius:6px;transition:filter .2s}.card-image-wrap:hover .card-image{filter:brightness(.85)}.card-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;font-weight:600;opacity:0;transition:opacity .2s}.card-image-wrap:hover .card-image-overlay{opacity:1}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:300;padding:24px}.lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px;box-shadow:0 24px 60px #00000080}.lightbox-close{position:absolute;top:20px;right:24px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;line-height:1;opacity:.8}.lightbox-close:hover{opacity:1}.card-actions{display:flex;align-items:center;gap:6px}.btn-photo{background:none;border:1px solid #e2e8f0;border-radius:5px;padding:3px 7px;font-size:.85rem;cursor:pointer;transition:background .15s;line-height:1.4}.btn-photo:hover{background:#f1f5f9}.btn-photo:disabled{opacity:.5;cursor:not-allowed}.modal-wide{max-width:560px}.items-list{display:flex;flex-direction:column;gap:6px}.item-row{display:flex;gap:6px;align-items:center}.item-name-input{flex:1;border:1px solid #e2e8f0;border-radius:7px;padding:8px 10px;font-size:.875rem;outline:none;transition:border-color .15s}.item-name-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.item-qty-input{width:72px;border:1px solid #e2e8f0;border-radius:7px;padding:8px;font-size:.875rem;outline:none;text-align:center;transition:border-color .15s}.item-qty-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.item-remove{background:none;border:1px solid #fca5a5;color:#ef4444;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;flex-shrink:0;transition:background .15s}.item-remove:hover{background:#fef2f2}.btn-add-item{background:none;border:1px dashed #cbd5e1;color:#64748b;border-radius:7px;padding:7px 12px;font-size:.8rem;cursor:pointer;transition:all .15s;text-align:left}.btn-add-item:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}.history-item-row{display:flex;align-items:center;gap:8px;padding:1px 0}.history-item-qty{font-size:.75rem;color:#64748b;background:#f1f5f9;padding:1px 6px;border-radius:10px}.image-upload-area{border:2px dashed #cbd5e1;border-radius:8px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;color:#64748b;font-size:.875rem;transition:border-color .15s,background .15s}.image-upload-area:hover{border-color:#2563eb;background:#eff6ff}.upload-icon{font-size:1.5rem}.upload-hint{font-size:.75rem;color:#94a3b8}.image-preview-wrap{display:flex;flex-direction:column;gap:8px}.image-preview{width:100%;max-height:200px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0}.image-remove{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;padding:5px 12px;cursor:pointer;font-size:.8rem;align-self:flex-start}.image-remove:hover{background:#fee2e2}.card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f1f5f9;padding-top:8px}.card-date{font-size:.75rem;color:#94a3b8}.btn-primary{background:#2563eb;color:#fff;border:none;padding:8px 18px;border-radius:7px;cursor:pointer;font-size:.875rem;font-weight:600;transition:background .15s}.btn-primary:hover{background:#1d4ed8}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.btn-secondary{background:#fff;color:#475569;border:1px solid #cbd5e1;padding:8px 18px;border-radius:7px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .15s}.btn-secondary:hover{background:#f8fafc}.btn-complete{background:#dcfce7;color:#16a34a;border:1px solid #bbf7d0;padding:4px 10px;border-radius:5px;cursor:pointer;font-size:.75rem;font-weight:600;transition:background .15s}.btn-complete:hover{background:#bbf7d0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.modal{background:#fff;border-radius:12px;width:100%;max-width:480px;box-shadow:0 20px 60px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-header h2{font-size:1.1rem;font-weight:700;color:#0f172a}.modal-close{background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#475569}.modal form{padding:20px 24px 24px;display:flex;flex-direction:column;gap:14px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:.8rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.04em}.form-group input{border:1px solid #e2e8f0;border-radius:7px;padding:9px 12px;font-size:.9rem;color:#1e293b;outline:none;transition:border-color .15s}.form-group input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.input-disabled{background:#f8fafc;color:#94a3b8!important}.form-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;padding:8px 12px;font-size:.85rem}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.history-container{display:flex;flex-direction:column;gap:20px}.history-title{font-size:1.2rem;font-weight:700;color:#0f172a}.filter-bar{background:#fff;border-radius:10px;padding:16px 20px;display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;box-shadow:0 1px 3px #0000000f}.filter-group{display:flex;flex-direction:column;gap:5px;flex:1;min-width:160px}.filter-group label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.filter-group input{border:1px solid #e2e8f0;border-radius:7px;padding:8px 12px;font-size:.875rem;outline:none;transition:border-color .15s}.filter-group input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.filter-actions{display:flex;gap:8px;align-items:flex-end;padding-bottom:1px}.history-groups{display:flex;flex-direction:column;gap:20px}.history-group{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.history-date-label{font-size:.8rem;font-weight:700;color:#475569;text-transform:capitalize;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.table-wrap{overflow-x:auto}.history-table{width:100%;border-collapse:collapse;font-size:.875rem}.history-table th{text-align:left;padding:10px 16px;color:#64748b;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0}.history-table td{padding:10px 16px;color:#334155;border-bottom:1px solid #f1f5f9}.history-table tbody tr:last-child td{border-bottom:none}.history-table tbody tr:hover td{background:#f8fafc}.loading,.empty-history{text-align:center;color:#94a3b8;padding:60px 0;font-size:.9rem}@media (max-width: 900px){.board{grid-template-columns:1fr}.main{padding:16px}}
