:root{--hub-bg:#0f1419;--hub-bg-elevated:#1a222c;--hub-fg:#e8eef4;--hub-fg-muted:#9aa8b5;--hub-accent:#5b9fd4;--hub-accent-fg:#0a1016;--hub-danger:#e35d6a;--hub-border:#2a3542;--hub-font:"Segoe UI",system-ui,sans-serif;--hub-radius:8px;--hub-sidebar-width:12rem;--hub-topbar-height:3.25rem}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--hub-font);background:var(--hub-bg);color:var(--hub-fg)}a{color:var(--hub-accent)}button,input,select,textarea{font:inherit}.hub-shell{min-height:100vh;display:grid;grid-template-columns:0 1fr;grid-template-rows:var(--hub-topbar-height) 1fr;grid-template-areas:"top top" "side main";transition:grid-template-columns .22s ease}.hub-shell--nav-open{grid-template-columns:var(--hub-sidebar-width) 1fr}.hub-shell--ready .hub-main,.hub-shell--ready .hub-sidebar{transition:transform .22s ease,margin .22s ease,opacity .22s ease,visibility .22s}.hub-topbar{grid-area:top;display:flex;align-items:center;gap:.75rem;padding:0 .85rem;background:var(--hub-bg-elevated);border-bottom:1px solid var(--hub-border);position:-webkit-sticky;position:sticky;top:0;z-index:50;min-height:var(--hub-topbar-height)}.hub-motif-host{padding-top:.55rem}.hub-motif{position:absolute;left:0;right:0;top:0;height:8px;pointer-events:none;z-index:2}.hub-topbar-spacer{flex:1 1}.hub-cover-btn{position:absolute;left:50%;transform:translateX(-50%);z-index:1;background:var(--hub-bg);color:var(--hub-fg);border:1px solid var(--hub-border);border-radius:var(--hub-radius);padding:.35rem .9rem;font:inherit;font-weight:600;cursor:pointer}.hub-cover-btn:hover{border-color:var(--hub-accent);color:var(--hub-accent)}.hub-toast{position:fixed;top:calc(var(--hub-topbar-height) + .65rem);right:.85rem;z-index:60;max-width:min(22rem,calc(100vw - 1.7rem));margin:0;padding:.7rem .9rem;border:1px solid var(--hub-border);border-radius:var(--hub-radius);background:var(--hub-bg-elevated);color:var(--hub-fg);text-align:left;box-shadow:0 8px 24px rgba(0,0,0,.28);cursor:pointer;font:inherit}.hub-toast:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px}.hub-stack{display:flex;flex-direction:column;gap:1rem}@media (max-width:720px){.hub-toast{top:auto;left:.75rem;right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom, 0px));max-width:none}}.hub-nav-toggle{position:relative;display:inline-flex;align-items:center;gap:.45rem;background:transparent;color:var(--hub-fg);border:1px solid var(--hub-border);border-radius:var(--hub-radius);padding:.35rem .65rem;cursor:pointer}.hub-nav-toggle:hover{border-color:var(--hub-accent)}.hub-nav-toggle-bars{width:1.1rem;height:.85rem;display:inline-block;background:linear-gradient(var(--hub-fg),var(--hub-fg)) 0 0 /100% 2px no-repeat,linear-gradient(var(--hub-fg),var(--hub-fg)) 0 50% /100% 2px no-repeat,linear-gradient(var(--hub-fg),var(--hub-fg)) 0 100% /100% 2px no-repeat}.hub-nav-toggle-label{font-size:.9rem}.hub-brand{font-weight:700;letter-spacing:.02em;text-decoration:none;color:var(--hub-fg)}.hub-nav-backdrop{display:none}.hub-sidebar{grid-area:side;background:var(--hub-bg-elevated);border-right:1px solid var(--hub-border);overflow:auto;z-index:40;display:flex;flex-direction:column;min-height:0}.hub-shell--nav-closed .hub-sidebar{pointer-events:none;opacity:0;visibility:hidden}.hub-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .85rem;border-bottom:1px solid var(--hub-border)}.hub-sidebar-title{font-weight:600;color:var(--hub-fg-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}.hub-sidebar-close{padding:.3rem .55rem;font-size:.85rem}.hub-menu{display:flex;flex-direction:column;gap:.2rem;padding:.65rem;flex:1 1}.hub-menu a{display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-decoration:none;color:var(--hub-fg-muted);padding:.55rem .7rem;border-radius:var(--hub-radius);outline:none;background:transparent}.hub-nav-badge{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;color:#fff;font-size:.75rem;font-weight:700;line-height:1}.hub-nav-badge,.hub-nav-dot{border-radius:999px;background:#c23b3b}.hub-nav-dot{position:absolute;top:.15rem;right:.15rem;width:.55rem;height:.55rem}.hub-menu a:hover{color:var(--hub-fg);background:color-mix(in srgb,var(--hub-accent) 12%,transparent)}.hub-menu a[aria-current=page]{color:var(--hub-fg);background:color-mix(in srgb,var(--hub-accent) 22%,transparent)}.hub-menu a:focus-visible{color:var(--hub-fg);box-shadow:0 0 0 2px var(--hub-bg),0 0 0 4px var(--hub-accent)}.hub-brand:focus-visible,.hub-btn:focus-visible,.hub-nav-toggle:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px}.hub-user{color:var(--hub-fg-muted);font-size:.9rem}.hub-main{grid-area:main;flex:1 1;padding:1.25rem;max-width:1100px;width:100%;margin:0 auto;min-width:0}.hub-card{background:var(--hub-bg-elevated);border:1px solid var(--hub-border);border-radius:var(--hub-radius);padding:1rem;margin-bottom:1rem}.hub-card h2{margin-top:0}.hub-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:.75rem}.hub-btn{background:var(--hub-accent);color:var(--hub-accent-fg);border:none;border-radius:var(--hub-radius);padding:.45rem .85rem;cursor:pointer}.hub-btn.secondary{background:transparent;color:var(--hub-fg);border:1px solid var(--hub-border)}.hub-btn.danger{background:var(--hub-danger);color:#fff}.hub-btn:disabled{opacity:.5;cursor:not-allowed}input:not([type]),input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],select,textarea{background:var(--hub-bg);color:var(--hub-fg);border:1px solid var(--hub-border);border-radius:var(--hub-radius);padding:.45rem .6rem;max-width:100%}textarea{min-height:5rem;resize:vertical}input::placeholder,textarea::placeholder{color:var(--hub-fg-muted);opacity:1}.hub-cover-btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--hub-accent);outline-offset:1px;border-color:var(--hub-accent)}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}.hub-login{max-width:360px;margin:4rem auto}.hub-table{width:100%;border-collapse:collapse}.hub-table td,.hub-table th{text-align:left;padding:.5rem;border-bottom:1px solid var(--hub-border);vertical-align:middle}.hub-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.hub-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.hub-table .hub-btn,.hub-table td:has(>.hub-actions){white-space:nowrap}.hub-table-wrap .hub-actions{flex-wrap:nowrap}.hub-choice{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:.45rem;min-width:140px;padding:.6rem;text-align:center}.hub-choice img{display:block;max-width:100%;height:auto;border-radius:calc(var(--hub-radius) - 2px)}.hub-choice:hover{border-color:var(--hub-accent)}.hub-choice[aria-pressed=true]{border-color:var(--hub-accent);box-shadow:0 0 0 2px var(--hub-accent);background:color-mix(in srgb,var(--hub-accent) 14%,transparent);font-weight:600;opacity:1}.hub-choice[aria-pressed=true]:after{content:"\2713";position:absolute;top:-.55rem;right:-.55rem;width:1.4rem;height:1.4rem;display:grid;place-items:center;border-radius:999px;background:var(--hub-accent);color:var(--hub-accent-fg);font-size:.85rem;font-weight:700;line-height:1;box-shadow:0 0 0 2px var(--hub-bg-elevated)}.hub-field-grid{display:grid;grid-template-columns:auto minmax(0,22rem);grid-gap:.6rem .85rem;gap:.6rem .85rem;align-items:center;justify-content:start;margin-bottom:.75rem}.hub-field-grid>input,.hub-field-grid>select,.hub-field-grid>textarea{width:100%}@media (max-width:480px){.hub-field-grid{grid-template-columns:minmax(0,1fr);gap:.3rem}.hub-field-grid>label:not(:first-child){margin-top:.45rem}}.hub-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));grid-gap:.85rem;gap:.85rem}.hub-app-tile{display:flex;flex-direction:column;gap:.35rem;padding:1rem;background:var(--hub-bg-elevated);border:1px solid var(--hub-border);border-radius:var(--hub-radius);color:var(--hub-fg);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.hub-app-tile:hover{border-color:var(--hub-accent);transform:translateY(-1px)}.hub-app-tile:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px;border-color:var(--hub-accent)}.hub-app-tile-title{font-weight:600;font-size:1.05rem}.hub-app-tile-desc{color:var(--hub-fg-muted);font-size:.9rem}@media (prefers-reduced-motion:reduce){.hub-app-tile{transition:none}.hub-app-tile:hover{transform:none}}.hub-flash{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);z-index:55;display:flex;align-items:center;gap:.75rem;width:max-content;max-width:min(32rem,calc(100vw - 1.5rem));margin:0;padding:.65rem .75rem .65rem .95rem;background:var(--hub-bg-elevated);color:var(--hub-fg);border:1px solid var(--hub-border);border-left-width:4px;border-radius:var(--hub-radius);box-shadow:0 8px 24px rgba(0,0,0,.28);overflow-wrap:anywhere}.hub-flash--error{border-color:var(--hub-danger)}.hub-flash--ok{border-color:var(--hub-accent)}.hub-flash button{flex:none;margin-left:auto;background:transparent;color:var(--hub-fg);border:1px solid var(--hub-border);border-radius:var(--hub-radius);padding:.25rem .6rem;font-size:.85rem;cursor:pointer}.hub-flash button:hover{border-color:var(--hub-accent)}.hub-flash button:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px}@media (max-width:720px){.hub-shell:has(>.hub-toast) .hub-flash{bottom:calc(5rem + env(safe-area-inset-bottom, 0px))}}dialog.hub-dialog{width:min(26rem,calc(100vw - 2rem));max-width:26rem;padding:1.1rem 1.2rem;background:var(--hub-bg-elevated);color:var(--hub-fg);border:1px solid var(--hub-border);border-radius:var(--hub-radius);box-shadow:0 16px 40px rgba(0,0,0,.4)}dialog.hub-dialog::-webkit-backdrop{background:rgba(0,0,0,.55)}dialog.hub-dialog::backdrop{background:rgba(0,0,0,.55)}dialog.hub-dialog h2,dialog.hub-dialog h3{margin:0 0 .6rem;font-size:1.15rem}dialog.hub-dialog p{margin:0 0 .75rem}dialog.hub-dialog .hub-field-grid{margin:.25rem 0 .75rem}@media (min-width:481px){dialog.hub-dialog .hub-field-grid{grid-template-columns:auto minmax(0,1fr)}}dialog.hub-dialog .hub-error{margin:.5rem 0 0}.hub-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem}.hub-cap-grid{display:grid;grid-gap:.35rem;gap:.35rem}.hub-muted{color:var(--hub-fg-muted)}.hub-error{color:var(--hub-danger)}.hub-ok{color:#7dcea0}.hub-check{display:flex;align-items:center;gap:.5rem;margin:.4rem 0}.hub-code{font-family:ui-monospace,Consolas,monospace;font-size:1.35rem;letter-spacing:.12em;margin:.4rem 0 .8rem}@media (max-width:800px){.hub-shell,.hub-shell--nav-open{grid-template-columns:1fr;grid-template-areas:"top" "main"}.hub-sidebar{position:fixed;top:var(--hub-topbar-height);left:0;bottom:0;width:min(var(--hub-sidebar-width),86vw);transform:translateX(-105%);box-shadow:8px 0 24px rgba(0,0,0,.35)}.hub-shell--nav-open .hub-sidebar{transform:translateX(0);opacity:1;pointer-events:auto;visibility:visible}.hub-shell--nav-closed .hub-sidebar{transform:translateX(-105%)}.hub-shell--nav-pristine .hub-sidebar{transform:translateX(-105%);pointer-events:none;visibility:hidden}.hub-nav-backdrop{display:block;position:fixed;inset:var(--hub-topbar-height) 0 0 0;background:rgba(0,0,0,.45);z-index:35;border:none;padding:0;cursor:pointer}.hub-nav-backdrop[hidden],.hub-nav-toggle-label,.hub-shell--nav-pristine .hub-nav-backdrop{display:none}}