@font-face{font-family:Alpino;src:url(/fonts/Alpino-Medium.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Alpino;src:url(/fonts/Alpino-Bold.woff2)format("woff2");font-weight:600 700;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-latin-400-normal.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-latin-500-normal.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-latin-600-normal.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin-500-normal.ttf)format("truetype");font-weight:500;font-display:swap}:root{--bg:#f6f4f0;--surface:#fff;--surface-2:#faf8f5;--border:#e7e2da;--border-strong:#d6cfc3;--text:#16181d;--muted:#6b6e76;--accent:#c89651;--accent-strong:#b07c36;--accent-soft:#f6ecdc;--navy:#0d1321;--navy-2:#161f33;--navy-text:#c9cfdc;--danger:#b3261e;--success:#1e7a3c;--radius:12px;--shadow:0 1px 2px #1018280a, 0 1px 3px #1018280f;--font-body:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-head:"Alpino", "IBM Plex Sans", -apple-system, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.45}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--font-head);letter-spacing:.01em;margin:0 0 .5rem;font-weight:600}h2{font-size:1.25rem}h3{font-size:1.1rem}h4{margin-top:1.25rem;font-size:.95rem}code{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.85em}.page-loading{color:var(--muted);padding:2rem}.login-wrap{background:radial-gradient(1200px 600px at 50% -10%, #1f2a42 0%, var(--navy) 60%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:var(--surface);border-radius:16px;flex-direction:column;gap:.5rem;width:100%;max-width:380px;padding:2.25rem 2rem 2rem;display:flex;box-shadow:0 20px 50px #00000059}.login-card .login-logo{align-self:center;width:56px;height:56px}.login-card h1{text-align:center;margin:.5rem 0 0;font-size:1.5rem}.login-card .login-sub{text-align:center;color:var(--muted);margin:0 0 .75rem;font-size:.9rem}.login-card button[type=submit]{margin-top:1rem;padding:.7rem 1rem}.login-card label{color:var(--text);flex-direction:column;gap:.35rem;margin-top:.75rem;font-size:.85rem;font-weight:500;display:flex}.admin-shell{background:linear-gradient(to right, var(--navy) 252px, var(--bg) 252px);grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);height:100vh;color:var(--navy-text);flex-direction:column;padding:1.25rem .85rem 1rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.7rem;padding:0 .5rem 1.5rem;display:flex}.brand img{border-radius:9px;flex-shrink:0}.brand-name{color:#fff;font-family:var(--font-head);font-size:.95rem;font-weight:600;line-height:1.2}.brand-sub{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:.72rem}.side-nav{flex-direction:column;flex:1;gap:1.4rem;display:flex;overflow-y:auto}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group-title{letter-spacing:.12em;text-transform:uppercase;color:#6f7a93;padding:0 .75rem .4rem;font-size:.68rem;font-weight:600}.side-nav a{color:var(--navy-text);border-radius:8px;align-items:center;gap:.7rem;padding:.55rem .75rem;font-size:.92rem;text-decoration:none;transition:background .12s,color .12s;display:flex}.side-nav a svg{color:#7d88a1;flex-shrink:0;transition:color .12s}.side-nav a:hover{background:var(--navy-2);color:#fff}.side-nav a:hover svg{color:var(--navy-text)}.side-nav a.active{background:var(--navy-2);color:#fff;box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.side-nav a.active svg{color:var(--accent)}.account{border-top:1px solid #222c43;align-items:center;gap:.6rem;padding:.9rem .35rem 0;display:flex}.account-email{color:#a3acbf;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.82rem;overflow:hidden}.avatar{background:var(--navy-2);width:32px;height:32px;color:var(--accent);border:1px solid #2c3754;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:inline-flex}.avatar.light{background:var(--accent-soft);width:36px;height:36px;color:var(--accent-strong);border:none}.admin-content{flex-direction:column;gap:1.25rem;width:100%;min-width:0;max-width:1120px;padding:2.25rem 2.75rem 5rem;display:flex}.page-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.page-head h1{margin:0;font-size:1.85rem}.page-head p{color:var(--muted);margin:.25rem 0 0}.page-head-action{flex-shrink:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:1.25rem 1.5rem 1.5rem}.card.flush{padding:0;overflow:hidden}.section-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.card.flush>.section-head{margin-bottom:.9rem;padding:1.1rem 1.5rem 0}.section-head h2{align-items:center;gap:.5rem;margin:0;font-size:1.1rem;display:flex}.section-head .muted{margin-top:.2rem}.section-head .row{flex-wrap:nowrap}.section-head:last-child{margin-bottom:0}.card.flush>.section-head:last-child{padding-bottom:1.1rem}.card.flush>table:first-child th{border-top:none}.count{font-family:var(--font-body);color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.05rem .5rem;font-size:.75rem;font-weight:600}.pad{margin:0;padding:1rem 1.5rem 1.25rem}.muted{color:var(--muted);margin:0;font-size:.86rem}.strong{color:var(--text);font-weight:600}.nowrap{white-space:nowrap}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}a{color:var(--accent-strong)}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.section-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;padding:0 1.5rem .9rem;display:flex}.search{flex:260px;align-items:center;max-width:380px;display:flex;position:relative}.search svg{color:var(--muted);pointer-events:none;position:absolute;left:.7rem}.search input{width:100%;padding-left:2.1rem}.tabs{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:.25rem;padding:3px;display:flex}button.tab{color:var(--muted);background:0 0;border:none;border-radius:7px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.85rem;display:inline-flex}button.tab:hover{color:var(--text);background:0 0}button.tab.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #10182814}button.tab.warn{color:#8a5a17}.tab-count{color:var(--muted);font-size:.72rem;font-weight:500}table{border-collapse:collapse;width:100%}th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-2);padding:.55rem 1rem;font-size:.7rem;font-weight:600}th:first-child,td:first-child{padding-left:1.5rem}th:last-child,td:last-child{padding-right:1.25rem}td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.8rem 1rem;font-size:.92rem}td .muted{margin-top:2px;font-size:.82rem}tbody tr:last-child td{border-bottom:none}th:last-child:empty{width:1%}td:last-child:has(.row-chevron){width:1%}td .truncate{max-width:360px}.date-cell{font-weight:500}.date-cell .badge{margin-left:.5rem}.list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.list>li{border-bottom:1px solid var(--border);align-items:center;gap:.9rem;padding:.8rem 1.25rem .8rem 1.5rem;display:flex}.list>li:last-child{border-bottom:none}.list-main{flex:1;min-width:0}.list-main .muted{margin-top:2px}.list-side{font-size:.9rem}.list.nested>li{padding-left:3.5rem}.openable{cursor:pointer;transition:background .1s}.openable:hover,.openable:focus-visible{background:#fbf9f6}.openable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.row-chevron{color:#b9b3aa;transition:color .1s,transform .1s;display:inline-flex}.openable:hover .row-chevron{color:var(--accent-strong);transform:translate(2px)}.date-block{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;line-height:1.1;display:flex}.date-weekday{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);font-size:.66rem;font-weight:600}.date-day{white-space:nowrap;font-size:.82rem;font-weight:600}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;flex-direction:column;align-items:flex-start;gap:.45rem;min-width:0;padding:1rem 1.1rem;display:flex}.card .tile{box-shadow:none}.tile.openable:hover{border-color:var(--border-strong);background:var(--surface);box-shadow:0 4px 14px #10182812}.tile-head{justify-content:space-between;align-items:flex-start;gap:.5rem;width:100%;display:flex}.tile .chip,.tile p{margin:0}button.tile-add{border:1.5px dashed var(--border-strong);min-height:108px;color:var(--muted);box-shadow:none;background:0 0;flex-direction:row;justify-content:center;align-items:center;gap:.4rem;font-weight:500}button.tile-add:hover{border-color:var(--accent);color:var(--accent-strong);background:#fffcf7}button.group-toggle{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:0;justify-content:flex-start;align-items:center;gap:.6rem;padding:.85rem 1.25rem;font-weight:400;display:flex}button.group-toggle:hover{color:var(--text);background:#fbf9f6}.group-toggle.level-1{padding:1rem 1.25rem;font-size:1.05rem}.group-toggle.level-1 .group-name{font-family:var(--font-head);font-weight:600}.group-toggle.level-2{border-top:1px solid var(--border);padding-left:2.25rem}.group-toggle.level-2 .group-name{font-weight:600}.group-toggle.level-3{border-top:1px solid var(--border);padding-left:3.25rem}.group-name.site{letter-spacing:.05em;text-transform:uppercase;color:var(--accent-strong);font-size:.78rem;font-weight:600}.chevron{color:var(--muted);flex-shrink:0;transition:transform .14s}.chevron.open{color:var(--accent-strong);transform:rotate(90deg)}.empty{text-align:center;flex-direction:column;align-items:center;gap:.4rem;padding:2.25rem 1.5rem;display:flex}.empty-title{margin:0;font-weight:600}.chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:6px;margin:.1rem .25rem .1rem 0;padding:.1rem .5rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;display:inline-block}.chip.warn{color:#8a5a17;font-family:var(--font-body);background:#fdf3e6;border-color:#f0d5ad}.badge{white-space:nowrap;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:999px;align-items:center;margin-left:.4rem;padding:.1rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.tile .badge,.section-head .badge{margin-left:0}.badge.success{color:var(--success);background:#e9f5ee;border-color:#cbe7d5}.badge.warn{color:#8a5a17;background:#fdf3e6;border-color:#f0d5ad}.notice{border-radius:var(--radius);color:#6b4a14;background:#fdf6ea;border:1px solid #f0dcb8;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.notice>svg{color:#b07c36;flex-shrink:0}.notice p{flex:1;min-width:220px;margin:0}.notice select{min-width:200px}button{font:inherit;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}button:hover{border-color:var(--accent);color:var(--accent-strong)}button:disabled{opacity:.5;cursor:default}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary,.login-card button[type=submit]{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled),.login-card button[type=submit]:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}button.small{padding:.35rem .75rem;font-size:.84rem}button.danger{color:var(--danger);background:0 0;border-color:#0000}button.danger:hover:not(:disabled){color:var(--danger);background:#fdf1f0;border-color:#0000}button.link-button{color:var(--accent-strong);background:0 0;border:none;padding:.4rem 0;font-weight:600}button.link-button:hover{color:var(--accent);background:0 0}button.icon-button{width:34px;height:34px;color:var(--muted);background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:0}button.icon-button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}button.icon-button.danger:hover:not(:disabled){color:var(--danger);background:#fdf1f0}button.icon-button.on-dark{color:#8b95ab}button.icon-button.on-dark:hover{background:var(--navy-2);color:#fff}.push-right{margin-left:auto}input,textarea,select{font:inherit;border:1px solid var(--border-strong);color:var(--text);background:var(--surface);border-radius:8px;min-width:0;padding:.55rem .7rem;font-size:.95rem;transition:border-color .12s,box-shadow .12s}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;margin:0}input:disabled{background:var(--surface-2);color:var(--muted)}input[type=search]::-webkit-search-cancel-button{cursor:pointer}textarea{resize:vertical;width:100%;line-height:1.5}.field{flex-direction:column;flex:1;gap:.35rem;min-width:0;margin-top:1rem;display:flex}.field-label{color:var(--text);align-items:center;gap:.5rem;font-size:.84rem;font-weight:600;display:flex}.optional{color:var(--muted);font-size:.72rem;font-weight:500}.hint{color:var(--muted);margin:0;font-size:.8rem;line-height:1.4}.field-row{flex-wrap:wrap;gap:.75rem;display:flex}.field-row>.field{flex:160px}.form-section{border-top:1px solid var(--border);margin-top:1.75rem;padding-top:1.25rem}.form-section>h4{margin:0 0 .2rem;font-size:.98rem}.form-section>.hint{margin-bottom:.25rem}.form-section>.field:first-of-type{margin-top:.75rem}label.checkbox{color:var(--text);cursor:pointer;flex-direction:row;align-items:center;gap:.45rem;font-size:.9rem;display:inline-flex}.inline-form{gap:.6rem;display:flex}.inline-form input{flex:1}.form-error{color:var(--danger);align-items:flex-start;gap:.45rem;margin:.6rem 0 0;font-size:.86rem;display:flex}.form-error svg{flex-shrink:0;margin-top:1px}.item-list{flex-direction:column;gap:.4rem;margin:.75rem 0 .25rem;display:flex}.item-row{align-items:center;gap:.35rem;display:flex}.item-row input{flex:1}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem;margin-top:.75rem;display:grid}label.choice{border:1px solid var(--border-strong);cursor:pointer;border-radius:10px;align-items:flex-start;gap:.6rem;padding:.7rem .85rem;transition:border-color .12s,background .12s;display:flex}label.choice input{margin-top:3px}label.choice>span{flex-direction:column;gap:1px;display:flex}label.choice:hover{border-color:var(--accent)}label.choice.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:#fffaf2}.flight-box{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;margin:.9rem 0 .75rem;padding:.5rem 1.1rem 1.1rem;position:relative}.flight-box legend{align-items:center;gap:.4rem;padding:0 .4rem;font-size:.92rem;font-weight:600;display:inline-flex}.flight-box input,.flight-box select{background:var(--surface)}.flight-remove{position:absolute;top:.4rem;right:.4rem}.leg{grid-template-columns:48px 90px 1fr 1.3fr 1.2fr;align-items:end;gap:.6rem;margin-top:.25rem;display:grid}.leg .field{margin-top:.75rem}.leg-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);padding-bottom:.65rem;font-size:.72rem;font-weight:600}.flight-who{flex-direction:column;gap:.3rem;margin-top:1rem;display:flex}.flight-who .row{gap:1rem;margin-top:.2rem}.event-card{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:.45rem;margin-top:.6rem;padding:.7rem;display:flex}.event-card input,.event-card select{background:var(--surface)}.event-main{align-items:center;gap:.45rem;display:flex}.event-main input:not(.event-time){flex:1;font-weight:500}.event-time{flex-shrink:0;width:96px}.event-tools{gap:0;display:flex}.event-tools .icon-button{width:30px;height:30px}.event-options{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.event-options select{flex:1;min-width:180px;font-size:.88rem}.form-section>.link-button{margin-top:.5rem}.file-name{max-width:200px}.drawer-layer{z-index:50;position:fixed;inset:0}.drawer-backdrop{background:#0d132173;animation:.16s ease-out fade;position:absolute;inset:0}.drawer{background:var(--surface);flex-direction:column;width:min(560px,100vw);animation:.2s ease-out slide;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 40px #0000002e}.drawer.wide{width:min(800px,100vw)}.drawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.25rem 1rem 1.75rem;display:flex}.drawer-head h3{margin:0;font-size:1.3rem}.drawer-head .muted{margin-top:.15rem}.drawer-body{flex:1;padding:.25rem 1.75rem 2rem;overflow-y:auto}.drawer-body>.field:first-child,.drawer-body>.field-row:first-child>.field{margin-top:1.25rem}.drawer-foot{border-top:1px solid var(--border);background:var(--surface);padding:.85rem 1.75rem}.drawer-foot .form-error{margin:0 0 .7rem}.footer-buttons{align-items:center;gap:.6rem;display:flex}@keyframes slide{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.toast-region{z-index:60;pointer-events:none;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.toast{background:var(--navy);color:#fff;border-radius:999px;align-items:center;gap:.5rem;padding:.65rem 1.1rem;font-size:.9rem;font-weight:500;animation:.18s ease-out toast-in;display:inline-flex;box-shadow:0 10px 30px #0d132140}.toast svg{color:#7fd29c}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.drawer,.drawer-backdrop,.toast{animation:none}}@media (width<=820px){.admin-shell{background:var(--bg);grid-template-columns:minmax(0,1fr)}.sidebar{z-index:5;flex-direction:row;align-items:center;gap:.5rem;height:auto;padding:.55rem .75rem;position:sticky}.brand{padding:0}.brand>div{display:none}.side-nav{scrollbar-width:none;flex-direction:row;gap:.25rem;overflow-x:auto}.nav-group{flex-direction:row;gap:.25rem}.nav-group-title{display:none}.side-nav a{white-space:nowrap;gap:.4rem;padding:.4rem .6rem}.side-nav a.active{box-shadow:inset 0 -2px 0 var(--accent)}.account{border:none;padding:0}.account-email,.account .avatar{display:none}.admin-content{padding:1.25rem 1rem 4rem}.page-head{flex-direction:column;align-items:stretch}.page-head h1{font-size:1.5rem}.card{padding:1rem}.card.flush>.section-head,.section-toolbar{padding-left:1rem;padding-right:1rem}.search{max-width:none}.section-head{flex-wrap:wrap}button.tile-add{min-height:0;padding:.85rem}table{display:block;overflow-x:auto}th,td{white-space:nowrap}th:first-child,td:first-child,.list>li{padding-left:1rem}.list.nested>li,.group-toggle.level-2{padding-left:1.5rem}.group-toggle.level-3{padding-left:2rem}.list-side{display:none}.drawer-head,.drawer-foot{padding-left:1.1rem;padding-right:1.1rem}.drawer-body{padding:.25rem 1.1rem 2rem}.leg{grid-template-columns:1fr 1fr}.leg-label{grid-column:1/-1;padding:.75rem 0 0}.inline-form{flex-direction:column}}
