:root,:root[data-theme=light]{--color-accent: #FF8413;--color-accent-hover: #e66f00;--color-accent-active: #cc5f00;--color-accent-contrast: #351500;--color-accent-text: #b94c00;--color-accent-soft: #fff0e2;--color-background: #f4f6f5;--color-background-accent: #fffaf5;--color-surface: #fff;--color-surface-subtle: #f6f8f7;--color-text: #202a27;--color-text-strong: #18201e;--color-text-muted: #5e6966;--color-border: #d8dedc;--color-border-strong: #aeb9b6;--color-overlay: rgb(10 20 17 / 48%);--color-success-text: #176c4f;--color-success-soft: #e2f4ec;--color-warning-text: #6c530d;--color-warning-soft: #fff2c7;--color-danger: #a22c25;--color-danger-hover: #84221d;--color-danger-text: #a22c25;--color-danger-soft: #fff1ef;--color-disabled-text: #70847f;--color-disabled-surface: #e8eeec;--shadow-card: 0 1rem 2.5rem rgb(20 36 31 / 10%);--shadow-popover: 0 .9rem 2rem rgb(10 25 20 / 18%);color:var(--color-text);background:var(--color-background);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{--color-accent: #FF8413;--color-accent-hover: #ff9b3d;--color-accent-active: #ffac61;--color-accent-contrast: #351500;--color-accent-text: #ff9b3d;--color-accent-soft: #3a2819;--color-background: #141817;--color-background-accent: #171916;--color-surface: #1c2220;--color-surface-subtle: #252c29;--color-text: #f4f6f5;--color-text-strong: #fff;--color-text-muted: #b4bfbb;--color-border: #3b4642;--color-border-strong: #596760;--color-overlay: rgb(0 0 0 / 68%);--color-success-text: #72d7aa;--color-success-soft: #17372c;--color-warning-text: #f2cb67;--color-warning-soft: #3b321a;--color-danger: #a22c25;--color-danger-hover: #c43d35;--color-danger-text: #ff968f;--color-danger-soft: #3b211f;--color-disabled-text: #89948f;--color-disabled-surface: #2a302e;--shadow-card: 0 1rem 2.5rem rgb(0 0 0 / 32%);--shadow-popover: 0 .9rem 2rem rgb(0 0 0 / 42%)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;color:var(--color-text);background:var(--color-background)}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.auth-page,.status-page{display:grid;min-height:100vh;padding:1rem;place-items:center}.auth-card,.status-card{width:min(100%,28rem);padding:1.5rem;border:1px solid var(--color-border);border-radius:1.25rem;background:var(--color-surface);box-shadow:var(--shadow-card)}.brand{margin:0 0 1.75rem;color:var(--color-accent-text);font-size:1.35rem;font-weight:800;letter-spacing:-.02em}.brand--compact{display:inline-block;margin:0 0 .4rem;text-decoration:none}.login-page{position:relative;background:radial-gradient(circle at 100% 0%,rgb(255 132 19 / 14%),transparent 34rem),var(--color-background-accent)}.login-card{border-color:var(--color-border);box-shadow:var(--shadow-card)}.login-branding{display:flex;align-items:center;justify-content:center;min-width:0;gap:1.15rem;margin-bottom:1.65rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.login-branding .brand{min-width:0;margin:0;color:var(--color-accent-text);font-size:clamp(1.75rem,8vw,2.15rem)}.login-branding__logo{display:grid;width:4.25rem;height:4.25rem;flex:0 0 4.25rem;place-items:center}.login-branding__logo img{display:block;width:3.5rem;height:3.5rem;object-fit:contain}.login-card .eyebrow{color:var(--color-accent-text)}.login-card input:focus-visible{border-color:var(--color-accent);outline-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.login-card .button{border-color:var(--color-accent);color:var(--color-accent-contrast);background:var(--color-accent)}.login-card .button:hover:not(:disabled){border-color:var(--color-accent-hover);background:var(--color-accent-hover)}.login-card .button:active:not(:disabled){transform:translateY(1px)}.login-card .button:focus-visible{outline-color:var(--color-accent)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:.6rem;border:1px solid var(--color-border);border-radius:.75rem;color:var(--color-text);background:var(--color-surface);cursor:pointer;touch-action:manipulation}.theme-toggle:hover{color:var(--color-accent-text);background:var(--color-accent-soft)}.theme-toggle__icon,.theme-toggle__icon svg{display:block;width:1.25rem;height:1.25rem}.theme-toggle__icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.theme-toggle--icon{position:absolute;z-index:2;top:.75rem;right:.75rem}.theme-toggle--menu{display:flex;justify-content:flex-start;gap:.65rem;width:100%}.eyebrow{margin:0 0 .35rem;color:var(--color-text-muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1{margin:0;color:var(--color-text-strong);font-size:clamp(1.75rem,7vw,2.25rem);line-height:1.12}.intro,.status-card>p{color:var(--color-text-muted);line-height:1.55}.portal-page,.profile-page{width:min(100%,72rem);min-height:100vh;margin:0 auto;padding:1rem}.portal-header,.simple-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.5rem 0 1.5rem}.portal-header h1{font-size:clamp(1.55rem,6vw,2.1rem)}.modules-section,.profile-card{padding:1.25rem;border:1px solid var(--color-border);border-radius:1.25rem;background:var(--color-surface);box-shadow:var(--shadow-card)}.section-heading{margin-bottom:1rem}.section-heading h2{margin:0;color:var(--color-text-strong);font-size:1.35rem}.modules-grid{display:grid;gap:.8rem}.module-tile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:6.5rem;padding:1rem;border:1px solid var(--color-border);border-radius:1rem;color:var(--color-text);background:var(--color-surface-subtle);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.module-tile:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card);transform:translateY(-1px)}.module-tile__icon{display:grid;width:2.8rem;height:2.8rem;margin-right:.85rem;border-radius:.8rem;color:var(--color-accent-text);background:var(--color-accent-soft);place-items:center}.module-tile__icon svg{width:1.5rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.module-tile__content{display:grid;min-width:0;gap:.3rem}.module-tile__content strong{color:var(--color-text-strong);font-size:1.05rem}.module-tile__content span{color:var(--color-text-muted);line-height:1.4}.module-tile__arrow{margin-left:.65rem;color:var(--color-accent-text);font-size:1.35rem}.modules-state{display:grid;min-height:8rem;margin:0;padding:1.25rem;border-radius:.9rem;color:var(--color-text-muted);background:var(--color-surface-subtle);line-height:1.5;place-content:center;text-align:center}.modules-state--error{gap:.35rem;color:var(--color-danger-text);background:var(--color-danger-soft)}.button--inline{width:auto;margin:.8rem auto 0}.user-menu{position:relative;flex:0 0 auto}.header-actions{display:flex;align-items:flex-start;gap:.5rem}.admin-trigger,.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;min-height:3rem;border:1px solid var(--color-border);border-radius:.9rem;color:var(--color-text);background:var(--color-surface);font:inherit;font-weight:750;cursor:pointer}.admin-trigger{gap:.45rem;padding:.5rem .7rem}.admin-trigger:hover,.icon-button:hover{color:var(--color-accent-text);background:var(--color-accent-soft)}.admin-trigger span:first-child{font-size:1.2rem}.drawer-overlay,.modal-overlay{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;background:var(--color-overlay)}.admin-drawer{position:absolute;top:0;right:0;width:min(88vw,21rem);min-height:100%;padding:1.25rem;background:var(--color-surface);box-shadow:var(--shadow-popover)}.admin-drawer__header,.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.admin-drawer__header h2,.modal__header h2{margin:0;color:var(--color-text-strong);font-size:1.35rem}.icon-button{flex:0 0 auto;padding:0;font-size:1.6rem;line-height:1}.admin-drawer nav{display:grid;gap:.5rem;margin-top:2rem}.admin-drawer nav a,.admin-drawer__disabled{display:flex;align-items:center;justify-content:space-between;min-height:3.25rem;padding:.8rem .9rem;border-radius:.75rem;color:var(--color-text);background:var(--color-accent-soft);font-weight:750;text-decoration:none}.admin-drawer nav a[aria-current=page]{color:var(--color-accent-contrast);background:var(--color-accent)}.admin-drawer__disabled{color:var(--color-disabled-text);background:var(--color-disabled-surface);cursor:not-allowed}.admin-drawer__disabled small{font-weight:650}.user-menu__trigger{display:flex;align-items:center;min-height:3rem;padding:.35rem .55rem;border:1px solid var(--color-border);border-radius:.9rem;color:var(--color-text);background:var(--color-surface);cursor:pointer;touch-action:manipulation}.user-menu__avatar{display:grid;width:2.15rem;height:2.15rem;border-radius:50%;color:var(--color-accent-contrast);background:var(--color-accent);font-weight:800;place-items:center}.user-menu__avatar img{display:block;width:1.7rem;height:1.7rem;object-fit:contain}.user-menu__identity{display:none;margin:0 .65rem;text-align:left}.user-menu__identity strong,.user-menu__identity small{display:block}.user-menu__identity small{margin-top:.1rem;color:var(--color-text-muted)}.user-menu__popover{position:absolute;z-index:10;top:calc(100% + .45rem);right:0;display:grid;width:min(13rem,calc(100vw - 2rem));padding:.4rem;border:1px solid var(--color-border);border-radius:.85rem;background:var(--color-surface);box-shadow:var(--shadow-popover)}.user-menu__popover a,.user-menu__popover button{min-height:2.75rem;padding:.65rem .75rem;border:0;border-radius:.55rem;color:var(--color-text);background:transparent;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.user-menu__popover a:hover,.user-menu__popover button:hover:not(:disabled){background:var(--color-accent-soft)}.user-menu__error{margin:.35rem;color:var(--color-danger-text);font-size:.88rem}.profile-page{width:min(100%,44rem)}.simple-header{align-items:center}.back-link{min-height:2.75rem;padding:.7rem 0;color:var(--color-accent-text);font-weight:700;text-decoration:none}.profile-card h1{margin-bottom:1.5rem}.profile-details{margin:0}.profile-details>div{padding:1rem 0;border-bottom:1px solid var(--color-border)}.profile-details dt{margin-bottom:.3rem;color:var(--color-text-muted);font-size:.88rem;font-weight:700}.profile-details dd{margin:0;color:var(--color-text);font-weight:650}.role-list{display:flex;flex-wrap:wrap;gap:.4rem}.role-badge{padding:.3rem .6rem;border-radius:999px;color:var(--color-accent-text);background:var(--color-accent-soft);font-size:.85rem;font-weight:800}.profile-actions{display:grid;gap:.75rem;margin-top:1.5rem}.profile-actions .button{margin-top:0}.button--link{display:grid;place-items:center;text-decoration:none}.field{margin-top:1rem}label{display:block;margin-bottom:.4rem;font-weight:700}input,textarea{width:100%;min-height:3rem;padding:.75rem .85rem;border:1px solid var(--color-border-strong);border-radius:.7rem;color:var(--color-text);background:var(--color-surface)}input[type=checkbox]{accent-color:var(--color-accent)}textarea{min-height:6rem;resize:vertical}input[readonly]{color:var(--color-text-muted);background:var(--color-disabled-surface);cursor:not-allowed}.button{width:100%;min-height:3rem;margin-top:1.25rem;padding:.75rem 1rem;border:1px solid var(--color-accent);border-radius:.7rem;color:var(--color-accent-contrast);background:var(--color-accent);font-weight:750;cursor:pointer;touch-action:manipulation}.button:hover:not(:disabled){background:var(--color-accent-hover)}.button:active:not(:disabled){background:var(--color-accent-active)}.button--secondary{color:var(--color-accent-text);background:var(--color-surface)}.button--secondary:hover:not(:disabled),.button--secondary:active:not(:disabled){color:var(--color-accent-text);background:var(--color-accent-soft)}.button--compact{width:auto;margin:0}.button--danger{border-color:var(--color-danger);color:#fff;background:var(--color-danger)}.button--danger:hover:not(:disabled){background:var(--color-danger-hover)}.button--danger:active:not(:disabled){background:var(--color-danger-hover)}.button:disabled{cursor:wait;opacity:.65}.form-alert,.field-error{color:var(--color-danger-text)}.form-alert{padding:.75rem;border-radius:.65rem;background:var(--color-danger-soft)}.field-error{margin:.35rem 0 0;font-size:.85rem}.password-hint{margin-bottom:1.25rem;color:var(--color-text-muted);font-size:.9rem}.admin-page{width:min(100%,60rem);min-height:100vh;margin:0 auto;padding:1rem}.admin-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.5rem 0 1.5rem}.admin-page__header h1{font-size:clamp(1.55rem,6vw,2.1rem)}.users-panel{padding:1.25rem;border:1px solid var(--color-border);border-radius:1.25rem;background:var(--color-surface);box-shadow:var(--shadow-card)}.users-panel__heading{display:grid;gap:1rem;margin-bottom:1rem}.users-panel__heading h2{margin:0;color:var(--color-text-strong);font-size:1.35rem}.action-message{padding:.75rem;border-radius:.65rem;color:var(--color-success-text);background:var(--color-success-soft)}.user-card-list{display:grid;gap:.85rem}.user-card{padding:1rem;border:1px solid var(--color-border);border-radius:.9rem;background:var(--color-surface-subtle)}.user-card__main{display:grid;gap:.75rem}.user-card__plh{color:var(--color-accent-text);font-size:.88rem;letter-spacing:.03em}.user-card h3{margin:.2rem 0 0;color:var(--color-text);font-size:1.1rem}.user-card p{margin:.25rem 0 0;color:var(--color-text-muted)}.user-card__statuses{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.4rem}.status-badge{padding:.3rem .55rem;border-radius:999px;color:var(--color-warning-text);background:var(--color-warning-soft);font-size:.82rem;font-weight:800}.status-badge--locked{color:var(--color-danger-text);background:var(--color-danger-soft)}.user-card>.role-list{margin-top:.85rem}.user-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:1rem}.user-card__actions button{min-height:2.75rem;padding:.55rem;border:1px solid var(--color-border-strong);border-radius:.6rem;color:var(--color-accent-text);background:var(--color-surface);font:inherit;font-weight:700;cursor:pointer}.user-card__actions button:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-soft)}.user-card__actions .danger-link{color:var(--color-danger-text)}.modal-overlay{z-index:40;display:grid;padding:1rem;overflow-y:auto;place-items:start center}.modal{width:min(100%,34rem);margin:1rem 0;padding:1.25rem;border-radius:1rem;background:var(--color-surface);box-shadow:var(--shadow-popover)}.modal-intro{margin:1rem 0;color:var(--color-text-muted);line-height:1.5}.notice,.danger-notice{padding:.75rem;border-radius:.65rem;color:var(--color-warning-text);background:var(--color-warning-soft)}.danger-notice{color:var(--color-danger-text);background:var(--color-danger-soft)}.field-hint{margin:.35rem 0 0;color:var(--color-text-muted);font-size:.85rem}.role-fieldset{margin:1rem 0 0;padding:0;border:0}.role-fieldset legend{margin-bottom:.55rem;font-weight:700}.role-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.role-options label{display:flex;align-items:center;justify-content:center;min-height:3rem;margin:0;border:1px solid var(--color-border-strong);border-radius:.65rem;cursor:pointer}.role-options input{width:1.1rem;min-height:auto;margin:0 .4rem 0 0}.visibility-option{display:flex;align-items:center;min-height:3rem;margin:1rem 0 0;padding:.65rem .75rem;border:1px solid var(--color-border-strong);border-radius:.65rem;cursor:pointer}.visibility-option input{width:1.15rem;min-height:auto;margin:0 .55rem 0 0}.module-admin-list{display:grid;gap:.85rem}.module-admin-card{min-width:0;padding:1rem;border:1px solid var(--color-border);border-radius:.9rem;background:var(--color-surface-subtle)}.module-admin-card__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.module-order{color:var(--color-text-muted);font-size:.82rem;font-weight:700}.module-admin-card h3{margin:.2rem 0 0;color:var(--color-text);font-size:1.1rem}.module-admin-card__description{margin:.85rem 0 0;color:var(--color-text-muted);line-height:1.5}.module-admin-card__url{margin:.65rem 0;overflow-wrap:anywhere;color:var(--color-accent-text);font-size:.9rem;font-weight:650}.status-badge--visible{color:var(--color-success-text);background:var(--color-success-soft)}.status-badge--hidden{color:var(--color-text-muted);background:var(--color-disabled-surface)}.module-admin-card__actions button:disabled{color:var(--color-disabled-text);background:var(--color-disabled-surface);cursor:not-allowed;opacity:.7}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.25rem}.modal-actions .button{margin:0}@media(min-width:42rem){.auth-page,.status-page{padding:2rem}.auth-card,.status-card{padding:2.25rem}.portal-page,.profile-page,.admin-page{padding:2rem}.modules-section,.profile-card,.users-panel{padding:1.75rem}.modules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-menu__identity{display:block}.profile-actions{grid-template-columns:1fr 1fr}.users-panel__heading,.user-card__main{grid-template-columns:1fr auto;align-items:start}.user-card__actions{display:flex;flex-wrap:wrap}.user-card__actions button{padding-inline:.85rem}.modal{padding:1.75rem}}@media(min-width:64rem){.modules-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
