:root{--radius:.375rem;--background:oklch(96.9% .012 68);--foreground:oklch(22% .018 24);--card:oklch(99.5% .004 75);--muted:oklch(94% .012 68);--muted-foreground:oklch(49% .026 30);--border:oklch(84% .025 63);--wine:oklch(40.7% .143 12.5);--wine-deep:oklch(33% .125 12.5);--champagne:oklch(72% .075 78);--primary-foreground:oklch(99% .004 75);--ok:oklch(55% .13 150);--warn:oklch(62% .15 55);--font-sans:"Manrope", "Noto Sans Georgian", system-ui, sans-serif;--font-display:"Cormorant Garamond", "Noto Serif Georgian", Georgia, serif;--field-bg:oklch(100% 0 0);--field-border:color-mix(in oklab, var(--border) 78%, transparent);--field-border-hover:color-mix(in oklab, var(--wine) 34%, var(--border));--field-ring:color-mix(in oklab, var(--wine) 14%, transparent);--field-h:2.35rem}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:.875rem}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--wine)}.field,.controls input[type=search],.controls select,.dialog header input[type=search],.login input,.row input{width:100%;height:var(--field-h);border:1px solid var(--field-border);border-radius:var(--radius);background:var(--field-bg);color:var(--foreground);appearance:none;padding:0 .6rem;transition:border-color .15s,box-shadow .15s,background .15s}.controls input[type=search]:hover,.controls select:hover,.dialog header input[type=search]:hover,.login input:hover,.row input:hover{border-color:var(--field-border-hover)}.controls input[type=search]:focus-visible,.controls select:focus-visible,.dialog header input[type=search]:focus-visible,.login input:focus,.row input:focus{border-color:var(--wine);box-shadow:0 0 0 3px var(--field-ring);outline:none}::placeholder{color:color-mix(in oklab, var(--muted-foreground) 72%, transparent)}.controls input[type=search],.dialog header input[type=search]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a6a63' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");background-position:.6rem;background-repeat:no-repeat;background-size:1.05rem;padding-left:2.1rem}input[type=search]::-webkit-search-cancel-button{cursor:pointer}.controls select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a6a63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;background-size:1.05rem;padding-right:2.1rem}input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--wine);cursor:pointer}.topbar{z-index:20;border-bottom:1px solid var(--border);background:color-mix(in oklab, var(--background) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);color:var(--wine);letter-spacing:.01em;font-size:1.4rem;font-weight:600}.tabs{gap:.3rem;display:flex}.tab{border:1px solid var(--field-border);background:var(--card);cursor:pointer;border-radius:999px;padding:.4rem .9rem;transition:background .15s,color .15s,border-color .15s}.tab:hover{border-color:var(--field-border-hover)}.tab.active{background:var(--wine);border-color:var(--wine);color:var(--primary-foreground)}.spacer{flex:auto}.page{max-width:84rem;margin:0 auto;padding:1.25rem}.stats{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.stat{border:1px solid var(--field-border);border-radius:var(--radius);background:var(--card);flex:10rem;padding:.7rem .85rem}.stat b{font-size:1.5rem;font-family:var(--font-display);color:var(--wine);line-height:1.1;display:block}.stat span{color:var(--muted-foreground);font-size:.78rem}.controls{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.controls input[type=search]{flex:14rem;min-width:0}.controls select{width:auto;min-width:11rem}.chk{color:var(--muted-foreground);height:var(--field-h);border:1px solid var(--field-border);border-radius:var(--radius);background:var(--card);cursor:pointer;white-space:nowrap;align-items:center;gap:.45rem;padding:0 .75rem;transition:border-color .15s;display:inline-flex}.chk:hover{border-color:var(--field-border-hover)}.chk:has(input:checked){border-color:var(--wine);color:var(--wine)}.section-head{font-family:var(--font-display);color:var(--wine);align-items:baseline;gap:.6rem;margin:1.4rem 0 .5rem;font-size:1.5rem;display:flex}.section-head small{font-family:var(--font-sans);color:var(--muted-foreground);font-size:.75rem}.rows{border:1px solid var(--field-border);border-radius:var(--radius);background:var(--card);overflow:hidden}.row{border-bottom:1px solid color-mix(in oklab, var(--border) 45%, transparent);grid-template-columns:3.4rem minmax(0,1.35fr) minmax(0,1.35fr) 7.5rem auto;align-items:center;gap:.5rem;padding:.45rem .6rem;transition:background .15s;display:grid}.row:last-child{border-bottom:0}.row:hover{background:color-mix(in oklab, var(--muted) 40%, transparent)}.row.dirty{background:color-mix(in oklab, var(--champagne) 14%, transparent);box-shadow:inset 3px 0 0 var(--champagne)}.row input{height:2.1rem}.row .price input{text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.01em}.thumb{border-radius:calc(var(--radius) * .8);border:1px solid var(--field-border);background:var(--muted);object-fit:cover;cursor:pointer;width:3.3rem;height:3.3rem;padding:0;transition:border-color .15s,transform .15s;display:block}.thumb:hover{border-color:var(--wine);transform:scale(1.04)}.thumb.empty{color:var(--muted-foreground);text-align:center;border-style:dashed;place-items:center;font-size:.62rem;line-height:1.15;display:grid}.btn{border:1px solid var(--field-border);border-radius:var(--radius);background:var(--card);height:var(--field-h);cursor:pointer;white-space:nowrap;padding:0 .8rem;transition:background .15s,border-color .15s}.btn:hover{background:var(--muted);border-color:var(--field-border-hover)}.btn:focus-visible{border-color:var(--wine);box-shadow:0 0 0 3px var(--field-ring);outline:none}.btn.primary{background:var(--wine);border-color:var(--wine);color:var(--primary-foreground);font-weight:600}.btn.primary:hover{background:var(--wine-deep);border-color:var(--wine-deep)}.btn.primary:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{color:var(--muted-foreground);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--muted);color:var(--foreground)}.btn.sm{height:2.1rem;padding:0 .65rem;font-size:.8rem}.grid{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.7rem;display:grid}.card{border:1px solid var(--field-border);border-radius:var(--radius);background:var(--card);transition:border-color .15s,box-shadow .15s;overflow:hidden}.card:hover{border-color:var(--field-border-hover);box-shadow:0 2px 10px color-mix(in oklab, var(--wine-deep) 10%, transparent)}.card img{aspect-ratio:3/4;object-fit:cover;background:var(--muted);width:100%;display:block}.card .meta{padding:.4rem .5rem;font-size:.7rem}.card .meta b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.card .meta span{color:var(--muted-foreground)}.badge{border-radius:999px;padding:.05rem .45rem;font-size:.65rem;font-weight:600;display:inline-block}.badge.used{background:color-mix(in oklab, var(--ok) 20%, transparent);color:var(--ok)}.badge.free{background:color-mix(in oklab, var(--warn) 22%, transparent);color:var(--warn)}.overlay{z-index:50;background:oklch(17% .045 15/.6);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{background:var(--background);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;width:min(64rem,100%);max-height:88vh;display:flex;overflow:hidden;box-shadow:0 18px 50px oklch(17% .045 15/.3)}.dialog header{border-bottom:1px solid var(--border);background:var(--card);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.8rem 1rem;display:flex}.dialog header h2{font-family:var(--font-display);color:var(--wine);margin:0;font-size:1.2rem}.dialog header input[type=search]{flex:12rem;width:auto;min-width:0}.dialog .body{padding:1rem;overflow:auto}.pick{border-radius:calc(var(--radius) + 2px);cursor:pointer;background:0 0;border:2px solid #0000;width:100%;padding:0;transition:border-color .15s;display:block}.pick:hover{border-color:var(--field-border-hover)}.pick:focus-visible{border-color:var(--wine);box-shadow:0 0 0 3px var(--field-ring);outline:none}.pick.selected{border-color:var(--wine)}.login{place-items:center;min-height:100vh;padding:1rem;display:grid}.login form{border:1px solid var(--field-border);border-radius:calc(var(--radius) * 2);background:var(--card);width:min(22rem,100%);box-shadow:0 10px 34px color-mix(in oklab, var(--wine-deep) 9%, transparent);gap:.6rem;padding:1.75rem;display:grid}.login h1{font-family:var(--font-display);color:var(--wine);margin:0 0 .2rem;font-size:1.9rem;line-height:1}.login .btn{margin-top:.2rem}.err{color:var(--wine);background:color-mix(in oklab, var(--wine) 10%, transparent);border:1px solid color-mix(in oklab, var(--wine) 25%, transparent);border-radius:var(--radius);padding:.5rem .7rem}.muted{color:var(--muted-foreground)}.savebar{z-index:10;border-top:1px solid var(--border);background:color-mix(in oklab, var(--background) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -6px 20px color-mix(in oklab, var(--wine-deep) 8%, transparent);align-items:center;gap:.6rem;padding:.7rem 1rem;display:flex;position:sticky;bottom:0}@media (width<=720px){.row{grid-template-columns:3rem 1fr auto;row-gap:.35rem}.row .ka{grid-column:2/-1}.row .price{grid-column:2/3}.controls select,.chk{width:100%}}
