:root{--navy:#111c44;--navy2:#0c1330;--blue:#2563eb;--blue2:#1d4ed8;--amber:#f59e0b;--page:#f7f9fc;--surface:#fff;--border:#e8edf4;--ink:#172033;--muted:#718096;--success:#059669;--danger:#e11d48;--warning:#d97706;--purple:#7c3aed;--font:Georgia,'Times New Roman',serif;--display:Georgia,'Times New Roman',serif;--ui:Inter,ui-sans-serif,system-ui,sans-serif;--mono:'JetBrains Mono',monospace;--shadow:0 10px 30px rgba(15,23,42,.06);--shadow-lg:0 24px 60px rgba(15,23,42,.13);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.55}label,.button,.sidebar,.badge,.eyebrow,.panel__hint,.metric-card__label,.table,select,input,textarea,small,.sync-pill,.role-pill{font-family:var(--ui)}body.is-modal-open{overflow:hidden}a{color:inherit}button,input,select,textarea{font:inherit}.icon{width:19px;height:19px;display:block;flex:none}.icon--sm{width:16px;height:16px}.mono{font-family:var(--mono)}
.app-body{min-height:100vh}.app-main{margin-left:256px;min-height:100vh;padding:28px}.app-main__inner{max-width:1440px;margin:0 auto}.sidebar{position:fixed;z-index:70;left:0;top:0;bottom:0;width:256px;background:var(--navy);color:#cbd5e1;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.08);box-shadow:18px 0 42px rgba(15,23,42,.10)}.sidebar__brand{padding:24px 22px 18px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,#f59e0b,#ffd166);display:grid;place-items:center;color:var(--navy);font-weight:900;box-shadow:0 8px 24px rgba(245,158,11,.16)}.sidebar__brand strong{display:block;color:#fff;font:700 18px var(--display);letter-spacing:-.02em}.sidebar__brand small{display:block;color:#94a3b8;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-top:2px}.sidebar__close{margin-left:auto;display:none}.sidebar__user{margin:14px 14px 6px;padding:12px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:12px;background:#1e40af;color:#dbeafe;display:grid;place-items:center;font-weight:900}.sidebar__usertext{min-width:0;flex:1}.sidebar__usertext strong{display:block;color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__usertext span{display:block;color:#94a3b8;font-size:10px;margin-top:3px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.sync-pill{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#86efac}.sidebar__nav{flex:1;overflow:auto;padding:14px 12px}.sidebar__label{padding:0 10px 8px;color:#64748b;font-size:9px;letter-spacing:.16em;font-weight:900}.sidebar__link{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:13px;text-decoration:none;color:#94a3b8;font-size:12px;font-weight:700;margin:3px 0;transition:.2s}.sidebar__link:hover{color:#fff;background:rgba(255,255,255,.06)}.sidebar__link.is-active{color:#fff;background:linear-gradient(90deg,#2563eb,#1d4ed8);box-shadow:0 10px 22px rgba(37,99,235,.22)}.sidebar__brands{padding:12px 22px 14px;border-top:1px solid rgba(255,255,255,.08)}.brand-dot{display:flex;align-items:center;gap:8px;color:#cbd5e1;font-size:10px;font-weight:600;padding:4px 0}.brand-dot span{width:8px;height:8px;border-radius:50%;background:#60a5fa}.brand-dot:nth-of-type(3) span{background:#f472b6}.brand-dot:nth-of-type(4) span{background:#22d3ee}.brand-dot:nth-of-type(5) span{background:#f59e0b}.sidebar__footer{padding:14px 16px;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.10)}.sidebar__system{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:10px;margin:2px 4px 10px}.status-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.10)}.logout-button{width:100%;border:1px solid rgba(244,63,94,.18);background:rgba(244,63,94,.08);color:#fb7185;border-radius:12px;padding:10px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:900;cursor:pointer}.logout-button:hover{background:rgba(244,63,94,.14)}.app-shell__mobilebar{display:none}
.page-hero,.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-hero h1,.pagehead__title{margin:4px 0 0;font:700 31px var(--display);letter-spacing:-.04em}.page-hero p,.pagehead__sub{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.eyebrow{font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--amber)}.eyebrow--light{color:#64748b}.page-hero__actions{display:flex;gap:9px;flex-wrap:wrap}.animate-fade-in{animation:fadeIn .35s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes scaleUp{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.animate-scale-up{animation:scaleUp .28s cubic-bezier(.16,1,.3,1)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.stats--three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.metric-card--inline{display:flex;align-items:center;gap:13px;min-height:120px}.metric-card__icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;margin-bottom:12px}.metric-card--inline .metric-card__icon{margin:0}.metric-card__icon--blue{background:#eff6ff;color:#2563eb}.metric-card__icon--green{background:#ecfdf5;color:#059669}.metric-card__icon--amber{background:#fffbeb;color:#d97706}.metric-card__icon--violet{background:#f5f3ff;color:#7c3aed}.metric-card__label{display:block;color:#64748b;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.metric-card strong{display:block;margin-top:4px;font:800 28px var(--display)}.metric-card small{display:block;color:#94a3b8;font-size:9px;margin-top:2px}.dashboard-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:16px}.panel{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:20px;margin-bottom:16px}.panel--flush{padding:0;overflow:hidden}.panel--wide{grid-column:span 2}.panel__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:15px}.panel--flush .panel__head{padding:20px 20px 14px}.panel__title{margin:0;font:700 17px var(--display);letter-spacing:-.02em}.panel__hint{margin:4px 0 0;color:#94a3b8;font-size:10px;line-height:1.5}.text-link,.minilink{color:#2563eb;font-size:10px;font-weight:800;text-decoration:none}.text-link:hover,.minilink:hover{text-decoration:underline}.brand-filter{display:flex;flex-wrap:wrap;gap:6px;background:#f8fafc;border:1px solid var(--border);padding:6px;border-radius:17px;margin-bottom:17px}.brand-filter a{padding:8px 12px;border-radius:12px;text-decoration:none;color:#64748b;font-size:10px;font-weight:800}.brand-filter a.is-active{background:#fff;color:#2563eb;border:1px solid #e8eef6;box-shadow:0 3px 10px rgba(15,23,42,.05)}
.timeline-list{padding:0 12px 12px}.timeline-row{display:grid;grid-template-columns:50px 1fr auto;gap:12px;align-items:center;padding:11px 9px;border-top:1px solid #f1f5f9;text-decoration:none}.timeline-row:hover{background:#fafcff;border-radius:14px}.timeline-date{width:44px;height:44px;border-radius:13px;background:#f8fafc;display:grid;place-items:center;text-align:center}.timeline-date strong{font:800 16px var(--display);line-height:1}.timeline-date span{font-size:7px;letter-spacing:.12em;color:#64748b;text-transform:uppercase}.timeline-row strong{display:block;font-size:12px}.timeline-row div:nth-child(2) span{display:block;color:#94a3b8;font-size:9px;margin-top:3px}.event-mini-list{padding:4px 20px 20px;display:grid;gap:10px}.event-mini{display:flex;justify-content:space-between;gap:10px;padding:13px;border:1px solid #edf1f6;border-radius:17px;background:#fafcff}.event-mini strong{display:block;font-size:11px}.event-mini span{display:block;color:#94a3b8;font-size:9px;margin-top:4px}.badge{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap}.badge--blue{background:#eff6ff;color:#2563eb;border:1px solid #dbeafe}.badge--green{background:#ecfdf5;color:#059669;border:1px solid #d1fae5}.badge--amber{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.badge--red{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.badge--slate{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.brand-analytics{display:grid;gap:9px}.brand-analytics__row{display:grid;grid-template-columns:1fr 42px;gap:10px;align-items:center}.brand-analytics__row>div{display:grid;grid-template-columns:9px 1fr;gap:7px;align-items:center}.brand-analytics__row small{grid-column:2;color:#94a3b8;font-size:8px}.brand-mini-dot{width:8px;height:8px;border-radius:50%;background:#60a5fa}.brand-analytics__bar{height:7px;border-radius:999px;background:#eef2f7;overflow:hidden}.brand-analytics__bar span{display:block;height:100%;background:#2563eb;border-radius:inherit}.util-card{display:flex;align-items:center;gap:20px}.util-gauge{width:136px;height:136px;border-radius:50%;position:relative;display:grid;place-items:center;background:conic-gradient(#2563eb var(--value),#eaf0f7 0);flex:none}.util-gauge:before{content:'';position:absolute;inset:13px;border-radius:50%;background:#fff}.util-gauge strong,.util-gauge small{position:relative;z-index:1}.util-gauge strong{font:800 27px var(--display)}.util-gauge small{display:block;margin-top:40px;position:absolute;font-size:8px;color:#94a3b8;text-transform:uppercase}.util-copy strong{display:block;font-size:12px}.util-copy span,.util-copy small{display:block;color:#94a3b8;font-size:9px;margin-top:4px}.progress{height:8px;border-radius:999px;background:#eef2f7;overflow:hidden;margin:12px 0 7px}.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#60a5fa)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:13px;padding:10px 14px;text-decoration:none;font-size:10px;font-weight:900;cursor:pointer;transition:.18s}.button:hover{transform:translateY(-1px)}.button--primary{background:#2563eb;color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.18)}.button--primary:hover{background:#1d4ed8}.button--ghost{background:#fff;color:#334155;border-color:#e2e8f0}.button--dark{background:#111827;color:#fff}.button--light{background:#f8fafc;color:#334155;border-color:#e2e8f0}.button--danger{background:#fff;color:#be123c;border-color:#fecdd3}.button--small{padding:7px 10px;font-size:9px}.button--block{width:100%}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0 16px}.toolbar--split{justify-content:space-between}.searchbox{position:relative;flex:1;min-width:230px}.searchbox .icon{position:absolute;left:12px;top:11px;color:#94a3b8}.searchbox .form__input{padding-left:38px}.form{display:grid;gap:14px}.form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form__label{display:grid;gap:6px;color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.form__input{width:100%;border:1px solid #dfe7f0;background:#f8fafc;border-radius:13px;padding:10px 12px;color:#172033;outline:none;font-size:12px}.form__input:focus{background:#fff;border-color:#60a5fa;box-shadow:0 0 0 4px rgba(96,165,250,.13)}textarea.form__input{min-height:100px;resize:vertical}.form__section{border:1px solid #edf2f7;border-radius:18px;padding:14px}.form__legend{padding:0 6px;color:#475569;font-size:10px;font-weight:900}.form__hint{font-size:9px;color:#94a3b8;line-height:1.5}.form__check{display:flex;align-items:center;gap:7px;font-size:10px;color:#475569}.form__actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid #eef2f7}.dropzone{border:1.5px dashed #cbd5e1;background:#f8fafc;border-radius:18px;padding:22px;text-align:center;cursor:pointer;transition:.2s}.dropzone:hover,.dropzone.is-dragging{border-color:#60a5fa;background:#eff6ff}.dropzone strong{display:block;font-size:11px;margin-top:8px}.dropzone span{display:block;color:#94a3b8;font-size:9px;margin-top:4px}.file-preview{display:flex;align-items:center;gap:10px;margin-top:9px;padding:10px;border:1px solid #dbeafe;background:#eff6ff;border-radius:13px;font-size:10px}.file-preview img{width:52px;height:52px;border-radius:11px;object-fit:cover;border:1px solid #bfdbfe}
.tablewrap{overflow:auto;border:1px solid #edf1f5;border-radius:18px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th{padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e8edf3;color:#64748b;text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.table td{padding:13px 14px;border-bottom:1px solid #f1f5f9;font-size:11px;vertical-align:middle}.table tbody tr:hover{background:#fbfdff}.table tbody tr:last-child td{border-bottom:0}.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.icon-action{width:31px;height:31px;border:1px solid #e8edf3;background:#fff;border-radius:10px;display:grid;place-items:center;cursor:pointer}.icon-action:hover{background:#f8fafc}.icon-action--blue{color:#2563eb}.icon-action--danger{color:#e11d48}.table td strong{font-size:11px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 15px}.chip{padding:7px 11px;border-radius:999px;background:#f8fafc;border:1px solid #e5ebf2;text-decoration:none;color:#64748b;font-size:9px;font-weight:900}.chip.is-active{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}.empty{padding:35px 18px;border:1px dashed #d7dee8;border-radius:20px;background:#fafcff;text-align:center;color:#94a3b8;font-size:11px}.empty--large{padding:60px 18px}.detail-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.event-command{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.event-title-card{background:linear-gradient(135deg,#111c44,#1e3a8a);color:#fff;border-radius:26px;padding:24px;position:relative;overflow:hidden}.event-title-card:after{content:'';position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-80px;background:rgba(255,255,255,.06)}.event-title-card h1{position:relative;z-index:1;margin:4px 0 0;font:700 27px var(--display);letter-spacing:-.04em}.event-title-card p{position:relative;z-index:1;color:#cbd5e1;font-size:10px;margin:8px 0 0}.event-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.meta-box{padding:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:16px}.meta-box span{display:block;color:#93c5fd;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.meta-box strong{display:block;font-size:10px;margin-top:5px}.timeline{position:relative;display:grid;gap:0}.timeline:before{content:'';position:absolute;left:18px;top:20px;bottom:20px;width:2px;background:#e5e7eb}.timeline-step{position:relative;display:flex;gap:12px;padding:9px 0}.timeline-step__dot{position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f8fafc;border:3px solid #fff;box-shadow:0 0 0 1px #e5e7eb;z-index:1}.timeline-step.is-done .timeline-step__dot{background:#ecfdf5;color:#059669;box-shadow:0 0 0 1px #a7f3d0}.timeline-step strong{font-size:10px}.timeline-step small{display:block;color:#94a3b8;font-size:9px;margin-top:3px}.rental-list{display:grid;gap:8px}.rental-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:11px;border:1px solid #edf1f6;border-radius:14px;background:#fbfdff}.rental-row strong{display:block;font-size:10px}.rental-row span{display:block;color:#94a3b8;font-size:8px;margin-top:3px}.availability-pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;background:#eef2f7;color:#64748b}.availability-pill.is-ok{background:#ecfdf5;color:#059669}.availability-pill.is-bad{background:#fff1f2;color:#be123c}.availability-pill.is-loading{background:#eff6ff;color:#2563eb}.availability-pill.is-warning{background:#fffbeb;color:#d97706}.issue-box{padding:12px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:9px}.success-box{padding:12px;border-radius:14px;background:#ecfdf5;border:1px solid #bbf7d0;color:#047857;font-size:9px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 20px 20px}.gallery-card{border:1px solid #edf1f6;border-radius:18px;overflow:hidden;background:#fff}.gallery-card__button{border:0;background:#f8fafc;padding:0;width:100%;cursor:pointer;position:relative;display:block;aspect-ratio:4/3;overflow:hidden}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-card:hover img{transform:scale(1.04)}.gallery-card__overlay{position:absolute;inset:auto 10px 10px auto;padding:6px 8px;border-radius:9px;background:rgba(15,23,42,.7);color:#fff;font-size:8px;font-weight:900}.gallery-card__footer{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px}.link-button{border:0;background:none;padding:0;color:#2563eb;font-size:9px;font-weight:800;cursor:pointer}.link-button--danger{color:#e11d48}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.product-card{background:#fff;border:1px solid #edf1f6;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);transition:.2s;display:flex;flex-direction:column}.product-card:hover{box-shadow:0 16px 38px rgba(15,23,42,.09);transform:translateY(-2px)}.product-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:#eef2f7}.product-image img{width:100%;height:100%;object-fit:cover;transition:.45s}.product-card:hover .product-image img{transform:scale(1.05)}.product-image .tag{position:absolute;top:10px;left:10px}.product-image .stock{position:absolute;right:10px;bottom:10px}.product-body{padding:14px;display:flex;flex-direction:column;gap:10px;flex:1}.product-title{font-size:12px;font-weight:900;line-height:1.35}.product-meta{color:#94a3b8;font-size:9px}.product-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:8px;border-top:1px solid #eef2f7}.stats-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-chip{padding:9px;background:#f8fafc;border-radius:12px;text-align:center}.stat-chip strong{display:block;font:800 16px var(--display)}.stat-chip span{display:block;color:#94a3b8;font-size:8px;margin-top:2px}.doc-card{background:#fff;border:1px solid #edf1f6;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.doc-cover{height:175px;background:#eef2f7;position:relative;overflow:hidden}.doc-cover img{width:100%;height:100%;object-fit:cover}.doc-cover__count{position:absolute;bottom:10px;right:10px;background:rgba(15,23,42,.72);color:#fff;padding:6px 8px;border-radius:9px;font-size:8px;font-weight:900}.doc-body{padding:14px}.doc-body strong{display:block;font-size:12px}.doc-body span{display:block;color:#94a3b8;font-size:9px;margin-top:4px}.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.form-modal,.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:20px;background:rgba(15,23,42,.62);backdrop-filter:blur(7px);overflow:auto}.modal[hidden],.form-modal[hidden],.lightbox[hidden]{display:none}.modal__dialog{width:min(680px,100%);margin:auto;background:#fff;border-radius:24px;box-shadow:var(--shadow-lg);border:1px solid #edf1f5;overflow:hidden;animation:scaleUp .28s cubic-bezier(.16,1,.3,1)}.modal__head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #eef2f7}.modal__head h3{margin:0;font:700 16px var(--display)}.modal__body{padding:20px}.modal__foot{display:flex;justify-content:flex-end;gap:8px;padding:15px 20px;border-top:1px solid #eef2f7}.modal-close{border:0;background:#f8fafc;color:#64748b;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;cursor:pointer}.lightbox{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:rgba(2,6,23,.86);backdrop-filter:blur(8px)}.lightbox__backdrop{position:absolute;inset:0;background:transparent;border:0}.lightbox__dialog{position:relative;z-index:1;max-width:min(1100px,94vw);max-height:90vh}.lightbox__dialog img{display:block;max-width:100%;max-height:78vh;border-radius:18px;box-shadow:0 30px 100px rgba(0,0,0,.5)}.lightbox__close{position:absolute;right:-8px;top:-8px;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#0f172a;font-size:21px;cursor:pointer;z-index:2}.lightbox__caption{color:#e2e8f0;text-align:center;font-size:10px;font-weight:700;margin-top:10px}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:140;display:grid;gap:8px;width:min(360px,calc(100vw - 30px))}.toast{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:start;background:#fff;border:1px solid #e8edf4;border-radius:16px;padding:12px;box-shadow:0 18px 50px rgba(15,23,42,.14);animation:scaleUp .24s}.toast__icon{width:32px;height:32px;border-radius:11px;display:grid;place-items:center}.toast--success .toast__icon{background:#ecfdf5;color:#059669}.toast--error .toast__icon{background:#fff1f2;color:#be123c}.toast--warning .toast__icon{background:#fffbeb;color:#d97706}.toast--info .toast__icon{background:#eff6ff;color:#2563eb}.toast strong{display:block;font-size:10px}.toast span{display:block;color:#64748b;font-size:9px;line-height:1.5;margin-top:3px}.toast__close{border:0;background:none;color:#94a3b8;cursor:pointer;font-size:15px}.command-palette{position:fixed;inset:0;z-index:150;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;background:rgba(15,23,42,.55);backdrop-filter:blur(6px)}.command-palette[hidden]{display:none}.command-dialog{width:min(650px,calc(100vw - 24px));background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 30px 90px rgba(15,23,42,.25);border:1px solid #edf1f5}.command-search{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #eef2f7}.command-search input{border:0;outline:0;width:100%;font-size:13px}.command-results a{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;text-decoration:none;border-bottom:1px solid #f1f5f9;font-size:11px}.command-results a:hover{background:#f8fafc}.command-results small{color:#94a3b8}.role-callout{border-radius:18px;padding:14px;background:#eff6ff;border:1px solid #dbeafe;color:#1e40af;font-size:10px;line-height:1.5}.pagination{display:flex;justify-content:center;gap:6px;margin-top:16px}.pagination a,.pagination span{display:grid;place-items:center;min-width:32px;height:32px;border:1px solid #e5ebf2;background:#fff;border-radius:10px;text-decoration:none;font-size:9px;font-weight:800;color:#64748b}.pagination .is-active{background:#2563eb;border-color:#2563eb;color:#fff}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0052d4 0%,#4364f7 50%,#6fb1fc 100%)}.auth-wrap{width:min(420px,100%);text-align:center}.auth-mark{width:76px;height:76px;border-radius:50%;margin:0 auto 16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;box-shadow:0 18px 40px rgba(0,0,0,.12)}.auth-mark__inner{width:52px;height:52px;border-radius:17px;background:linear-gradient(135deg,#f59e0b,#ffd166);display:grid;place-items:center;color:#fff}.auth-title{margin:0;color:#fff;font:700 30px var(--display);letter-spacing:-.04em}.auth-subtitle{margin:5px 0 24px;color:#dbeafe;font-size:11px}.auth-card{background:#fff;border-radius:26px;padding:28px;box-shadow:0 30px 80px rgba(15,23,42,.22);text-align:left}.auth-card .form__label{color:#2563eb}.auth-foot{color:rgba(255,255,255,.65);font-size:9px;margin-top:30px}
@media(max-width:1150px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.detail-grid,.event-command{grid-template-columns:1fr}.panel--wide{grid-column:span 1}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .25s}.sidebar.is-open{transform:none}.sidebar__close{display:grid}.app-main{margin-left:0;padding:18px}.app-shell__mobilebar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin:-18px -18px 18px;background:rgba(247,249,252,.92);backdrop-filter:blur(10px);border-bottom:1px solid #e8edf4}.mobile-brand{display:flex;flex-direction:column;text-decoration:none;line-height:1}.mobile-brand strong{font:700 16px var(--display)}.mobile-brand span{font-size:7px;color:#94a3b8;text-transform:uppercase;letter-spacing:.14em;margin-top:3px}.mobile-menu-button{border:0;background:#111c44;color:#fff;width:38px;height:38px;border-radius:12px;display:grid;place-items:center}.role-pill{font-size:8px;font-weight:900;border-radius:999px;padding:6px 8px;background:#fff;border:1px solid #e5ebf2}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:65}.sidebar-backdrop.is-open{display:block}}
@media(max-width:680px){.page-hero h1,.pagehead__title{font-size:25px}.stats,.stats--three{grid-template-columns:1fr}.form__grid{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.doc-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.table{min-width:0}.table thead{display:none}.table tbody,.table tr,.table td{display:block;width:100%}.table tr{padding:12px;border-bottom:1px solid #eef2f7}.table td{padding:6px 0;border:0;display:flex;justify-content:space-between;gap:12px;font-size:10px}.table td:before{content:attr(data-label);font-weight:800;color:#94a3b8}.table td:last-child{justify-content:flex-end}.toolbar{align-items:stretch}.searchbox{width:100%;min-width:0}.event-meta-grid{grid-template-columns:1fr}.util-card{align-items:flex-start}.util-gauge{width:110px;height:110px}.modal{padding:10px}.modal__dialog{border-radius:20px}.page-hero__actions,.page-hero__actions .button{width:100%}.page-hero__actions .button{justify-content:center}.catalog-grid{grid-template-columns:1fr}.product-image{aspect-ratio:16/10}}
/* Event status aliases */
.badge--dihubungi{background:#eff6ff;color:#2563eb;border-color:#dbeafe}.badge--on-progress{background:#fffbeb;color:#d97706;border-color:#fde68a}.badge--fix-deal{background:#ecfdf5;color:#059669;border-color:#bbf7d0}.badge--belum-cocok{background:#fef2f2;color:#dc2626;border-color:#fecaca}
.builder-list{display:grid;gap:12px}.builder-row{display:grid;grid-template-columns:1fr 1.4fr 110px 42px;gap:12px;align-items:end;padding:14px;border:1px solid var(--line,#e2e8f0);border-radius:16px;background:#f8fafc}.builder-row .availability-pill{grid-column:1/-1}.builder-remove{margin-bottom:3px}.event-form-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line,#e2e8f0)}.event-form-footer strong{font-family:var(--font-mono,monospace);color:#111c44}.file-preview{display:flex;gap:12px;align-items:center;margin-top:10px;padding:10px;border:1px solid #dbe3ef;border-radius:12px;background:#fff}.file-preview img{width:64px;height:64px;object-fit:cover;border-radius:10px}.availability-pill.is-loading{opacity:.7}.availability-pill.is-warning{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
@media(max-width:720px){.builder-row{grid-template-columns:1fr 1fr}.builder-row .form__label:nth-child(2){grid-column:1/-1}.builder-remove{justify-self:end}.event-form-footer{align-items:flex-start;flex-direction:column}}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:14px 0}.pagination__meta{font-size:12px;color:#64748b}.pagination__links{display:flex;gap:6px;flex-wrap:wrap}.pagination__link{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border:1px solid #dbe3ef;border-radius:10px;background:#fff;color:#475569;text-decoration:none;font-weight:700;font-size:12px}.pagination__link:hover{border-color:#93c5fd;color:#2563eb}.pagination__link.is-active{background:#111c44;color:#fff;border-color:#111c44}
.command-results:empty:after{content:'Tidak ada hasil';display:block;padding:18px;color:#94a3b8;text-align:center}
.modal__dialog--sm{max-width:460px}

/* ===== EventRent refinement layer ===== */
.page-hero h1,.panel__title,.metric-card strong,.sidebar__brand strong,.auth-title{font-family:var(--display)}
.page-hero h1{letter-spacing:-.035em}
.form-shell{max-width:1080px}
.form{display:grid;gap:18px}.form__grid{gap:16px}.form__input{min-height:46px;border-radius:14px;border:1px solid #d9e2ee;background:#fbfdff;padding:11px 13px;color:var(--ink)}.form__input:focus{outline:0;border-color:#7aa2ff;box-shadow:0 0 0 4px rgba(37,99,235,.09);background:#fff}.form__label{display:grid;gap:7px;font-size:11px;font-weight:800;color:#52627a}.form__label textarea.form__input{min-height:120px;resize:vertical}.form__actions{display:flex;justify-content:flex-end;gap:9px;padding-top:6px;border-top:1px solid #edf1f6;margin-top:2px}.dropzone{border:1px dashed #bac8da;background:#f8fbff;border-radius:16px;padding:14px;cursor:pointer}.dropzone input[type=file]{display:block;width:100%;font-family:var(--ui);font-size:11px}.dropzone>div{margin-top:10px;display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center;color:#5f6f86}.dropzone>div span{grid-column:2;font-size:9px;color:#94a3b8}.dropzone.is-dragging{border-color:#2563eb;background:#eff6ff}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form__section{border:1px solid #e8edf4;border-radius:16px;padding:15px;background:#fbfdff}.form__legend{padding:0 7px;font-family:var(--display);font-weight:700}.category-inline-form{display:flex;gap:8px;padding:14px 20px;border-bottom:1px solid #eef2f7;background:#fbfdff}.category-inline-form .form__input{min-height:38px;flex:1}.button--small{padding:8px 10px}.event-page-hero{margin-bottom:16px}.event-heading-row>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.event-overview-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:16px;margin-bottom:16px}.event-hero-card{position:relative;overflow:hidden;padding:26px;border-radius:26px;background:linear-gradient(135deg,#111c44,#1f4aa8);color:#fff;box-shadow:0 20px 50px rgba(17,28,68,.18)}.event-hero-card__glow{position:absolute;width:230px;height:230px;border-radius:50%;right:-80px;top:-90px;background:rgba(255,255,255,.07)}.event-label{position:relative;display:inline-flex;font:800 9px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:#93c5fd}.event-hero-card h2{position:relative;margin:8px 0 0;font:700 29px var(--display);line-height:1.15;letter-spacing:-.03em}.event-hero-card p{position:relative;margin:10px 0 0;color:#dbeafe;font-size:12px;max-width:680px}.event-contact-row{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.contact-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:12px;color:#fff;text-decoration:none;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);font:700 10px var(--ui)}.contact-chip:hover{background:rgba(255,255,255,.15)}.event-data-card{background:#fff;border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow);padding:22px}.event-data-card__header h2{margin:4px 0 0;font:700 19px var(--display)}.event-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.event-data-grid>div{padding:13px;border:1px solid #edf1f6;border-radius:15px;background:#fbfdff}.event-data-grid span{display:block;color:#94a3b8;font:800 8px var(--ui);letter-spacing:.09em;text-transform:uppercase}.event-data-grid strong{display:block;margin-top:5px;font:700 12px var(--display);line-height:1.35}.timeline-panel .panel__head{align-items:center}.inline-form{display:flex;gap:8px;align-items:center}.inline-form .form__input{min-width:155px}.timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:8px}.timeline-track{position:absolute;left:12%;right:12%;top:27px;height:3px;background:#e7edf5;border-radius:99px}.timeline-step{position:relative;display:grid;justify-items:center;text-align:center;gap:8px;z-index:1}.timeline-step__dot{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#94a3b8;border:4px solid #fff;box-shadow:0 0 0 1px #dce4ee,0 6px 16px rgba(15,23,42,.06)}.timeline-step.is-done .timeline-step__dot{background:#ecfdf5;color:#059669;box-shadow:0 0 0 1px #a7f3d0,0 6px 16px rgba(5,150,105,.10)}.timeline-step.is-current strong{color:#111c44}.timeline-step strong{font:700 11px var(--display)}.timeline-step small{color:#94a3b8;font:500 9px var(--ui)}.issue-box{display:flex;align-items:flex-start;gap:10px;margin:16px 0;padding:15px 16px;border-radius:18px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.issue-box strong{font:800 10px var(--ui);text-transform:uppercase;letter-spacing:.08em}.issue-box p{margin:4px 0 0;font-size:11px;line-height:1.5}.section-count{padding:6px 9px;border:1px solid #e5ebf2;border-radius:999px;background:#f8fafc;color:#64748b;font:800 9px var(--ui)}.rental-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rental-card{display:grid;grid-template-columns:42px 1fr auto auto;gap:11px;align-items:center;padding:13px;border:1px solid #e8edf4;border-radius:17px;background:#fbfdff}.rental-card__icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eff6ff;color:#2563eb}.rental-card__body strong{display:block;font:700 12px var(--display)}.rental-card__body span{display:block;margin-top:2px;color:#94a3b8;font:500 9px var(--ui)}.rental-card__qty{text-align:right;min-width:48px}.rental-card__qty strong{display:block;font:800 18px var(--display)}.rental-card__qty span{display:block;color:#94a3b8;font:700 8px var(--ui);text-transform:uppercase}.add-item-panel{background:linear-gradient(180deg,#fff,#fafdff)}.availability-form{gap:12px}.availability-check{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f8fafc;border:1px solid #e8edf4;border-radius:14px}.availability-check p{margin:0;color:#64748b;font:500 10px var(--ui)}.availability-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:#eff6ff;color:#2563eb;border:1px solid #dbeafe;font:800 9px var(--ui)}.availability-pill.is-ok{background:#ecfdf5;color:#059669;border-color:#bbf7d0}.availability-pill.is-bad{background:#fff1f2;color:#be123c;border-color:#fecdd3}.availability-pill.is-loading{opacity:.7}.availability-form [data-add-item-product] option[hidden]{display:none}.empty{display:grid;gap:4px;place-items:center;text-align:center;color:#94a3b8;padding:28px}.empty strong{font:700 15px var(--display);color:#475569}.empty span{font:500 10px var(--ui)}.empty-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#f8fafc;color:#94a3b8;margin-bottom:3px}.doc-grid--event{grid-template-columns:repeat(3,minmax(0,1fr))}.doc-cover__empty{width:100%;height:100%;display:grid;place-items:center;color:#94a3b8}.toast{position:relative;overflow:hidden}.toast__body p{margin:3px 0 0;color:#64748b;font:500 10px/1.45 var(--ui)}.toast__progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:currentColor;opacity:.16;transform-origin:left;animation:toastLife 4.5s linear forwards}.toast--success{color:#059669}.toast--error{color:#be123c}.toast--warning{color:#d97706}.toast--info{color:#2563eb}@keyframes toastLife{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:980px){.event-overview-grid{grid-template-columns:1fr}.rental-grid,.doc-grid--event{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr;gap:8px;padding:0 0 0 12px}.timeline-track{left:33px;right:auto;top:20px;bottom:20px;width:3px;height:auto}.timeline-step{grid-template-columns:42px 1fr;justify-items:start;text-align:left;align-items:center}.timeline-step__dot{grid-row:1}.timeline-step>div:nth-child(2){grid-column:2}.inline-form{width:100%;flex-wrap:wrap}.inline-form .form__input{flex:1}}
@media(max-width:680px){.event-data-grid,.rental-grid,.check-grid{grid-template-columns:1fr}.event-hero-card h2{font-size:25px}.form__actions{flex-direction:column}.form__actions .button{width:100%;justify-content:center}.category-inline-form{flex-direction:column}.doc-grid--event{grid-template-columns:1fr}}

/* Final UI refinement: full-page forms, toasts, and role surfaces */
.form-shell{max-width:980px;margin-inline:auto}.form-shell>.panel__head{margin-bottom:4px}.page-hero__actions{display:flex;gap:8px;align-items:center}.toast{position:relative;overflow:hidden}.toast__progress{position:absolute;left:0;bottom:0;height:2px;width:100%;background:currentColor;opacity:.14;transform-origin:left;animation:toastProgress 4.5s linear forwards}.toast.is-closing{opacity:0;transform:translateY(6px) scale(.98);transition:.18s}.toast__close{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;transition:.16s}.toast__close:hover{background:#f1f5f9;color:#334155}.form-shell .dropzone input[type=file]{display:block;width:100%;margin-bottom:10px}.dropzone--large{padding:28px}.dropzone--large strong{font-size:12px}.event-page-hero{margin-bottom:16px}.event-heading-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.event-overview-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;margin-bottom:16px}.event-hero-card{position:relative;overflow:hidden;border-radius:26px;padding:28px;background:linear-gradient(135deg,#0f1735,#1d4ed8);color:#fff;box-shadow:0 24px 60px rgba(15,23,42,.14)}.event-hero-card__glow{position:absolute;width:260px;height:260px;right:-100px;top:-120px;border-radius:50%;background:rgba(255,255,255,.08)}.event-label{position:relative;z-index:1;font:800 9px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:#bfdbfe}.event-hero-card h2{position:relative;z-index:1;margin:9px 0 7px;font:700 31px var(--display);letter-spacing:-.045em}.event-hero-card p{position:relative;z-index:1;max-width:680px;margin:0;color:#dbeafe;font-size:11px}.event-contact-row{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.contact-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;color:#fff;text-decoration:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);font:800 9px var(--ui)}.event-data-card{background:#fff;border:1px solid #e8edf4;border-radius:26px;padding:22px;box-shadow:var(--shadow)}.event-data-card__header h2{margin:2px 0 0;font:700 20px var(--display)}.event-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.event-data-grid>div{padding:13px;border:1px solid #edf1f6;border-radius:15px;background:#fbfdff}.event-data-grid span{display:block;color:#94a3b8;font:800 8px var(--ui);text-transform:uppercase;letter-spacing:.06em}.event-data-grid strong{display:block;margin-top:5px;font-size:11px;line-height:1.5}.rental-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:2px}.rental-card{display:grid;grid-template-columns:40px 1fr auto auto;gap:10px;align-items:center;padding:13px;border:1px solid #edf1f6;background:#fbfdff;border-radius:16px}.rental-card__icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#eff6ff;color:#2563eb}.rental-card__body strong{display:block;font-size:11px}.rental-card__body span,.rental-card__qty span{display:block;margin-top:2px;color:#94a3b8;font-size:8px}.rental-card__qty{text-align:right}.rental-card__qty strong{display:block;font:800 18px var(--display)}.doc-grid--event{grid-template-columns:repeat(3,minmax(0,1fr))}.table a.minilink strong{font-size:11px}.role-admin .eyebrow{color:#64748b}.role-staff{--blue:#0f766e;--blue2:#115e59}.role-viewer{--blue:#7c3aed;--blue2:#6d28d9}.role-staff .button--primary{background:#0f766e;box-shadow:0 10px 24px rgba(15,118,110,.18)}.role-staff .button--primary:hover{background:#115e59}.role-viewer .button--primary{background:#7c3aed;box-shadow:0 10px 24px rgba(124,58,237,.18)}.role-viewer .button--primary:hover{background:#6d28d9}
@keyframes toastProgress{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:900px){.event-overview-grid,.rental-grid{grid-template-columns:1fr}.event-data-grid,.doc-grid--event{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.event-data-grid,.doc-grid--event{grid-template-columns:1fr}.event-hero-card h2{font-size:25px}.rental-card{grid-template-columns:38px 1fr auto}.rental-card form{grid-column:3}.page-hero__actions{flex-wrap:wrap}.page-hero__actions .button{width:auto}}

/* Gallery + full-page CRUD forms */
.form-shell{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border-radius:28px;}
.form-shell .panel__head{padding-bottom:16px;border-bottom:1px solid #edf1f6;}
.form-shell .form{padding-top:4px;}
.form-shell .form__grid{gap:16px;}
.form-shell .form__label{font-family:var(--display);font-size:12px;color:#334155;}
.form-shell .form__input{font-family:var(--display);font-size:13px;min-height:46px;}
.form-shell textarea.form__input{min-height:120px;padding-top:12px;}
.form-shell select.form__input{cursor:pointer;appearance:auto;}
.form-shell .dropzone{border:1.5px dashed #cbd5e1;background:#f8fafc;border-radius:20px;padding:18px;transition:.18s;}
.form-shell .dropzone:hover,.form-shell .dropzone.is-dragging{border-color:#3b82f6;background:#eff6ff;}
.form-shell .dropzone>div{display:grid;gap:4px;justify-items:center;text-align:center;color:#64748b;}
.form-shell .dropzone strong{font:700 12px var(--display);color:#334155;}
.form-shell .dropzone span{font:500 10px var(--ui);}
.file-preview{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;}
.file-preview img{width:56px;height:42px;object-fit:cover;border-radius:9px;border:1px solid #e2e8f0;}
.doc-cover--mosaic{position:relative;overflow:hidden;background:#eef2f7;}
.doc-cover__mosaic{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;width:100%;height:100%;gap:2px;background:#fff;}
.doc-cover__mosaic img{width:100%;height:100%;object-fit:cover;min-height:0;}
.doc-cover__mosaic img:first-child{grid-row:1/3;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.gallery-card{overflow:hidden;border:1px solid #e7edf4;border-radius:20px;background:#fff;box-shadow:0 8px 26px rgba(15,23,42,.05);}
.gallery-card__button{position:relative;width:100%;display:block;padding:0;border:0;background:#eef2f7;cursor:pointer;aspect-ratio:16/10;overflow:hidden;}
.gallery-card__button img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;display:block;}
.gallery-card__button:hover img{transform:scale(1.04);}
.gallery-card__overlay{position:absolute;inset:auto 10px 10px auto;padding:7px 9px;border-radius:999px;background:rgba(15,23,42,.76);color:#fff;font:800 8px var(--ui);opacity:0;transition:.18s;}
.gallery-card__button:hover .gallery-card__overlay{opacity:1;}
.gallery-card__footer{display:flex;align-items:center;gap:8px;padding:10px 12px;flex-wrap:wrap;}
@media(max-width:760px){.gallery-grid{grid-template-columns:1fr 1fr}.doc-cover__mosaic{grid-template-columns:1fr 1fr}.doc-cover__mosaic img:first-child{grid-column:1/3;grid-row:1/2}}
@media(max-width:520px){.gallery-grid{grid-template-columns:1fr}}

.command-results{display:grid;gap:6px;margin-top:12px;max-height:360px;overflow:auto;}
.command-results a{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e7edf4;border-radius:13px;color:#334155;text-decoration:none;background:#fff;font:700 11px var(--display);}
.command-results a:hover{background:#f8fafc;border-color:#dbe4ee;}
.modal__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-top:1px solid #edf1f6;}

/* =========================================================
   ROLE-SPECIFIC WORKSPACES + PUBLIC LANDING REFRESH
   ========================================================= */

:root{
  --display: 'Space Grotesk', Inter, ui-sans-serif, system-ui, sans-serif;
  --ui: 'Inter', ui-sans-serif, system-ui, sans-serif;
}
body{font-family:var(--ui)}
h1,h2,h3,.pagehead__title,.page-hero h1,.event-title-card h1,.panel__title{font-family:var(--display)}

.role-workspace-note{margin:2px 14px 10px;padding:9px 11px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);color:#e2e8f0;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.role-workspace-note small{display:block;margin-top:3px;color:#64748b;font-size:8px;letter-spacing:.02em;text-transform:none;font-weight:700}

.role-admin{--role-accent:#2563eb;--role-accent-2:#1d4ed8;--role-glow:rgba(37,99,235,.12)}
.role-staff{--role-accent:#0f766e;--role-accent-2:#115e59;--role-glow:rgba(15,118,110,.12)}
.role-viewer{--role-accent:#7c3aed;--role-accent-2:#6d28d9;--role-glow:rgba(124,58,237,.12)}

.role-admin .sidebar{background:linear-gradient(180deg,#111c44 0%,#0c1638 100%)}
.role-staff .sidebar{background:linear-gradient(180deg,#0f3838 0%,#0a292b 100%)}
.role-viewer .sidebar{background:linear-gradient(180deg,#211741 0%,#17102f 100%)}
.role-staff .brand-mark{background:linear-gradient(135deg,#14b8a6,#99f6e4);color:#073b3a}
.role-viewer .brand-mark{background:linear-gradient(135deg,#a78bfa,#e9d5ff);color:#2e1065}
.role-staff .sidebar__link.is-active{background:linear-gradient(90deg,#0f766e,#115e59);box-shadow:0 10px 22px rgba(15,118,110,.22)}
.role-viewer .sidebar__link.is-active{background:linear-gradient(90deg,#7c3aed,#6d28d9);box-shadow:0 10px 22px rgba(124,58,237,.22)}
.role-staff .avatar{background:#115e59;color:#ccfbf1}
.role-viewer .avatar{background:#5b21b6;color:#ede9fe}
.role-staff .status-dot{background:#2dd4bf;box-shadow:0 0 0 4px rgba(45,212,191,.1)}
.role-viewer .status-dot{background:#c4b5fd;box-shadow:0 0 0 4px rgba(196,181,253,.1)}

.dashboard-hero{position:relative;overflow:hidden;border-radius:26px;padding:26px 28px;margin-bottom:6px}
.dashboard-hero:after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;right:-95px;top:-110px;background:var(--role-glow);pointer-events:none}
.dashboard-hero--admin{background:linear-gradient(135deg,#f8fbff 0%,#ffffff 58%,#eef5ff 100%);border:1px solid #dce8fb}
.dashboard-hero--staff{background:linear-gradient(135deg,#f2fbfa 0%,#ffffff 58%,#e9fbf9 100%);border:1px solid #d6efeb}
.dashboard-hero--viewer{background:linear-gradient(135deg,#faf8ff 0%,#ffffff 58%,#f5efff 100%);border:1px solid #e8defc}
.dashboard-stats{position:relative}
.dashboard-grid--admin .panel:first-child{border-top:3px solid #2563eb}
.dashboard-grid--staff .panel:first-child{border-top:3px solid #0f766e}
.dashboard-grid--viewer .panel:first-child{border-top:3px solid #7c3aed}
.dashboard-grid--staff .badge--blue{background:#ecfeff;color:#0f766e;border-color:#ccfbf1}
.dashboard-grid--viewer .badge--blue{background:#f5f3ff;color:#7c3aed;border-color:#ddd6fe}

.public-site{background:#f6f8fc;color:#172033}
.public-hero{min-height:720px;background:
  radial-gradient(circle at 85% 18%,rgba(37,99,235,.16),transparent 30%),
  linear-gradient(135deg,#0c1533 0%,#111c44 55%,#172a62 100%);color:#fff;position:relative;overflow:hidden}
.public-hero:before{content:'';position:absolute;inset:auto -10% -34% auto;width:620px;height:620px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.02),0 0 0 140px rgba(255,255,255,.015)}
.public-nav{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:2}
.public-brand{display:flex;align-items:center;gap:11px;text-decoration:none}.public-brand .brand-mark{width:44px;height:44px;background:linear-gradient(135deg,#f59e0b,#fde68a)}.public-brand strong{display:block;font:800 18px var(--display)}.public-brand small{display:block;color:#9fb0d0;font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-top:2px}
.public-hero__content{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:80px 0 110px;position:relative;z-index:2}.public-hero__content h1{max-width:780px;font:800 clamp(42px,6vw,76px)/.98 var(--display);letter-spacing:-.055em;margin:15px 0 20px}.public-hero__content h1 span{color:#93c5fd}.public-hero__content p{max-width:690px;color:#cbd5e1;font-size:17px;line-height:1.8;margin:0}.public-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.public-trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px;color:#c7d2fe;font-size:11px;font-weight:800;letter-spacing:.02em}.button--dark{background:#fff;color:#111c44;border-color:#fff}.button--dark:hover{background:#e2e8f0}.button--ghost-dark{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.22)}.button--ghost-dark:hover{background:rgba(255,255,255,.08)}
.public-section{padding:82px max(20px,4vw)}.public-section--soft{background:#edf3fb}.section-head{width:min(1180px,100%);margin:0 auto 34px;display:flex;align-items:end;justify-content:space-between;gap:28px}.section-head h2{margin:7px 0 0;font:800 clamp(28px,4vw,46px)/1.08 var(--display);letter-spacing:-.04em}.section-head p{max-width:470px;color:#718096;font-size:13px;line-height:1.75;margin:0}.eyebrow--light{color:#64748b}.feature-grid{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.feature-card{background:#fff;border:1px solid #e5ebf3;border-radius:24px;padding:23px;box-shadow:0 16px 38px rgba(15,23,42,.05);transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{transform:translateY(-3px);box-shadow:0 22px 45px rgba(15,23,42,.08)}.feature-card__icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#eff6ff;color:#2563eb;margin-bottom:18px}.feature-card h3{font:800 18px var(--display);margin:0 0 8px}.feature-card p{font-size:12px;line-height:1.7;color:#718096;margin:0}
.public-products{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.public-product{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;padding:14px;border:1px solid #e2e8f0;background:#fff;border-radius:20px}.public-product__image{width:92px;height:70px;border-radius:16px;display:grid;place-items:center;overflow:hidden;background:#eef2f7;color:#64748b;font:800 24px var(--display)}.public-product__image img{width:100%;height:100%;object-fit:cover}.public-product h3{font:800 15px var(--display);margin:7px 0 4px}.public-product p{font-size:10px;color:#94a3b8;margin:0}.meta-chip{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:8px;font-weight:900}
.public-footer{padding:28px max(20px,4vw);background:#0c1533;color:#cbd5e1;display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;font-size:10px}.public-footer strong{color:#fff;font:800 15px var(--display)}.public-footer a{color:#93c5fd;font-weight:800;text-decoration:none}

@media(max-width:1000px){.feature-grid,.public-products{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head p{margin-top:12px}.public-hero__content{padding-top:65px}}
@media(max-width:760px){.app-main{padding:18px}.feature-grid,.public-products{grid-template-columns:1fr}.public-nav,.public-hero__content{width:min(100% - 28px,1180px)}.public-hero{min-height:auto}.public-hero__content{padding:46px 0 76px}.public-hero__content h1{font-size:44px}.public-hero__content p{font-size:14px}.public-nav .button{padding-inline:12px}.dashboard-hero{padding:21px}}


/* =========================================================
   TARGETED UI FIXES — portfolio, documentation, inventory,
   responsive sidebar, anchors, and mobile spacing.
   These rules intentionally override the earlier generic
   rules so the stable existing UI remains otherwise intact.
   ========================================================= */

/* Reset native list/anchor presentation where application cards
   are intentionally acting as navigation components. */
ul,ol{margin:0;padding:0}.sidebar a,.brand-filter a,.doc-card a,.document-card a,.event-mini a,.pagination a{text-decoration:none}

/* Sidebar close button: mobile only. The old .modal-close rule
   was overriding .sidebar__close display:none on desktop. */
.sidebar__close{display:none !important}
.sidebar-backdrop{display:none}

/* Portfolio document cards — the class existed in the view but had
   never received a complete visual treatment. */
.document-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 20px 20px}
.document-card{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:start;padding:16px;border:1px solid #e7edf4;border-radius:20px;background:#fff;box-shadow:var(--shadow);min-width:0;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.document-card:hover{transform:translateY(-2px);border-color:#d8e4f5;box-shadow:0 18px 42px rgba(15,23,42,.08)}
.document-card__icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#2563eb;border:1px solid #dbeafe}
.document-card__body{min-width:0}.document-card__body h3{margin:8px 0 4px;font:800 16px/1.25 var(--display);letter-spacing:-.025em}.document-card__body p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#64748b;font-size:10px}.document-card__body small{display:block;margin-top:7px;color:#94a3b8;font-size:9px}
.document-card__actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.document-card__actions form{margin:0}.document-card__actions .icon-action{flex:0 0 31px}

/* Documentation album cards — make the cover dominant and keep
   footer/actions inside the card instead of looking like loose links. */
.doc-grid--gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.doc-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #e3eaf2;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.doc-card:hover{transform:translateY(-2px);box-shadow:0 18px 46px rgba(15,23,42,.09);border-color:#d7e3f2}
.doc-card__link{display:block;color:inherit}.doc-cover{height:190px;background:#edf2f7}.doc-cover--mosaic{aspect-ratio:16/10;height:auto;min-height:190px}.doc-cover--mosaic>img{display:block;width:100%;height:100%;object-fit:cover}
.doc-cover__count{font-family:var(--ui)}.doc-body{display:grid;gap:5px;padding:15px 16px 10px}.doc-body strong{font:800 14px/1.35 var(--display);color:#172033}.doc-body p{margin:0;color:#64748b;font:500 10px/1.45 var(--ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-body small{display:block;color:#94a3b8;font:600 9px var(--ui)}
.doc-card__footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:11px 16px 15px}.doc-card__footer form{margin:0}.doc-card__footer .button{width:auto}

/* Inventory category cards: the clickable part is a clean full-width
   anchor; action icons stay visually separate and aligned. */
.detail-grid{align-items:start}.detail-grid>.panel:first-child{padding-bottom:10px}
.category-create-link{margin:0 20px 12px}.event-mini-list{padding:4px 20px 20px;gap:8px}.event-mini{align-items:center;min-height:62px;background:#fbfdff;border:1px solid #e7edf4;border-radius:17px;transition:.18s ease}.event-mini:hover{background:#fff;border-color:#d8e4f2;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.event-mini>a{display:flex;align-items:center;min-width:0;flex:1;color:#172033;text-decoration:none}.event-mini>a>div{padding:2px}.event-mini strong{font:800 11px/1.35 var(--display)}.event-mini span{font:600 9px var(--ui);color:#94a3b8}.event-mini .table-actions{padding-left:6px;flex:0 0 auto}.event-mini .icon-action{width:33px;height:33px}.event-mini .table-actions form{margin:0}

/* Clearer inventory workspace */
.detail-grid>.panel:nth-child(2){min-width:0}.toolbar{margin-bottom:14px}.tablewrap{box-shadow:0 8px 24px rgba(15,23,42,.03)}.table td:first-child strong{font-weight:800}.table td small{display:block;color:#94a3b8;margin-top:2px;font-size:8px}

/* Forms: consistent interior spacing and sane mobile stacking. */
.panel--form{padding:24px}.form-shell{margin-bottom:16px;padding:0}.form-shell.panel{padding:22px}.form__grid{gap:13px}.form__label{display:grid;gap:6px;font-size:10px;font-weight:800;color:#475569}.form__input{min-height:44px;border:1px solid #dce5ef;background:#fff;border-radius:13px;padding:10px 12px;color:#172033;outline:0;transition:border-color .18s,box-shadow .18s,background .18s}.form__input:focus{border-color:#93b4ff;box-shadow:0 0 0 4px rgba(37,99,235,.08)}

/* Page content width and mobile layout. */
.app-main{overflow-x:hidden}.app-main__inner{width:100%}
@media(max-width:1100px){.document-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-grid--gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  .sidebar__close{display:grid !important}
  .app-main{margin-left:0;padding:18px}
  .app-shell__mobilebar{display:flex}
  .document-list-grid{grid-template-columns:1fr}
  .doc-grid--gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-grid,.event-command,.dashboard-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .page-hero{align-items:flex-start;margin-bottom:16px}.page-hero h1,.pagehead__title{font-size:26px}
  .page-hero__actions,.page-hero__actions .button{width:100%}.page-hero__actions .button{justify-content:center}
  .panel{border-radius:20px;padding:16px}.panel--flush .panel__head{padding:16px}.panel__head{padding-bottom:12px}
  .stats,.stats--three{grid-template-columns:1fr}.detail-grid{gap:12px}
  .doc-grid--gallery{grid-template-columns:1fr}.doc-cover--mosaic{min-height:200px}
  .document-card{grid-template-columns:48px 1fr;gap:10px}.document-card__icon{width:48px;height:48px}.document-card__actions{grid-column:1/-1;justify-content:flex-start;padding-top:2px}
  .event-mini-list{padding-inline:12px}.category-create-link{margin-inline:12px}
  .event-mini{padding:11px;gap:6px}.event-mini .table-actions{gap:4px}.event-mini .icon-action{width:31px;height:31px}
  .toolbar{flex-direction:column}.toolbar>.button{width:100%;justify-content:center}
  .catalog-grid{grid-template-columns:1fr}.product-card{border-radius:19px}
  .builder-row{grid-template-columns:1fr}.builder-row .form__label:nth-child(2){grid-column:auto}.builder-remove{justify-self:start;margin:0}
  .form__actions{align-items:stretch}.form__actions .button{width:100%;justify-content:center}
}

/* Keep the X out of the desktop chrome even though it reuses modal-close. */
@media(min-width:901px){.sidebar__close{display:none !important}}

/* File preview list for multi-photo uploads. */
.file-preview{width:100%;max-width:100%;margin-top:8px}.dropzone .file-preview img{width:72px;height:72px;object-fit:cover;border-radius:12px}
