:root {
    color-scheme: light;
    --page: #f4f5f6;
    --surface: #fff;
    --surface-soft: #f8f9fa;
    --text: #161a1f;
    --muted: #68717c;
    --border: #e1e4e8;
    --accent: #e31b2b;
    --accent-dark: #bd1020;
    --accent-soft: #fff0f1;
    --sidebar: #12171d;
    --sidebar-muted: #aeb5bd;
    --success: #198754;
    --shadow: 0 18px 50px rgba(20,27,36,.08);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    font-synthesis: none;
}
:root{--bg:var(--page);--surface-2:var(--surface-soft);--ink:var(--text);--line:var(--border);--nav:var(--sidebar);--pink:var(--accent);--yellow:#facc15}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}.topline{height:4px;background:linear-gradient(90deg,var(--pink) 26%,#303842 26%)}.nav{position:sticky;top:0;z-index:20;background:var(--nav);color:#fff}.nav-inner{max-width:1240px;margin:auto;min-height:76px;padding:12px 24px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap;line-height:1.3}.brand b{font-size:16px;letter-spacing:.08em}.brand small{display:block;font-size:9px;letter-spacing:.16em;color:#bac2ce}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--pink);color:#fff;font-size:23px;font-weight:900}.nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}.nav-links a{padding:10px 14px;border-radius:99px;color:#bec4cb;font-size:13px}.nav-links a:hover,.nav-links a.active{background:#ffffff14;color:#fff}.nav-links a[href="index.html"]{background:var(--yellow);color:#000}.nav-actions{display:flex;align-items:center;gap:8px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:99px;background:#ffffff08;border:1px solid #ffffff30;color:#fff;flex-shrink:0}.settings-btn{background:var(--yellow);color:#000;border-color:var(--yellow)}.logout-btn{border:0;border-radius:99px;padding:11px 16px;font-size:11px;font-weight:750;background:var(--accent);color:#fff}.menu-btn{display:none}.wrap{max-width:1160px;margin:auto;padding:28px 24px 0}.breadcrumb{font-size:12px;color:var(--muted);margin:12px 0 24px;display:flex;gap:12px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:36px;border:1px solid var(--line);border-radius:28px;padding:44px;background:var(--surface)}.hero h1,.page-intro h1{font-size:clamp(36px,4.9vw,62px);letter-spacing:-.055em;line-height:1.08;margin:20px 0}.hero h1 em{font-style:normal;color:var(--accent)}.hero-copy>p,.page-intro p{color:var(--muted);font-size:16px}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:850;text-transform:uppercase;color:var(--accent)}.hero-media img{display:block;width:100%;border-radius:20px}.hero-cta,.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}.hero-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:25px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border:1px solid transparent;border-radius:12px;font-size:12px;font-weight:750}.btn-primary{background:var(--accent);color:#fff}.btn-quiet{background:var(--surface-2);color:var(--ink);border-color:var(--line)}.btn:hover{filter:brightness(1.08)}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:22px 0 36px;border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden}.stats>div{padding:22px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats strong{font-size:22px;display:block}.stats span{font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 18px}h2{margin:6px 0 12px;font-size:25px;letter-spacing:-.04em}h3{font-size:19px;letter-spacing:-.025em;margin:14px 0 8px}.grid{display:grid;gap:20px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px;min-width:0}.card p{color:var(--muted)}.tile-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--surface-2);color:var(--accent);font-size:22px;flex-shrink:0}.text-link{font-size:12px;font-weight:750;color:var(--accent)}.badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.badge.success{background:#1caa6318;color:#19824c;border-color:#1caa6340}.badge.warning{background:#efc63022;color:#946b00;border-color:#efc63060}.badge.danger{background:#ef52651a;color:var(--accent);border-color:#ef526540}body.dark-mode .badge.success{color:#67df99}body.dark-mode .badge.warning{color:#ffdc35}.callout{display:flex;align-items:flex-start;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;margin:24px 0}.callout p{color:var(--muted);margin:5px 0 0;font-size:12px}.page-intro{margin:30px 0}.section-card{margin-top:24px}.section-card .section-heading{margin-top:0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:15px;border-bottom:1px solid var(--line);font-size:12px}th{background:var(--surface-2);font-size:10px;letter-spacing:.08em;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}.gallery-card{margin:0}.gallery-card img{display:block;width:100%;max-height:560px;object-fit:contain;border-radius:16px}.gallery-card figcaption{display:flex;justify-content:space-between;gap:14px;padding-top:20px}.gallery-card figcaption span{font-size:12px;color:var(--muted)}.settings-card{max-width:820px}.field{display:block;margin:15px 0}.field span{display:block;font-size:12px;font-weight:750;margin-bottom:8px}.field input,.field textarea,.field select{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--ink)}.field textarea{resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:2px}.form-status{font-size:12px;min-height:20px}.footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);padding:32px 0;margin-top:36px;border-top:1px solid var(--line)}.app-modal{max-width:460px;width:calc(100% - 36px);padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);box-shadow:0 30px 100px #0007}.app-modal::backdrop{background:#060b14bb;backdrop-filter:blur(5px)}.app-modal p{color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:900px){.nav-inner{gap:15px}.hero{padding:28px;gap:24px}.three{grid-template-columns:1fr}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--nav);padding:14px 24px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-actions{margin-left:auto}.menu-btn{display:inline-flex}}@media(max-width:650px){.nav-inner{padding:12px 15px;gap:10px}.brand b{font-size:13px}.brand small{font-size:8px;max-width:120px;white-space:normal}.brand-mark{width:30px;height:30px}.nav-actions{gap:5px}.icon-btn{width:32px;height:32px}.logout-btn{padding:10px;font-size:10px}.wrap{padding:16px 18px 0}.hero,.two{grid-template-columns:1fr}.hero{padding:25px}.hero h1{font-size:42px}.hero-media{margin-top:5px}.stats{grid-template-columns:1fr 1fr}.stats>div{padding:18px}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.card{padding:22px}.gallery-card figcaption,.footer{flex-direction:column}.hero-cta .btn{width:100%}.table-wrap th,.table-wrap td{padding:10px;font-size:11px}.table-wrap .badge{font-size:9px;padding:3px 7px}.button-row{gap:8px}}@media print{.nav,.hero-cta,.footer,.button-row{display:none}.wrap{max-width:none}.card,.hero{break-inside:avoid}body{background:#fff;color:#000}}

.display-controls { position: fixed; z-index: 50; top: 50%; right: 12px; display: grid; gap: 12px; transform: translateY(-50%); }
.display-button { display: grid; width: 42px; height: 42px; place-items: center; border: 0; border-radius: 50%; background: #facc15; color: #111827; box-shadow: 0 5px 16px rgba(24,27,55,.25); font-size: 21px; }
.display-button:hover { filter: brightness(.94); }
.display-panel { position: absolute; top: 0; right: 54px; width: 192px; border: 1px solid var(--border); border-radius: 14px; padding: 12px; background: var(--surface); color: var(--text); box-shadow: 0 16px 45px rgba(15,23,42,.22); }
.display-panel-title { padding: 2px 5px 9px; font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.theme-title { margin-top: 10px; border-top: 1px solid var(--border); padding-top: 11px; }
.display-panel > button { display: grid; width: 100%; min-height: 37px; grid-template-columns: 22px 1fr 16px; align-items: center; gap: 8px; border: 1px solid transparent; border-radius: 8px; padding: 5px 7px; background: transparent; color: inherit; font-size: 11px; font-weight: 700; text-align: left; }
.display-panel > button:hover { background: var(--surface-soft); }
.display-panel > button.is-active { border-color: color-mix(in srgb, var(--accent) 20%, var(--border)); background: var(--accent-soft); color: var(--accent); }
.display-panel > button span:last-child { visibility: hidden; }
.display-panel > button.is-active span:last-child { visibility: visible; }
.theme-swatch { width: 19px; height: 19px; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px rgba(15,23,42,.2); }
.swatch-theme-1 { background: linear-gradient(135deg,#e31b2b 0 50%,#f1c40f 50%); }
.swatch-theme-2 { background: linear-gradient(135deg,#7c3aed 0 50%,#22d3ee 50%); }
.mode-row { position: relative; display: flex; min-height: 33px; align-items: center; justify-content: space-between; padding: 2px 5px; font-size: 11px; font-weight: 720; }
.mode-row input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.mode-row i { position: relative; width: 39px; height: 22px; border-radius: 20px; background: #cbd0da; transition: background .2s ease; }
.mode-row i::after { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.25); content: ""; transition: transform .2s ease; }
.mode-row input:checked + i { background: #31ba2d; }
.mode-row input:checked + i::after { transform: translateX(17px); }
body.theme-design-3 { --accent: #7c3aed; --accent-dark: #6d28d9; --accent-soft: #f0eaff; --page: #eeeaff; --sidebar: #3b1b78; --border: #ded7f0; background: linear-gradient(145deg,#eeeaff,#e7f9ff); }
body.dark-mode { color-scheme: dark; --page: #111418; --surface: #191e24; --surface-soft: #20262d; --text: #f1f3f5; --muted: #a2aab4; --border: #303841; --accent: #ff5965; --accent-dark: #e33448; --accent-soft: #351d22; --sidebar: #0b0e12; --shadow: 0 18px 50px rgba(0,0,0,.24); }
body.theme-design-3.dark-mode { --page: #080617; --surface: #17112b; --surface-soft: #120d23; --text: #eeeaff; --muted: #bdb3dc; --border: #493879; --accent: #a78bfa; --accent-dark: #8b5cf6; --accent-soft: #241b42; --sidebar: #140b2e; background: linear-gradient(145deg,#080617,#16102b); }

body{--bg:var(--page);--surface-2:var(--surface-soft);--ink:var(--text);--line:var(--border);--nav:var(--sidebar);--pink:var(--accent)}.card{border-radius:17px;box-shadow:var(--shadow)}.btn{min-height:42px;border:0;border-radius:11px;padding:10px 15px;font-weight:750;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.btn:hover{filter:brightness(.96);transform:translateY(-1px)}.btn-primary{background:var(--accent);box-shadow:0 7px 16px color-mix(in srgb,var(--accent) 22%,transparent)}.btn-primary:hover{background:var(--accent-dark)}.btn-quiet{border:1px solid var(--border)}.hero{background:linear-gradient(125deg,var(--accent-soft),var(--surface));border-radius:17px}.stats,.callout{border-radius:17px}.tile-icon{background:var(--accent-soft)}.nav-links a.active:not([href="index.html"]){background:var(--accent-soft);color:var(--accent)}.logout-btn{background:#d71920;color:#fff}.mode-row input:focus-visible+i{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:700px){.display-controls{top:auto;right:12px;bottom:14px;display:flex;transform:none}.display-panel{top:auto;right:0;bottom:52px}}

.login-page { --page: #10151b; --surface: #1b222a; --surface-soft: #111820; --text: #f5f7f9; --muted: #b2bac3; --border: #35404b; --accent: #ff596a; --accent-dark: #e33448; --accent-soft: rgba(255,89,106,.15); position: relative; min-height: 100vh; padding: 4px 24px 0; background: radial-gradient(ellipse at 77% 44%, rgba(43,57,69,.27), transparent 42%), #10151b; color: var(--text); color-scheme: dark; }
.login-page::before { position: absolute; top: 0; left: 0; width: 26%; height: 4px; background: linear-gradient(90deg, #ff596a, #e33448); content: ""; }
.login-top { display: flex; max-width: 1080px; align-items: center; justify-content: space-between; margin: 0 auto; padding: 25px 0; }
.login-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--text); font-size: 15px; font-weight: 900; letter-spacing: .1em; text-decoration: none; }
.login-brand-mark, .login-lock { display: grid; place-items: center; border-radius: 11px; background: var(--accent); color: #fff; font-size: 20px; }
.login-brand-mark { width: 36px; height: 36px; }
.login-brand small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; font-weight: 650; letter-spacing: .17em; }
.login-top-note, .login-model { display: inline-flex; align-items: center; gap: 9px; border: 1px solid var(--border); border-radius: 999px; padding: 10px 14px; color: var(--muted); font-size: 12px; font-weight: 700; }
.login-top-note i, .login-model i { width: 7px; height: 7px; border-radius: 50%; background: #31ba2d; }
.login-layout { display: grid; width: min(100%, 1080px); min-height: calc(100vh - 110px); grid-template-columns: 1fr minmax(330px, 440px); align-items: center; gap: clamp(30px, 7vw, 100px); margin: 0 auto; padding: 40px 0 90px; }
.login-intro .eyebrow, .login-card .eyebrow { color: var(--accent); font-size: 11px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.login-intro h1 { margin: 18px 0; font-size: clamp(42px, 6.8vw, 76px); letter-spacing: -.055em; line-height: 1.04; }
.login-intro h1 em { color: var(--accent); font-style: normal; }
.login-intro p { max-width: 520px; color: var(--muted); font-size: 17px; line-height: 1.65; }
.login-model { margin-top: 15px; }
.login-card { overflow: hidden; border: 1px solid var(--border); border-radius: 25px; padding: clamp(26px, 4vw, 42px); background: var(--surface); box-shadow: 0 20px 60px rgba(0,0,0,.13); }
.login-lock { width: 45px; height: 45px; margin-bottom: 25px; border-radius: 15px; font-size: 22px; }
.login-content { padding: 0; }
.login-content h2 { margin: 8px 0; font-size: 29px; letter-spacing: -.04em; }
.login-content > .muted { margin: 0 0 26px; line-height: 1.5; }
.login-content .stack-form { gap: 8px; }
.login-content .stack-form label { margin-top: 10px; font-size: 12px; font-weight: 750; }
.login-content .stack-form input { height: 48px; border-radius: 11px; background: var(--surface-soft); }
.login-content .stack-form input:focus { outline: 2px solid var(--accent); outline-offset: 2px; }
.login-content .stack-form .btn { min-height: 49px; margin-top: 12px; border-radius: 11px; }
.login-content .notice-error { border: 1px solid rgba(255,89,106,.25); background: rgba(255,89,106,.12); color: var(--text); }
.login-footnote { margin: 18px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.login-card h2{font-size:29px;letter-spacing:-.04em;margin:8px 0}.login-card>.eyebrow{color:var(--accent)}.login-card>p{color:var(--muted)}.login-card .field input{height:48px;border-radius:11px;background:var(--surface-soft)}.login-card .submit{width:100%;height:49px;margin-top:12px;border:0;border-radius:11px;background:var(--accent);color:#fff;font:inherit;font-weight:800}.login-card .error{padding:11px 13px;border:1px solid #ff596a40;border-radius:10px;background:#ff596a20}.login-page:not(.dark-mode){--page:#f4f5f6;--surface:#fff;--surface-soft:#f8f9fa;--text:#161a1f;--muted:#68717c;--border:#e1e4e8;--accent:#e31b2b;--accent-dark:#bd1020;--accent-soft:#fff0f1;background:var(--page);color-scheme:light}.login-page.theme-design-3:not(.dark-mode){--accent:#7c3aed;--accent-dark:#6d28d9;--accent-soft:#f0eaff;--page:#eeeaff;--sidebar:#3b1b78;--border:#ded7f0;background:linear-gradient(145deg,#eeeaff,#e7f9ff)}.login-page.dark-mode{--page:#111418;--surface:#191e24;--surface-soft:#20262d;--text:#f1f3f5;--muted:#a2aab4;--border:#303841;--accent:#ff5965;--accent-dark:#e33448;--accent-soft:#351d22}.login-page.theme-design-3.dark-mode{--page:#080617;--surface:#17112b;--surface-soft:#120d23;--text:#eeeaff;--muted:#bdb3dc;--border:#493879;--accent:#a78bfa;--accent-dark:#8b5cf6;--accent-soft:#241b42;background:linear-gradient(145deg,#080617,#16102b)}@media(max-width:760px){.login-layout{grid-template-columns:1fr;gap:24px;min-height:auto;padding:25px 0 80px}.login-intro h1{font-size:43px}.login-card{max-width:560px;width:100%;margin:auto}.login-top{padding:20px 0}}

body.dark-mode .display-panel { background: rgba(25,30,36,.98); }
body.dark-mode .display-panel > button:hover { background: #303841; }
body.dark-mode .display-panel > button.is-active { border-color: var(--accent); background: var(--accent-soft); color: var(--text); }

body[data-palette=ocean]{--page:#eef7fa;--surface:#ffffff;--surface-soft:#e5f1f6;--text:#153447;--muted:#526f81;--border:#c9dfe8;--sidebar:#082c3f;--accent:#007e98;--accent-dark:#00647a;--accent-soft:#d9f2f5;background:radial-gradient(ellipse at top right,#c9ecf1,transparent 55%),var(--page)}
body[data-palette=ocean].dark-mode{--page:#071923;--surface:#102a38;--surface-soft:#153342;--text:#eefbff;--muted:#a5c5d3;--border:#285165;--sidebar:#04141f;--accent:#007d96;--accent-dark:#00677e;--accent-soft:#123e4b;background:radial-gradient(ellipse at top right,#0e3945,transparent 55%),var(--page)}
body[data-palette=forest]{--page:#f1f5ee;--surface:#fffefa;--surface-soft:#e8eee3;--text:#243b2b;--muted:#5c705f;--border:#d1dcc8;--sidebar:#152e25;--accent:#39754d;--accent-dark:#2d603d;--accent-soft:#e2eedb;background:radial-gradient(ellipse at top right,#e0ead1,transparent 55%),var(--page)}
body[data-palette=forest].dark-mode{--page:#101c18;--surface:#1a2b23;--surface-soft:#21362b;--text:#f1f6ec;--muted:#b4c6b7;--border:#3b5340;--sidebar:#0b1712;--accent:#447b53;--accent-dark:#356443;--accent-soft:#263f2c;background:radial-gradient(ellipse at top right,#273b26,transparent 55%),var(--page)}
body[data-palette=copper]{--page:#faf2eb;--surface:#fffdfa;--surface-soft:#f4e7db;--text:#483027;--muted:#80695c;--border:#e6ceba;--sidebar:#35221e;--accent:#b35b33;--accent-dark:#944724;--accent-soft:#f8e3d2;background:radial-gradient(ellipse at top right,#f4dbbc,transparent 55%),var(--page)}
body[data-palette=copper].dark-mode{--page:#211713;--surface:#30231e;--surface-soft:#3a2b23;--text:#fff5e9;--muted:#d1b7a3;--border:#5c4436;--sidebar:#160e0c;--accent:#ad5936;--accent-dark:#904529;--accent-soft:#493022;background:radial-gradient(ellipse at top right,#442b1b,transparent 55%),var(--page)}
.swatch-ocean{background:linear-gradient(135deg,#007e98 50%,#b9f3ed 50%)}.swatch-forest{background:linear-gradient(135deg,#39754d 50%,#dce8b2 50%)}.swatch-copper{background:linear-gradient(135deg,#b35b33 50%,#f4d1a3 50%)}.display-panel{max-height:calc(100dvh - 105px);overflow:auto}body[data-palette=ocean] .display-panel,body[data-palette=forest] .display-panel,body[data-palette=copper] .display-panel{background:var(--surface);color:var(--text)}
body[data-palette=ocean].dark-mode{--accent:#75d5df;--accent-dark:#8ce5ee}body[data-palette=forest].dark-mode{--accent:#a0cd94;--accent-dark:#b4dca9}body[data-palette=copper].dark-mode{--accent:#f1b67f;--accent-dark:#f8c89b}body:is([data-palette=ocean],[data-palette=forest],[data-palette=copper]).dark-mode :is(.btn-primary,.side-tabs button.active){color:#14261e}
.theme-swatch.fa-solid{display:grid;place-items:center;font-size:10px;color:#fff}.display-button>.fa-solid{font-size:19px;line-height:1}.login-card .submit>.fa-solid{margin-right:8px}
.header-actions{display:flex;gap:12px;align-items:center}.login-top .display-controls,.header-actions .display-controls{position:relative;top:auto;right:auto;bottom:auto;transform:none;display:block}.login-top .display-panel,.header-actions .display-panel{top:54px;right:0;bottom:auto}@media(max-width:500px){.login-brand{font-size:12px}.login-brand small{font-size:7px}}
