:root{--text:#a1a1aa;--text-h:#f4f4f5;--text-muted:#71717a;--bg:#0c0d14;--surface:#14151f;--surface-raised:#1c1d2a;--border:#27283a;--accent:#a855f7;--accent-bg:#a855f71f;--accent-border:#a855f766;--shadow:#00000073 0 12px 28px -8px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--radius-sm:6px;--radius-md:12px;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}*,:before,:after{box-sizing:border-box}body{min-height:100svh;margin:0}#root{min-height:100svh}h1,h2,h3{font-family:var(--heading);color:var(--text-h);font-weight:500}p{margin:0}img{max-width:100%}code{font-family:var(--mono)}.site-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#0c0d14d9;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem clamp(1.25rem,4vw,2.5rem);display:flex;position:sticky;top:0}.site-header__brand{color:var(--text-h);letter-spacing:-.02em;font-size:1.35rem;font-weight:600;text-decoration:none}.site-header__brand span{color:var(--accent)}.site-header__nav{align-items:center;gap:.5rem;display:flex}.site-header__link{color:var(--text);border-radius:var(--radius-sm);padding:.5rem .85rem;font-size:.95rem;text-decoration:none;transition:color .2s,background .2s}.site-header__link:hover,.site-header__link--active{color:var(--text-h);background:var(--accent-bg)}.site-footer{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding:2rem clamp(1.25rem,4vw,2.5rem);font-size:.9rem;display:flex}.site-footer a{color:var(--accent);text-decoration:none}.site-footer a:hover{text-decoration:underline}.layout{flex-direction:column;min-height:100svh;display:flex}.layout__main{flex:1}.page{width:min(1200px,100%);margin:0 auto;padding:clamp(2rem,5vw,4rem) clamp(1.25rem,4vw,2.5rem)}.page__header{margin-bottom:2.5rem}.page__title{letter-spacing:-.03em;margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3rem)}.page__subtitle{color:var(--text-muted);max-width:52ch;margin:0;font-size:1.1rem;line-height:1.6}@media (width<=640px){.site-header{flex-direction:column;align-items:flex-start}.site-header__nav{width:100%}}.site-header__cart{align-items:center;gap:.4rem;display:inline-flex;position:relative}.site-header__cart-badge{color:#fff;background:var(--accent);border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;font-size:.7rem;font-weight:600;display:inline-flex}.add-to-cart--compact{width:100%;padding:.6rem 1rem;font-size:.9rem}.add-to-cart--added{background:#22c55e;border-color:#22c55e}.display-card__actions{padding:0 1.25rem 1.25rem}.display-card__link{color:inherit;flex-direction:column;flex:1;text-decoration:none;display:flex}.cart-page--empty{text-align:center}.cart-page--empty .page__subtitle{margin:0 auto 1.5rem}.cart-page__layout{grid-template-columns:1fr 360px;align-items:start;gap:2.5rem;display:grid}.cart-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.cart-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:80px 1fr auto;align-items:center;gap:1rem;padding:1rem;display:grid}.cart-item__image-link{border-radius:var(--radius-sm);display:block;overflow:hidden}.cart-item__image{object-fit:cover;width:80px;height:50px;display:block}.cart-item__title{color:var(--text-h);font-size:1rem;font-weight:500;text-decoration:none}.cart-item__title:hover{color:var(--accent)}.cart-item__meta{color:var(--text-muted);margin:.25rem 0 0;font-size:.85rem}.cart-item__actions{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.cart-item__price{color:var(--accent);font-weight:600}.cart-item__remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.85rem;text-decoration:underline}.cart-item__remove:hover{color:#f87171}.cart-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:1rem;padding:1.25rem}.cart-summary__row{color:var(--text-muted);justify-content:space-between;padding:.35rem 0;font-size:.95rem;display:flex}.cart-summary__row--total{color:var(--text-h);border-top:1px solid var(--border);margin-top:.5rem;padding-top:.75rem;font-size:1.15rem;font-weight:600}.cart-page__summary .payment-options{margin-top:0}@media (width<=900px){.cart-page__layout{grid-template-columns:1fr}.cart-item{grid-template-rows:auto auto;grid-template-columns:64px 1fr}.cart-item__actions{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center}}.hero{text-align:center;padding:clamp(2.5rem,6vw,5rem) 0 3rem}.hero__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:1rem;font-size:.85rem;display:inline-block}.hero__title{letter-spacing:-.03em;margin:0 0 1rem;font-size:clamp(2.25rem,6vw,3.75rem);line-height:1.1}.hero__text{color:var(--text-muted);max-width:58ch;margin:0 auto 2rem;font-size:clamp(1rem,2.5vw,1.2rem);line-height:1.65}.how-it-works{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3.5rem;display:grid}.how-it-works__step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;padding:1.5rem}.how-it-works__number{background:var(--accent-bg);width:2rem;height:2rem;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.75rem;font-size:.9rem;font-weight:600;display:inline-flex}.how-it-works__label{color:var(--text-h);margin:0 0 .35rem;font-size:1rem;font-weight:500}.how-it-works__desc{color:var(--text-muted);margin:0;font-size:.9rem}.display-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.display-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:inherit;flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;overflow:hidden}.display-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow);transform:translateY(-3px)}.display-card__link:hover .display-card__title{color:var(--accent)}.display-card__image-wrap{aspect-ratio:16/10;background:var(--surface-raised);overflow:hidden}.display-card__image{object-fit:cover;width:100%;height:100%;display:block}.display-card__body{flex-direction:column;flex:1;gap:.5rem;padding:1.25rem;display:flex}.display-card__meta{flex-wrap:wrap;gap:.4rem;display:flex}.display-card__title{color:var(--text-h);margin:0;font-size:1.15rem;font-weight:500}.display-card__creator{color:var(--text-muted);margin:0;font-size:.85rem}.display-card__footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:.75rem;display:flex}.display-card__price{color:var(--accent);font-size:1.1rem;font-weight:600}.display-card__count{color:var(--text-muted);font-size:.85rem}.badge{text-transform:capitalize;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:500;display:inline-block}.badge--muted{background:var(--surface-raised);color:var(--text-muted);border-color:var(--border)}.display-detail__header{margin-bottom:2rem}.display-detail__title{letter-spacing:-.02em;margin:0 0 .5rem;font-size:clamp(2rem,5vw,2.75rem)}.display-detail__creator{color:var(--accent);margin:0 0 1rem;font-size:.95rem}.display-detail__description{color:var(--text-muted);max-width:65ch;margin:0 0 1.25rem;font-size:1.05rem;line-height:1.65}.display-detail__meta{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.display-detail__price{color:var(--accent);margin:0 0 1.5rem;font-size:1.75rem;font-weight:600}.display-detail__purchase{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:1.5rem}.display-detail__purchase .add-to-cart{width:100%}.display-detail__layout{grid-template-columns:1fr 340px;align-items:start;gap:2.5rem;display:grid}.display-detail__tags{flex-wrap:wrap;gap:.4rem;margin-top:1.5rem;display:flex}.display-detail__tags span{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.25rem .6rem;font-size:.8rem}.not-found{text-align:center;padding:4rem 1rem}.not-found h1{margin-bottom:.75rem}.not-found p{color:var(--text-muted);margin-bottom:1.5rem}.device-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem}.device-preview__tabs{gap:.5rem;margin-bottom:1.25rem;display:flex}.device-preview__tab{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:0 0;flex:1;padding:.6rem 1rem;font-size:.9rem;transition:background .2s,border-color .2s,color .2s}.device-preview__tab:hover{border-color:var(--accent-border);color:var(--text-h)}.device-preview__tab--active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.device-preview__frame{background:var(--surface-raised);border-radius:var(--radius-sm);justify-content:center;align-items:center;min-height:320px;padding:1.5rem;display:flex}.device-preview__screen{border-radius:var(--radius-sm);border:2px solid var(--border);box-shadow:var(--shadow);overflow:hidden}.device-preview__screen--phone{aspect-ratio:9/16;width:140px}.device-preview__screen--tablet{aspect-ratio:4/3;width:240px}.device-preview__screen--desktop{aspect-ratio:16/9;width:100%;max-width:420px}.device-preview__image{object-fit:cover;width:100%;height:100%;display:block}.product-showcase{margin-bottom:3.5rem}.product-showcase__home{background:linear-gradient(#ff009500,#eafbff13);border-radius:1rem;margin:1.5rem 0;padding:1.5rem}@media (width<=900px){.how-it-works,.display-detail__layout{grid-template-columns:1fr}}.suggestion-form{max-width:560px}.suggestion-form__intro{color:var(--text-muted);margin-bottom:2rem;line-height:1.65}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-h);margin-bottom:.4rem;font-size:.9rem;font-weight:500;display:block}.form-group input,.form-group textarea{width:100%;color:var(--text-h);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-border);outline:none}.form-group textarea{resize:vertical;min-height:120px}.form-group--error input,.form-group--error textarea{border-color:#f87171}.form-error{color:#f87171;margin-top:.35rem;font-size:.85rem}.form-hint{color:var(--text-muted,var(--text));margin-top:.35rem;font-size:.8rem;line-height:1.4;display:block}.form-success{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius-md);text-align:center;padding:1.5rem}.form-success h2{color:var(--accent);margin:0 0 .5rem;font-size:1.25rem}.form-success p{color:var(--text-muted);margin:0}.btn{border-radius:var(--radius-sm);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:500;text-decoration:none;transition:background .2s,border-color .2s,opacity .2s;display:inline-flex}.btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn--primary:hover{opacity:.9}.btn--secondary{color:var(--text-h);border-color:var(--border);background:0 0}.btn--secondary:hover{border-color:var(--accent-border)}.btn--disabled{opacity:.5;cursor:not-allowed}.btn--disabled:hover{opacity:.5}.payment-options{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem}.payment-options__title{color:var(--text-h);margin:0 0 .35rem;font-size:1.1rem;font-weight:500}.payment-options__subtitle{color:var(--text-muted);margin:0 0 1rem;font-size:.9rem}.payment-options__items{border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 1.25rem;padding:0;list-style:none;overflow:hidden}.payment-options__items li{color:var(--text-muted);border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.6rem .85rem;font-size:.85rem;display:flex}.payment-options__items li:last-child{border-bottom:none}.payment-options__items li span:first-child{color:var(--text-h)}.payment-options__buttons{flex-direction:column;gap:.75rem;display:flex}.payment-options__btn,.payment-options__paypal{width:100%}.payment-options__email-hint{color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.4}.payment-options__paypal-buttons{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-raised);min-height:45px;padding:.65rem;overflow:hidden}.payment-options__paypal-buttons iframe{border-radius:var(--radius-sm)!important}.payment-options__paypal-buttons--disabled{opacity:.45;pointer-events:none}.payment-options__paypal a{color:var(--accent)}.payment-options__form{margin-bottom:.25rem}.payment-options__form .form-group{margin-bottom:1rem}.payment-options__note{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);margin-top:1rem;padding:.75rem 1rem;font-size:.8rem;line-height:1.5}.payment-options__note--error{color:#f87171;background:#f8717114;border-color:#f8717159}.payment-options__note code{font-family:var(--mono);color:var(--accent);font-size:.78rem}.order-success{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;max-width:560px;margin:0 auto;padding:1.5rem}.order-success__badge{color:#4ade80;background:#4ade8026;border-radius:999px;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:1rem;font-size:1.35rem;font-weight:600;display:inline-flex}.order-success__title{color:var(--text-h);margin:0 0 .5rem;font-size:1.5rem}.order-success__lead{color:var(--text-muted);margin:0 0 1.25rem;line-height:1.5}.order-success__status{text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 1.25rem;padding:0;list-style:none;overflow:hidden}.order-success__status-item{color:var(--text);border-bottom:1px solid var(--border);background:var(--surface-raised);padding:.75rem 1rem;font-size:.9rem;line-height:1.45}.order-success__status-item:last-child{border-bottom:none}.order-success__status-item--ok strong{color:#4ade80}.order-success__status-item--warn strong{color:#fbbf24}.order-success__meta{color:var(--text-muted);font-size:.85rem}.order-success__items{text-align:left;margin-bottom:1.25rem}.order-success__subtitle{color:var(--text-h);margin:0 0 .5rem;font-size:.95rem}.order-success__items ul{border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;padding:0;list-style:none}.order-success__items li{border-bottom:1px solid var(--border);color:var(--text-muted);justify-content:space-between;gap:1rem;padding:.6rem .85rem;font-size:.85rem;display:flex}.order-success__items li:last-child{border-bottom:none}.order-success__items li span:first-child{color:var(--text-h)}.order-success__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1rem;display:flex}.order-success__download-note{text-align:left}.order-success__future{color:var(--text-muted);margin:1rem 0 0;font-size:.8rem;line-height:1.5}.filter{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);margin:0 0 1.5rem;padding:1.25rem 1.35rem}.filter__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.filter__title{color:var(--text-h);letter-spacing:.02em;margin:0;font-size:.95rem;font-weight:600}.filter__clear{color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius-sm);cursor:pointer;padding:.35rem .75rem;font-family:inherit;font-size:.8rem;font-weight:500;transition:background .2s,opacity .2s}.filter__clear:hover{background:#a855f733}.filter__form{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:1rem 1.15rem;display:grid}.filter__group{flex-direction:column;gap:.4rem;min-width:0;display:flex}.filter__group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:500}.filter__group select{width:100%;color:var(--text-h);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23a1a1aa' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;padding:.65rem 2.25rem .65rem .85rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.filter__group select:hover{border-color:#a855f759}.filter__group select:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.filter__group--checkbox{justify-content:flex-end}.filter__checkbox{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.65rem;min-height:2.65rem;padding:.55rem .85rem;transition:border-color .2s,background .2s;display:flex}.filter__checkbox:hover{border-color:#a855f759}.filter__checkbox:has(input:checked){background:var(--accent-bg);border-color:var(--accent-border)}.filter__checkbox input{width:1.05rem;height:1.05rem;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0}.filter__checkbox-text{color:var(--text-h);text-transform:none;letter-spacing:normal;font-size:.95rem;font-weight:500}.browse__title{letter-spacing:-.03em;margin:0 0 1.5rem;font-size:clamp(2rem,5vw,2.75rem)}.filtered-results{margin:0 0 1.5rem}.filtered-results p{color:var(--text-muted);font-size:.95rem}.filtered-results__count{color:var(--text-h);font-weight:500}@media (width<=1100px){.filter__form{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.filter__form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.filter{padding:1rem}.filter__form{grid-template-columns:1fr}.filter__group--checkbox{justify-content:stretch}}.admin-layout{background:var(--bg);min-height:100svh;color:var(--text);display:flex}.admin-sidebar{background:var(--surface);border-right:1px solid var(--border);box-sizing:border-box;flex-direction:column;flex-shrink:0;width:240px;height:100svh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.admin-sidebar__brand{color:var(--text-h);letter-spacing:-.02em;border-bottom:1px solid var(--border);margin-bottom:1rem;padding:0 .65rem 1.5rem;font-size:1.1rem;font-weight:600;text-decoration:none}.admin-sidebar__brand span{color:var(--accent)}.admin-sidebar__nav{flex-direction:column;flex:1;gap:.25rem;display:flex}.admin-sidebar__link{color:var(--text);border-radius:var(--radius-sm);padding:.65rem .85rem;font-size:.95rem;text-decoration:none;transition:color .2s,background .2s;display:block}.admin-sidebar__link:hover,.admin-sidebar__link--active{color:var(--text-h);background:var(--accent-bg)}.admin-sidebar__footer{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.admin-sidebar__user{color:var(--text-muted);word-break:break-word;padding:0 .65rem;font-size:.85rem}.admin-sidebar__user strong{color:var(--text-h);margin-bottom:.15rem;font-weight:500;display:block}.admin-main{flex:1;min-width:0;padding:2rem clamp(1.25rem,3vw,2.5rem);overflow-x:auto}.admin-page__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.admin-page__title{color:var(--text-h);margin:0 0 .35rem;font-size:1.75rem}.admin-page__subtitle{color:var(--text-muted);margin:0;font-size:.95rem}.admin-page__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.admin-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:1.25rem 1.35rem}.admin-stat-card__label{color:var(--text-muted);margin:0 0 .5rem;font-size:.85rem}.admin-stat-card__value{color:var(--text-h);word-break:break-word;margin:0;font-size:1.5rem;font-weight:600}.admin-stat-card__meta{color:var(--text);margin:.4rem 0 0;font-size:.85rem}.admin-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:1.25rem}.admin-panel__title{color:var(--text-h);margin:0 0 1rem;font-size:1.1rem}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.75rem .85rem}.admin-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:500}.admin-table td{color:var(--text-h)}.admin-table tr:last-child td{border-bottom:none}.admin-table__actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-empty{text-align:center;color:var(--text-muted);padding:2.5rem 1.5rem}.admin-empty h2{color:var(--text-h);margin:0 0 .5rem;font-size:1.2rem}.admin-empty p{margin:0 0 1.25rem}.admin-status{text-transform:capitalize;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:500;display:inline-block}.admin-status--completed{color:#4ade80;background:#22c55e1f;border-color:#22c55e59}.admin-status--pending{color:#facc15;background:#facc151f;border-color:#facc1559}.admin-status--cancelled{color:#f87171;background:#f871711f;border-color:#f8717159}.media-uploader{border-bottom:1px solid var(--border);margin-bottom:2rem;padding-bottom:1.5rem}.media-uploader h3{color:var(--text-h);margin:0 0 1rem;font-size:1.05rem}.media-uploader__fields{gap:1.25rem;display:grid}.media-uploader__field{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:.85rem 1rem}.media-uploader__field label{color:var(--text-h);margin-bottom:.35rem;font-size:.9rem;font-weight:500;display:block}.media-uploader__field input[type=file]{width:100%;color:var(--text);font-size:.9rem}.media-uploader__field-status{color:var(--accent);margin:.5rem 0 0;font-size:.85rem}.media-uploader__field-status--ok{color:#4ade80}.media-uploader__field .preview-grid{margin-top:.75rem}.preview-grid{flex-wrap:wrap;gap:.75rem;display:flex}.preview-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);flex-direction:column;gap:.35rem;width:150px;padding:.5rem;display:flex}.preview-item img,.preview-item video{object-fit:cover;border-radius:calc(var(--radius-sm) - 2px);background:var(--surface);width:100%;height:100px;display:block}.preview-item__name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted,var(--text));font-size:.7rem;display:block;overflow:hidden}.preview-item__remove{color:#f87171;border-radius:var(--radius-sm);cursor:pointer;background:#f871711f;border:1px solid #f8717159;padding:.3rem .5rem;font-family:inherit;font-size:.75rem}.preview-item__remove:hover{background:#f8717138}.admin-form{max-width:720px}.admin-form__grid{grid-template-columns:1fr 1fr;gap:0 1.25rem;display:grid}.admin-form__grid .form-group--full{grid-column:1/-1}.admin-form select{width:100%;color:var(--text-h);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;padding:.75rem 1rem;font-family:inherit;font-size:1rem}.admin-form select:focus{border-color:var(--accent-border);outline:none}.admin-form__preview{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-raised);max-width:200px;margin-top:.75rem;overflow:hidden}.admin-form__preview img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;display:block}.admin-form__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.admin-alert{border-radius:var(--radius-sm);margin-bottom:1.25rem;padding:.85rem 1rem;font-size:.9rem}.admin-alert--error{color:#f87171;background:#f871711f;border:1px solid #f8717159}.admin-alert--success{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e59}.admin-loading{color:var(--text-muted);padding:2rem 0}.admin-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-raised);width:40px;height:40px}.btn--danger{color:#f87171;background:#f8717126;border:1px solid #f8717166}.btn--danger:hover:not(:disabled){background:#f8717140}.btn--ghost{color:var(--text-h);border:1px solid var(--border);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--surface-raised)}.admin-login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100svh;padding:2rem 1.25rem;display:flex}.admin-login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-width:400px;box-shadow:var(--shadow);padding:2rem}.admin-login-card h1{text-align:center;margin:0 0 .35rem;font-size:1.5rem}.admin-login-card__subtitle{text-align:center;color:var(--text-muted);margin:0 0 1.75rem;font-size:.95rem}.admin-login-card form{flex-direction:column;gap:.25rem;display:flex}.admin-login-card label{color:var(--text-h);margin-top:.75rem;margin-bottom:.4rem;font-size:.9rem;font-weight:500;display:block}.admin-login-card input{width:100%;color:var(--text-h);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;padding:.75rem 1rem;font-family:inherit;font-size:1rem}.admin-login-card input:focus{border-color:var(--accent-border);outline:none}.admin-login-card button[type=submit]{width:100%;margin-top:1.25rem}.admin-login-card .admin-alert{margin-top:1rem;margin-bottom:0}@media (width<=768px){.admin-layout{flex-direction:column}.admin-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;height:auto;position:relative}.admin-sidebar__nav{flex-flow:wrap}.admin-form__grid{grid-template-columns:1fr}}
