:root{--blue:#5b9cff;--ink:#f5f7fb;--muted:#9aa5b5;--line:#262d38;--paper:#101419;--bg:#000;--pavel:#377dff;--standa:#10b981;--danger:#ff6b6b}*{box-sizing:border-box}body{margin:0;background:#000;color:var(--ink);font:16px system-ui,sans-serif}.app-shell{max-width:1000px;margin:auto;padding:24px 16px 48px}header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.eyebrow{margin:0;color:var(--blue);font-weight:750;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}h1{font-size:2rem;margin:2px 0}.hint{margin:18px 0 10px;color:var(--muted)}button,input,select,textarea{font:inherit}.month-switcher,.head-actions{display:flex;align-items:center;gap:6px}.month-switcher button,.month-switcher input,.plain{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:7px;border-radius:10px}.month-switcher button{font-size:1.5rem;line-height:1}.plain{cursor:pointer;font-size:.85rem}.summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.summary-card,.calendar-wrap,.records{background:var(--paper);border:1px solid var(--line);border-radius:14px}.summary-card{border-left:6px solid var(--pavel);padding:14px}.summary-card.standa{border-left-color:var(--standa)}.summary-card h2{font-size:1rem;margin:0 0 7px}.summary-card b{font-size:1.45rem;display:block}.summary-card small,.record small{display:block;color:var(--muted);margin-top:4px}.calendar-wrap{overflow:hidden}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{background:#171d25;color:#aeb9c8;font-size:.75rem;font-weight:700;text-align:center}.weekdays span{padding:8px 2px}.day{appearance:none;background:#101419;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:78px;padding:5px;text-align:left;color:var(--ink)}.day:disabled{cursor:default}.day.empty{background:#07090b}.day-number{font-weight:800;font-size:.82rem}.chip{display:block;margin-top:3px;padding:2px 4px;border-radius:4px;color:#fff;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip.pavel,.badge.pavel{background:var(--pavel)}.chip.standa,.badge.standa{background:var(--standa)}.records{margin-top:18px;padding:15px}.records h2{margin:0 0 10px;font-size:1.05rem}.record{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;padding:9px 0;border-top:1px solid var(--line)}.badge{padding:3px 7px;border-radius:20px;color:#fff;font-size:.72rem;font-weight:700}.delete{border:0;background:transparent;color:var(--danger);cursor:pointer}.empty-records{color:var(--muted)}dialog{width:min(440px,calc(100% - 24px));border:0;border-radius:16px;padding:0;background:var(--paper);color:var(--ink)}dialog form{padding:20px}.dialog-heading{display:flex;justify-content:space-between}.close{border:0;background:transparent;color:var(--ink);font-size:1.8rem}label{display:block;font-size:.9rem;font-weight:700;margin-top:13px}label input,label select,label textarea{display:block;width:100%;margin-top:5px;border:1px solid #313b49;border-radius:9px;padding:10px;background:#090c10;color:var(--ink)}.optional{font-weight:400;color:var(--muted)}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.actions button,.primary{border:0;border-radius:9px;padding:10px 14px;font-weight:700}.primary{background:var(--blue);color:#fff}.secondary{background:#252d38;color:var(--ink)}.error{color:#ff8585;min-height:1.2em}.calculated{font-weight:800;color:#8dc2ff}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(360px,100%);background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px}.login-card>p:not(.eyebrow):not(.error){color:var(--muted)}.login-card .primary{width:100%;margin-top:12px}@media(max-width:600px){.app-shell{padding:16px 10px 30px}header{align-items:flex-start;flex-direction:column}.head-actions{width:100%;justify-content:space-between}.month-switcher input{width:132px}.day{min-height:64px;padding:4px}.day-number{font-size:.76rem}.chip{font-size:.56rem;padding:2px}.record{grid-template-columns:auto 1fr auto}.record .delete{grid-column:3;grid-row:1 / span 2}}

[hidden]{display:none!important}

/* Kompaktní kalendář */
.day{min-height:50px!important}
.weekdays span{padding:5px 2px}
@media(max-width:600px){.day{min-height:47px!important;padding:3px}.chip{font-size:.50rem;line-height:1.05;margin-top:2px;padding:1px 2px}}
