:root{--bg: #0C0B0A;--bgSubtle: #14120F;--bgElevated: #1C1916;--fg: #F5EFE6;--fgMuted: #A39F95;--fgSubtle: #6E6A60;--accent: #D4AF6F;--accentFg: #0C0B0A;--border: rgba(245, 239, 230, .1);--success: #7BA882;--danger: #C77B7B;--radius: 10px;--font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--fg);font-size:15px;line-height:1.55;min-height:100vh}body.has-nav{padding-bottom:calc(72px + env(safe-area-inset-bottom))}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;padding-top:calc(14px + env(safe-area-inset-top));background:#0c0b0aeb;backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.topbar__brand{font-weight:600;letter-spacing:.06em}.topbar__brand em{color:var(--accent);font-style:normal}.topbar__logout{background:none;border:1px solid var(--border);color:var(--fgMuted);padding:6px 12px;border-radius:8px;font-size:13px}.topbar__right{display:flex;align-items:center;gap:8px}select.lang-sel{width:auto;background:var(--bgElevated);color:var(--fgMuted);border:1px solid var(--border);border-radius:8px;padding:5px 8px;font-size:12.5px;font-family:inherit;cursor:pointer}select.lang-sel--floating{position:fixed;top:14px;right:14px;z-index:50}.bottomnav{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;background:#12100ef5;backdrop-filter:blur(14px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.bottomnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px 8px;font-size:10.5px;letter-spacing:.04em;color:var(--fgSubtle)}.bottomnav a.is-active{color:var(--accent)}.bottomnav svg{width:21px;height:21px}@media(min-width:900px){body.has-nav{padding-bottom:0;padding-left:210px}.bottomnav{top:0;bottom:0;right:auto;width:210px;flex-direction:column;justify-content:flex-start;border-top:0;border-right:1px solid var(--border);padding-top:74px;gap:4px}.bottomnav a{flex:0 0 auto;flex-direction:row;gap:12px;font-size:14px;padding:12px 22px;justify-content:flex-start}.topbar{padding-left:232px}}.page{padding:20px 18px 40px;max-width:860px;margin:0 auto}.page h1{font-size:22px;font-weight:600;margin-bottom:4px}.page__sub{color:var(--fgMuted);font-size:13.5px;margin-bottom:22px}.card{background:var(--bgSubtle);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px}.card h2{font-size:15px;font-weight:600;margin-bottom:12px;color:var(--accent)}.bk-row{display:flex;align-items:center;gap:14px;padding:12px 4px;border-bottom:1px solid var(--border)}.bk-row:last-child{border-bottom:0}.bk-row__time{font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent);min-width:88px;font-size:13.5px}.bk-row__main{flex:1;min-width:0}.bk-row__name{font-weight:600}.bk-row__meta{color:var(--fgMuted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bk-row--cancelled{opacity:.45}.bk-row--cancelled .bk-row__name{text-decoration:line-through}.badge{font-size:10.5px;letter-spacing:.06em;padding:3px 8px;border-radius:99px;border:1px solid var(--border);color:var(--fgMuted);white-space:nowrap}.badge--manual{color:var(--accent);border-color:#d4af6f66}label.field{display:block;margin-bottom:12px}label.field span{display:block;font-size:12.5px;color:var(--fgMuted);margin-bottom:5px;letter-spacing:.03em}input,select,textarea{width:100%;font:inherit;color:var(--fg);background:var(--bgElevated);border:1px solid var(--border);border-radius:8px;padding:10px 12px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}input[type=checkbox]{width:auto;accent-color:var(--accent)}.row{display:flex;gap:10px}.row>*{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--accentFg);border:0;border-radius:8px;padding:11px 18px;font-weight:600;font-size:14px;letter-spacing:.03em}.btn:active{transform:translateY(1px)}.btn--ghost{background:transparent;color:var(--fg);border:1px solid var(--border)}.btn--danger{background:transparent;color:var(--danger);border:1px solid rgba(199,123,123,.4)}.btn--sm{padding:6px 12px;font-size:12.5px}.btn--full{width:100%}.daynav{display:flex;align-items:center;gap:10px;margin-bottom:16px}.daynav__label{flex:1;text-align:center;font-weight:600;text-transform:capitalize}.daynav button{background:var(--bgElevated);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:8px 14px}.list-item{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:0}.list-item__main{flex:1;min-width:0}.list-item__title{font-weight:600}.list-item__sub{color:var(--fgMuted);font-size:12.5px}.list-item--inactive{opacity:.4}.hours-row{display:grid;grid-template-columns:44px 34px repeat(4,1fr);gap:6px;align-items:center;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.hours-row input[type=time]{padding:6px;font-size:13px}.hours-row .dow{color:var(--fgMuted);font-weight:600}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login__box{width:100%;max-width:360px}.login__brand{text-align:center;margin-bottom:26px}.login__brand h1{font-size:26px;letter-spacing:.08em;font-weight:300}.login__brand h1 em{color:var(--accent);font-style:normal}.login__brand p{color:var(--fgSubtle);font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-top:4px}.msg{padding:10px 14px;border-radius:8px;font-size:13.5px;margin:10px 0;display:none}.msg--error{background:#c77b7b1f;color:var(--danger)}.msg--ok{background:#7ba8821f;color:var(--success)}.msg.is-visible{display:block}.empty{color:var(--fgSubtle);text-align:center;padding:26px 0;font-size:14px}dialog{background:var(--bgSubtle);color:var(--fg);border:1px solid var(--border);border-radius:14px;padding:20px;width:min(94vw,480px);margin:auto;max-height:88vh;overflow-y:auto}dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}dialog h2{margin-bottom:14px;font-size:17px}
