:root{--negro: #1c1a16;--mostaza: #c9a227;--rojo: #b1362a;--paper: #fbfaf7;--paper-muted: #f3f1eb;--line: rgba(28, 26, 22, .12);--line-strong: rgba(28, 26, 22, .22);--text: #1c1a16;--text-muted: rgba(28, 26, 22, .62);--surface: #ffffff;--radius: 8px;--radius-sm: 4px;--shadow: 0 12px 40px rgba(28, 26, 22, .14);font-family:Sora,system-ui,sans-serif;line-height:1.5;color:var(--text);background:var(--paper);letter-spacing:-.01em;-webkit-font-smoothing:antialiased}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:var(--paper)}.layout{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.5rem;background:var(--negro);color:var(--paper);border-bottom:2px solid var(--mostaza)}.logo{font-weight:700;font-size:1.15rem;letter-spacing:-.02em;color:var(--paper);white-space:nowrap}.logo-mark{color:var(--mostaza);margin-right:.15rem}.header nav a,.header-nav a{color:#fbfaf7c7;text-decoration:none;margin-left:.85rem;font-size:.85rem;font-weight:500;transition:color .15s ease}.header-nav a:hover{color:var(--paper)}.header-nav{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem;justify-content:flex-end}.btn-header-logout{margin-left:.85rem;padding:.35rem .85rem;border:1px solid rgba(251,250,247,.35);border-radius:var(--radius-sm);background:transparent;color:var(--paper);cursor:pointer;font:inherit;font-size:.85rem;font-weight:500}.btn-header-logout:hover:not(:disabled){border-color:var(--mostaza);color:var(--mostaza)}.btn-header-logout:disabled{opacity:.7;cursor:default}.main{padding:1.75rem 1.5rem 2.5rem;max-width:1280px;width:100%;margin:0 auto;flex:1}.dashboard h1,.page-header h1,.wines-page h1{margin-bottom:.35rem;font-size:1.65rem;font-weight:600;letter-spacing:-.02em}.dashboard p{margin-bottom:.5rem;color:var(--text-muted)}.dashboard a{color:var(--negro);text-decoration-color:var(--mostaza)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(ellipse at top,rgba(201,162,39,.12),transparent 55%),var(--negro)}.login-card{background:var(--paper);padding:2rem 1.75rem;border-radius:var(--radius);width:100%;max-width:400px;display:flex;flex-direction:column;gap:.9rem;box-shadow:var(--shadow);border-top:3px solid var(--mostaza)}.login-card h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.login-card h1:after{content:"";display:block;width:2.5rem;height:3px;margin-top:.55rem;background:var(--mostaza)}.login-card label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:500}.login-card input{padding:.55rem .7rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);font:inherit;color:var(--text)}.login-card input:focus{outline:2px solid rgba(201,162,39,.45);outline-offset:1px;border-color:var(--mostaza)}.login-card button,.btn-primary{padding:.65rem 1.1rem;background:var(--negro);color:var(--paper);border:none;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-weight:600;font-size:.9rem}.login-card button:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:#2a2721}.login-card button:disabled,.btn-primary:disabled{opacity:.55;cursor:not-allowed}.muted{color:var(--text-muted);font-size:.9rem}.error{color:var(--rojo);font-size:.9rem}.page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.filters{display:flex;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}.filters input,.filters select{padding:.45rem .65rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);font:inherit;font-size:.9rem;color:var(--text)}.data-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.data-table th,.data-table td{padding:.7rem .9rem;border-bottom:1px solid var(--line);text-align:left;font-size:.9rem;vertical-align:middle}.data-table th{background:var(--paper-muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.data-table tbody tr:hover{background:#c9a2270f}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em}.badge-approved,.badge-completed,.badge-active{background:#c9a2272e;color:#6b5610}.badge-cancelled,.badge-suspended,.badge-pending_verification{background:#b1362a1f;color:var(--rojo)}.badge-pending{background:var(--paper-muted);color:var(--text-muted);border:1px solid var(--line-strong)}.badge-rejected{background:#b1362a1f;color:var(--rojo)}.badge-retouch-none{background:var(--paper-muted);color:var(--text-muted);border:1px solid var(--line)}.badge-retouch-pending{background:#c9a22733;color:#6b5610}.badge-retouch-done{background:#3c785026;color:#2d5a3d}.retouch-modal-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.85rem;color:var(--text-muted)}.wine-thumb{width:44px;height:44px;object-fit:contain;border-radius:var(--radius-sm);background:var(--paper-muted)}.wine-thumb-wrap{position:relative;display:inline-block}.wine-thumb-badge{position:absolute;bottom:0;left:0;right:0;font-size:.5rem;text-align:center;background:#1c1a16b8;color:var(--paper);line-height:1.2;padding:1px 0;font-weight:500}.wine-image-field{display:grid;grid-template-columns:auto 1fr;gap:.75rem 1rem;align-items:start;padding:.75rem;background:var(--paper-muted);border:1px solid var(--line);border-radius:var(--radius)}.wine-image-field-label{grid-column:1 / -1;font-weight:600;font-size:.85rem}.wine-image-preview{width:72px;height:96px;object-fit:contain;background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--line)}.wine-image-controls{display:flex;flex-direction:column;gap:.45rem;min-width:0}.wine-file-label{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;font-weight:500;color:var(--text-muted)}.wine-file-label input[type=file]{font-size:.8rem}.actions-cell{display:flex;gap:.4rem;flex-wrap:wrap}.field-hint{font-size:.75rem;color:var(--text-muted);font-weight:400}.btn-danger{background:var(--rojo)!important;color:var(--paper)!important;border:none!important}.btn-small{padding:.3rem .7rem;background:var(--negro);color:var(--paper);border:none;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:.8rem;font-weight:500}.btn-small:hover{background:#2a2721}.pagination{display:flex;align-items:center;gap:1rem;margin-top:1rem;font-size:.9rem;color:var(--text-muted)}.pagination button{padding:.4rem .8rem;border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:.85rem;color:var(--text)}.pagination button:hover:not(:disabled){border-color:var(--mostaza)}.pagination button:disabled{opacity:.45;cursor:not-allowed}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1a168c;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;overflow-y:auto}.modal{background:var(--paper);border-radius:var(--radius);width:100%;max-width:560px;max-height:min(90vh,760px);display:flex;flex-direction:column;box-shadow:var(--shadow);border-top:3px solid var(--mostaza);overflow:hidden}.modal h2{font-size:1.15rem;font-weight:600;letter-spacing:-.02em;padding:1rem 1.25rem .75rem;flex-shrink:0;border-bottom:1px solid var(--line)}.logo-sub{margin-left:.45rem;font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#fbfaf78c;vertical-align:middle}.modal-form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.modal-form-body{display:grid;grid-template-columns:1fr 1fr;gap:.65rem .85rem;padding:1rem 1.25rem;overflow-y:auto;flex:1;min-height:0;align-content:start}.modal-form-body>label:first-of-type,.modal-form-body .form-span-2,.modal-form-body .wine-image-field{grid-column:1 / -1}.modal form.form-grid,.modal>.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem .85rem;padding:1rem 1.25rem;overflow-y:auto;flex:1;min-height:0;align-content:start}.modal form.form-grid>label:first-of-type,.modal .form-span-2,.wine-image-field,.modal-actions{grid-column:1 / -1}.form-grid label,.modal-form-body label{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;font-weight:500;color:var(--text-muted)}.form-grid input,.form-grid select,.form-grid textarea,.modal-form-body input,.modal-form-body select,.modal-form-body textarea{padding:.45rem .55rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:inherit;font-size:.9rem;font-weight:400;color:var(--text);background:var(--surface)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.modal-form-body input:focus,.modal-form-body select:focus,.modal-form-body textarea:focus{outline:2px solid rgba(201,162,39,.4);outline-offset:1px;border-color:var(--mostaza)}.form-grid textarea,.modal-form-body textarea{resize:vertical;min-height:3.5rem}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;align-items:center;margin:0;padding:.85rem 1.25rem;border-top:1px solid var(--line);background:var(--paper);position:sticky;bottom:0;flex-shrink:0;z-index:2}.modal-actions button{padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;font-size:.875rem;font-weight:500}.modal-actions button:hover{border-color:var(--negro)}.modal-actions .btn-primary{background:var(--negro);color:var(--paper);border:none;min-width:6.5rem}.modal-actions .btn-primary:hover:not(:disabled){background:#2a2721}@media(max-width:560px){.modal-form-body,.modal form.form-grid,.modal>.form-grid{grid-template-columns:1fr}.wine-image-field{grid-template-columns:1fr}.header{flex-direction:column;align-items:flex-start}.header-nav{justify-content:flex-start}.header-nav a{margin-left:0;margin-right:.75rem}}
