:root{--gold: #C9A84C;--gold-light: #E8D090;--gold-dark: #A8882E;--gold-muted: rgba(201, 168, 76, .12);--gold-glow: rgba(201, 168, 76, .22);--gold-border: rgba(201, 168, 76, .2);--glass-bg: rgba(5, 8, 18, .72);--glass-bg-card: rgba(5, 8, 18, .82);--glass-bg-lighter: rgba(12, 18, 32, .55);--glass-bg-hover: rgba(15, 22, 40, .8);--glass-border: rgba(201, 168, 76, .18);--glass-border-subtle: rgba(255, 255, 255, .06);--glass-blur: blur(22px);--glass-blur-sm: blur(14px);--text-primary: #F0E6CC;--text-secondary: #C4B896;--text-muted: #8A7C6A;--text-label: #B0A080;--color-error: #E07878;--color-error-bg: rgba(140, 36, 36, .28);--color-error-border: rgba(224, 120, 120, .3);--color-success: #72BF8A;--color-success-bg: rgba(36, 110, 64, .28);--color-success-border: rgba(114, 191, 138, .3);--color-bg-page: transparent;--color-bg-surface: var(--glass-bg);--color-bg-surface-alt: var(--glass-bg-hover);--color-bg-inset: rgba(5, 8, 18, .5);--color-text-primary: var(--text-primary);--color-text-muted: var(--text-muted);--color-text-label: var(--text-label);--color-border: var(--glass-border);--color-border-subtle: var(--glass-border-subtle);--color-border-row: rgba(255, 255, 255, .04);--color-accent: var(--gold);--color-accent-hover: var(--gold-dark);--color-accent-muted: var(--gold-muted);--color-accent-text: var(--gold-light);--color-admin-bg: var(--gold);--color-admin-text: #0A0C14;--color-admin-bg-hover: var(--gold-dark);--color-focus-ring: var(--gold);--color-overlay: rgba(0, 0, 0, .7);--shadow-modal: 0 32px 80px rgba(0, 0, 0, .7), 0 4px 24px rgba(0, 0, 0, .5);--shadow-elevated: 0 4px 24px rgba(0, 0, 0, .5);--panel-bg: var(--glass-bg);--panel-text: var(--text-primary);--radius: 4px;--radius-lg: 8px;--radius-xl: 16px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100vh}body{font-family:Jost,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.55;color:var(--text-primary);background-color:#050810;background-image:url(/assets/OLA-background-Jw2JzkUG.jpg);background-size:cover;background-position:center center;background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#04070fad;pointer-events:none;z-index:0}#root{position:relative;z-index:1;min-height:100vh}button,input,select,textarea{font:inherit}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.login-card{width:100%;max-width:440px;background:var(--glass-bg-card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--gold-border);border-radius:var(--radius-xl);padding:3rem 2.5rem 2.75rem;box-shadow:0 40px 100px #000000b3,0 0 0 1px #c9a84c14}.login-logo-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:2.25rem}.login-logo{width:80px;height:auto;object-fit:contain;margin-bottom:1.25rem;filter:drop-shadow(0 4px 16px rgba(201,168,76,.35))}.login-brand-name{font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary);text-align:center;line-height:1.25}.login-brand-sub{font-family:Jost,sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);margin-top:.5rem;text-align:center;opacity:.85}.login-divider{width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:1.5rem auto 0;opacity:.6}.login-form-title{font-family:Jost,sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.5rem;text-align:center}.login-controls{position:fixed;top:1.25rem;right:1.25rem;display:flex;gap:.375rem;z-index:10}@media (min-width: 520px){.login-card{padding:3.5rem 3rem 3rem}}.page{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:1.75rem 1rem;width:100%;max-width:1080px;margin:0 auto}@media (min-width: 640px){.main-content{padding:2rem 1.5rem}}.app-header{display:flex;align-items:center;justify-content:space-between;height:58px;padding:0 1rem;background:var(--glass-bg);backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm);border-bottom:1px solid var(--gold-border);position:sticky;top:0;z-index:10;gap:.5rem;overflow:visible}@media (min-width: 640px){.app-header{padding:0 1.5rem}}.header-left{display:flex;align-items:center;gap:.75rem;min-width:0}.header-logo{height:100px;width:auto;margin-left:-35px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(201,168,76,.3))}.header-brand-icon{color:var(--gold);flex-shrink:0}.header-logo-btn{background:transparent;border:none;padding:0;cursor:pointer;display:flex;align-items:center;border-radius:var(--radius);transition:opacity .15s ease,filter .15s ease;flex-shrink:0}.header-logo-btn:hover{opacity:.8;filter:drop-shadow(0 2px 10px rgba(201,168,76,.5))}.header-logo-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.header-center{display:none}@media (min-width: 640px){.header-center{display:block;position:absolute;left:50%;transform:translate(-50%);pointer-events:none;max-width:38%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}}.header-title{font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary);white-space:nowrap}.header-right{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.section-label{font-family:Jost,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.875rem;display:flex;align-items:center;gap:.75rem;opacity:.85}.section-label:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--gold-border),transparent)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.section-title{font-family:Cormorant Garamond,Georgia,serif;font-size:1.2rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary)}.lock-list{display:flex;flex-direction:column;border:1px solid var(--gold-border);border-radius:var(--radius-lg);background:var(--glass-bg);backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm);overflow:hidden}.lock-card{padding:1.1rem 1.35rem;cursor:pointer;display:flex;align-items:center;gap:1rem;border-left:3px solid transparent;border-bottom:1px solid rgba(255,255,255,.05);transition:border-left-color .15s ease,background .15s ease;outline:none;-webkit-user-select:none;user-select:none;background:transparent}.lock-card:last-child{border-bottom:none}.lock-card:hover{border-left-color:var(--gold);background:var(--glass-bg-hover)}.lock-card:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.lock-card:active{background:var(--glass-bg-card)}.lock-card__icon{width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;background:var(--gold-muted);color:var(--gold);border:1px solid var(--gold-border);border-radius:var(--radius-lg);flex-shrink:0}.lock-card__info{flex:1;min-width:0}.lock-card__name{font-family:Jost,sans-serif;font-size:.95rem;font-weight:500;color:var(--text-primary);margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}.lock-card__uuid{font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.04em}.lock-card__arrow{color:var(--text-muted);flex-shrink:0;transition:transform .15s ease,color .15s ease}.lock-card:hover .lock-card__arrow{transform:translate(3px);color:var(--gold)}@media (min-width: 560px){.lock-list{display:grid;grid-template-columns:repeat(2,1fr)}.lock-card{border-bottom:1px solid rgba(255,255,255,.05)}.lock-card:nth-child(odd){border-right:1px solid rgba(255,255,255,.05)}}@media (min-width: 960px){.lock-list{grid-template-columns:repeat(3,1fr)}.lock-card:nth-child(3n){border-right:none}.lock-card:nth-child(odd){border-right:1px solid rgba(255,255,255,.05)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:flex;align-items:flex-end;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (min-width: 520px){.modal-overlay{align-items:center;padding:1rem}}.modal{background:var(--glass-bg-card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--gold-border);border-top:2px solid var(--gold);box-shadow:var(--shadow-modal);padding:2rem 1.75rem;width:100%;max-height:90vh;overflow-y:auto;border-radius:0}@media (min-width: 520px){.modal{max-width:440px;border-radius:var(--radius-lg);border-top:2px solid var(--gold)}}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.modal__title{font-family:Cormorant Garamond,Georgia,serif;font-size:1.35rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-primary);line-height:1.2}.modal__subtitle{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--text-muted);margin-top:.3rem;letter-spacing:.04em}.form__field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.form__label{font-family:Jost,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-label)}.form__input,.form__select{padding:.7rem .9rem;border:1px solid var(--glass-border);border-radius:var(--radius);font-size:.92rem;background:#050812a6;color:var(--text-primary);width:100%;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form__input::placeholder{color:var(--text-muted);opacity:.7}.form__input:focus,.form__select:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-muted);background:#050812cc}.form__select{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 d='M1 1l5 5 5-5' stroke='%238A7C6A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.5rem;cursor:pointer}.form__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.15rem;border:1px solid transparent;border-radius:var(--radius);font-family:Jost,sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease,transform .08s ease,box-shadow .12s ease;outline:none;white-space:nowrap;text-decoration:none}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn:active{transform:scale(.97)}.btn--primary{background:var(--gold);color:#0a0c14;border-color:var(--gold);font-weight:700}.btn--primary:hover:not(:disabled){background:var(--gold-light);border-color:var(--gold-light);box-shadow:0 4px 16px var(--gold-glow)}.btn--primary:disabled{opacity:.45;cursor:not-allowed}.btn--secondary{background:#0508128c;color:var(--text-secondary);border-color:var(--glass-border)}.btn--secondary:hover:not(:disabled){background:#0c1220bf;color:var(--text-primary);border-color:var(--gold-border)}.btn--ghost{background:transparent;color:var(--text-muted);border-color:var(--glass-border)}.btn--ghost:hover:not(:disabled){background:#05081280;color:var(--text-primary);border-color:var(--gold-border)}.btn--admin{background:var(--gold);color:#0a0c14;border-color:transparent;font-weight:700}.btn--admin:hover:not(:disabled){background:var(--gold-light);box-shadow:0 4px 16px var(--gold-glow)}.btn--icon{padding:.45rem;width:2.25rem;height:2.25rem;background:#05081280;color:var(--text-muted);border-color:var(--glass-border)}.btn--icon:hover:not(:disabled){background:#050812bf;color:var(--text-primary);border-color:var(--gold-border)}.btn--icon-ghost{padding:.4rem;width:2rem;height:2rem;background:transparent;color:var(--text-muted);border-color:transparent}.btn--icon-ghost:hover:not(:disabled){color:var(--text-primary)}.btn--sm{padding:.38rem .85rem;font-size:.76rem}.btn--full{width:100%;padding:.78rem 1.15rem;font-size:.88rem;letter-spacing:.12em}.login-card .btn--icon{background:#c9a84c1a;border-color:#c9a84c40;color:var(--gold-light)}.login-card .btn--icon:hover{background:#c9a84c33;color:var(--gold-light)}.error-msg{font-size:.84rem;color:var(--color-error);background:var(--color-error-bg);border-radius:var(--radius);padding:.65rem .875rem;margin-bottom:1rem;border:1px solid var(--color-error-border);border-left:2px solid var(--color-error)}.success-msg{font-size:.84rem;color:var(--color-success);background:var(--color-success-bg);border-radius:var(--radius);padding:.65rem .875rem;margin-bottom:1rem;border:1px solid var(--color-success-border);border-left:2px solid var(--color-success)}.status-msg{text-align:center;color:var(--text-muted);padding:3rem 0;font-size:.88rem;font-family:Jost,sans-serif;letter-spacing:.06em}.badge{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:var(--radius);font-family:Jost,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.badge--admin{background:var(--gold-muted);color:var(--gold-light);border:1px solid var(--gold-border)}.badge--user{background:#ffffff12;color:var(--text-muted);border:1px solid var(--glass-border-subtle)}.table-wrapper{overflow-x:auto;border:1px solid var(--gold-border);border-radius:var(--radius-lg);background:var(--glass-bg);backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm)}.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table th{background:#0508128c;color:var(--gold);font-family:Jost,sans-serif;font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--gold-border)}.data-table td{padding:.875rem 1rem;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-primary);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#c9a84c0d}.success-state{display:flex;flex-direction:column;align-items:center;padding:2rem 0 1rem;gap:.75rem;text-align:center}.success-state__icon{width:3.25rem;height:3.25rem;border-radius:50%;background:var(--color-success-bg);border:1px solid var(--color-success-border);display:flex;align-items:center;justify-content:center;color:var(--color-success)}.success-state__text{font-size:.9rem;color:var(--color-success);font-weight:500;letter-spacing:.03em}.validity-options{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.validity-option{display:flex;flex-direction:column;gap:.2rem;padding:.75rem 1rem;border:1px solid var(--glass-border);border-radius:var(--radius);cursor:pointer;transition:border-color .12s ease,background .12s ease;background:#05081273;position:relative}.validity-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.validity-option--selected{border-color:var(--gold);background:var(--gold-muted)}.validity-option:hover:not(.validity-option--selected){border-color:var(--glass-border);background:#05081299}.validity-option__title{font-size:.85rem;font-weight:600;color:var(--text-primary);letter-spacing:.02em}.validity-option--selected .validity-option__title,.validity-option--selected .validity-option__desc{color:var(--gold)}.validity-option__desc{font-size:.76rem;color:var(--text-muted)}.validity-date-range{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.25rem}@media (max-width: 480px){.validity-date-range{grid-template-columns:1fr}}.fab-wrapper{position:fixed;bottom:1.5rem;right:1.5rem;z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:.625rem}.fab{width:3.25rem;height:3.25rem;border-radius:50%;background:var(--gold);color:#0a0c14;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0006,0 0 0 1px var(--gold-border);transition:background .15s ease,box-shadow .15s ease;outline:none;flex-shrink:0}.fab:hover{background:var(--gold-light);box-shadow:0 6px 28px #00000080,0 0 20px var(--gold-glow)}.fab:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.fab:active{transform:scale(.93)}.fab svg{transition:transform .2s ease}.fab--open svg{transform:rotate(45deg)}.fab-menu{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;animation:fab-menu-in .15s ease}@keyframes fab-menu-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fab-menu__item{display:inline-flex;align-items:center;gap:.625rem;padding:.55rem 1.1rem .55rem .875rem;background:var(--glass-bg-card);backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm);color:var(--text-primary);border:1px solid var(--gold-border);border-radius:2rem;font-family:Jost,sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:var(--shadow-elevated);transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease;outline:none;white-space:nowrap}.fab-menu__item:hover{background:var(--glass-bg-hover);border-color:var(--gold);color:var(--gold);box-shadow:0 4px 24px var(--gold-glow)}.fab-menu__item:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.fab-menu__item:active{transform:scale(.97)}.fab-menu__item--admin:hover{color:var(--gold-light);border-color:var(--gold)}.header-title--hide-mobile{display:none}@media (min-width: 640px){.header-title--hide-mobile{display:block}}.btn-label-hide{display:none}@media (min-width: 520px){.btn-label-hide{display:inline}}input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.7) sepia(1) saturate(2) hue-rotate(10deg);opacity:.6;cursor:pointer}
