:root{color:#161616;background:radial-gradient(circle at 12% 0%,rgba(180,134,64,.18),transparent 28%),radial-gradient(circle at 88% 8%,rgba(25,25,25,.1),transparent 24%),linear-gradient(180deg,#fbfaf8,#f1efeb);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.bootScreen,.loginShell{align-items:center;background:linear-gradient(140deg,#10222eeb,#184f5bdb),url(/portal-bg.svg);background-size:cover;color:#fff;display:flex;min-height:100vh;padding:32px}.bootScreen{font-size:28px;font-weight:700;justify-content:center}.loginPanel{background:#fffffff5;border:1px solid rgba(255,255,255,.42);border-radius:8px;box-shadow:0 24px 70px #06152047;color:#18242d;margin:0 auto;max-width:440px;padding:38px;width:100%}.brandMark{align-items:center;background:#163a4a;border-radius:8px;color:#fff;display:flex;font-size:22px;font-weight:800;height:48px;justify-content:center;margin-bottom:28px;width:48px}.eyebrow{color:#2b7280;font-size:12px;font-weight:800;letter-spacing:0;margin:0 0 10px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}.loginPanel h1{font-size:clamp(38px,10vw,54px);line-height:1;margin-bottom:12px}.intro{color:#54636d;font-size:16px;line-height:1.5;margin-bottom:30px}.loginForm{display:grid;gap:18px}.loginForm label{color:#374853;display:grid;font-size:14px;font-weight:700;gap:8px}.loginForm input{background:#fff;border:1px solid #cdd7de;border-radius:6px;color:#17202a;min-height:46px;padding:11px 12px;width:100%}.loginForm input:focus{border-color:#2b7280;box-shadow:0 0 0 3px #2b728029;outline:none}.primaryButton,.ghostButton,.dangerButton{border:0;border-radius:6px;cursor:pointer;font-weight:800;min-height:44px;padding:10px 16px}.primaryButton{background:#163a4a;color:#fff}.primaryButton:hover{background:#205164}.primaryButton:disabled{cursor:wait;opacity:.72}.ghostButton{background:#edf3f5;color:#163a4a}.ghostButton:hover{background:#dfeaec}.dangerButton{background:#fff0ed;color:#a83220}.dangerButton:hover{background:#f9ddd7}.formError{background:#fff0ed;border:1px solid #f0beb4;border-radius:6px;color:#a83220;font-size:14px;margin:0;padding:10px 12px}.setupBox{background:#f4f7f9;border:1px solid #d7e1e7;border-radius:8px;display:grid;gap:8px;padding:12px}.setupBox span{color:#61727c;font-size:13px;line-height:1.4}.setupBox code{background:#fff;border:1px solid #cdd7de;border-radius:6px;color:#17202a;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;padding:8px}.dashboardShell{margin:0 auto;max-width:1220px;min-height:100vh;padding:26px}.topbar,.dashboardIntro,.tileHeader,.userTools{align-items:center;display:flex}.topbar{background:linear-gradient(145deg,#090a0cfa,#1a1b1ef7),radial-gradient(circle at 78% 16%,rgba(184,137,53,.24),transparent 28%);border:1px solid rgba(184,137,53,.32);border-radius:8px;box-shadow:0 28px 70px #15120e2e,inset 0 1px #ffffff14;color:#f7f3ea;justify-content:space-between;gap:28px;margin-bottom:22px;min-height:320px;overflow:hidden;padding:clamp(28px,5vw,54px);position:relative}.topbar:after{background:linear-gradient(90deg,transparent,rgba(184,137,53,.28),transparent),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:100% 100%,64px 64px;content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.topbar h1{color:#fff;font-size:clamp(26px,5vw,42px);line-height:1.05;margin:0}.portalIdentity{align-items:start;display:grid;gap:12px;max-width:780px;position:relative;z-index:1}.portalMonogram{color:#fff;font-size:44px;font-weight:900;line-height:1;margin-bottom:8px;text-shadow:0 10px 24px rgba(0,0,0,.26)}.portalIdentity .eyebrow{color:#c69b51;font-size:14px;margin-bottom:0}.portalIdentity h1{font-size:clamp(62px,11vw,118px);font-weight:300;line-height:.92;letter-spacing:0}.goldRule{background:linear-gradient(90deg,transparent,#c69b51,transparent);display:block;height:2px;margin:4px 0 2px;width:92px}.portalMotto{color:#d3a65b;font-size:clamp(25px,4vw,46px);font-weight:400;line-height:1.05;margin:0}.userTools{color:#f7f3ea;flex-wrap:wrap;font-size:14px;font-weight:700;gap:12px;justify-content:flex-end;position:relative;z-index:1}.topbar .ghostButton{background:#ffffff14;border:1px solid rgba(198,155,81,.38);color:#fff}.topbar .ghostButton:hover{background:#c69b512e}.dashboardIntro{background:#fffffff0;border:1px solid rgba(197,183,156,.64);border-radius:8px;box-shadow:0 18px 42px #211d1714;justify-content:space-between;gap:24px;margin-bottom:22px;padding:24px}.dashboardIntro h2{font-size:24px;font-weight:600;margin-bottom:8px}.dashboardIntro p{color:#596a75;line-height:1.55;margin-bottom:0;max-width:680px}.summaryMetric{background:#111214;border:1px solid rgba(198,155,81,.45);border-radius:8px;min-width:148px;padding:16px;text-align:right}.summaryMetric strong{color:#fff;display:block;font-size:34px;line-height:1}.summaryMetric span{color:#c69b51;font-size:13px;font-weight:800}.tileGrid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.appTile{background:linear-gradient(180deg,#fffffffa,#faf8f4fa);border:1px solid rgba(197,183,156,.72);border-radius:8px;box-shadow:0 12px 34px #231e1814;display:grid;min-height:194px;padding:22px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;text-align:left}a.appTile:hover,.appTileButton:hover{border-color:#b48640;box-shadow:0 18px 46px #231e1824;transform:translateY(-2px)}.appTileButton{color:inherit;cursor:pointer;font:inherit}.disabledTile{color:#6b7b84}.tileHeader{align-items:flex-start;gap:12px;justify-content:space-between}.appTile h3{color:#111214;font-size:19px;line-height:1.22;margin-bottom:18px}.appTile p{color:#596a75;line-height:1.5;margin-bottom:22px}.statusBadge{border-radius:999px;flex:0 0 auto;font-size:12px;font-weight:800;padding:6px 10px}.statusAvailable{background:#111214;border:1px solid rgba(198,155,81,.42);color:#d3a65b}.statusSoon{background:#f0ebe2;color:#6f624f}.tileAction{align-self:end;color:#9a6f2c;font-size:13px;font-weight:900;text-transform:uppercase}.skeleton{animation:pulse 1.2s ease-in-out infinite;background:linear-gradient(90deg,#fff,#eef3f5,#fff);background-size:220% 100%}.adminMessage{background:#edf7f8;border:1px solid #cfe3e7;border-radius:8px;color:#1d5f6d;font-weight:700;margin-bottom:18px;padding:12px 14px}.adminLayout{display:grid;gap:20px;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr)}.adminSection{background:#fff;border:1px solid #dde5ea;border-radius:8px;padding:22px}.adminSection h2{font-size:22px;margin-bottom:18px}.adminForm,.adminList,.appConfigList{display:grid;gap:12px}.adminForm{margin-bottom:18px}.emailTestForm{margin-top:14px}.checkRow{align-items:center;color:#374853;display:flex;font-size:14px;font-weight:700;gap:10px}.checkRow input{width:auto}.adminForm input,.adminForm select,.appConfigRow input,.appConfigRow select{background:#fff;border:1px solid #cdd7de;border-radius:6px;color:#17202a;min-height:42px;padding:9px 10px;width:100%}.adminRow,.appConfigRow{border:1px solid #e1e8ec;border-radius:8px;display:grid;gap:12px;padding:14px}.adminRow{align-items:center;grid-template-columns:1fr auto}.rowActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.adminRow strong,.appConfigRow strong{display:block;margin-bottom:4px}.adminRow span,.appConfigRow span{color:#61727c;display:block;font-size:13px;line-height:1.4}.appConfigRow{grid-template-columns:minmax(170px,1fr) minmax(220px,1.1fr) 150px auto}@keyframes pulse{0%{background-position:0 0}to{background-position:-220% 0}}@media(max-width:720px){.loginShell,.dashboardShell{padding:20px}.loginPanel{padding:28px}.topbar,.dashboardIntro,.adminLayout{align-items:flex-start;flex-direction:column}.adminLayout{display:flex}.adminSection{width:100%}.adminRow,.appConfigRow{grid-template-columns:1fr}.summaryMetric{text-align:left;width:100%}}
