:root{--page: #121212;--panel: #242424;--panel-2: #2d2d2d;--line: #3a3a3a;--text: #eceae4;--muted: #a9a69e;--accent: #d9b92a;--accent-press: #c4a620;--on-accent: #1a1a1a;--sent: #6fcf7f;--warn: #f2b8b5;--warn-bg: #4a1f1f;--radius: 8px;--tap: 48px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--page);color:var(--text)}body{font-size:16px;line-height:1.4;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}input,textarea{font:inherit}#root{min-height:100dvh;display:flex;flex-direction:column}.app{display:flex;flex-direction:column;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.header{display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:#1a1a1a;border-bottom:2px solid var(--accent);position:sticky;top:0;z-index:5}.header img{height:28px}.header .who{flex:1;min-width:0}.header .who .name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header .who .sub{color:var(--muted);font-size:13px}.lang{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.lang button{background:transparent;border:0;padding:6px 10px;min-height:36px;font-size:13px;font-weight:600;color:var(--muted)}.lang button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.banner{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:14px;background:var(--panel-2);border-bottom:1px solid var(--line)}.banner.pending{background:#3a3110;color:#f5e6a3}.banner.offline{background:#2b2b2b;color:var(--muted)}.banner.sent{color:var(--sent)}.banner.error{background:var(--warn-bg);color:var(--warn)}.banner .dot{width:10px;height:10px;border-radius:50%;background:currentColor;flex:none}.banner .dot.spin{animation:pulse 1s infinite alternate}@keyframes pulse{0%{opacity:.3}to{opacity:1}}main{flex:1;padding:16px;display:flex;flex-direction:column;gap:12px}.card{background:var(--panel);border-radius:var(--radius);border:1px solid var(--line)}.card.pad{padding:14px 16px}h1{font-size:22px;margin:0;font-weight:700;letter-spacing:.01em}h2{font-size:17px;margin:0;font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:8px}.btn{min-height:var(--tap);padding:0 18px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel-2);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn.primary:active{background:var(--accent-press)}.btn.ghost{background:transparent}.btn.danger{border-color:#7a3b3b;color:var(--warn)}.btn.block{width:100%}.btn.big{min-height:56px;font-size:17px}.btn:disabled{opacity:.45;cursor:default}.iconbtn{width:var(--tap);height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);background:var(--panel-2);font-size:20px;display:inline-flex;align-items:center;justify-content:center}.iconbtn:disabled{opacity:.3}.period-head{display:flex;align-items:center;gap:8px}.period-head .dates{flex:1;text-align:center}.period-head .dates .range{font-weight:700;font-size:17px}.total{display:flex;justify-content:space-between;align-items:baseline;padding:12px 16px}.total .n{font-size:28px;font-weight:700}.days{display:flex;flex-direction:column}.day{display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:64px;border-top:1px solid var(--line);background:transparent;border-left:0;border-right:0;border-bottom:0;width:100%;text-align:left;cursor:pointer}.day:first-child{border-top:0}.day:disabled{cursor:default;opacity:.5}.day .when{width:64px;flex:none}.day .when .wd{font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}.day .when .dd{font-size:20px;font-weight:700;line-height:1.1}.day.today .when .dd{color:var(--accent)}.day .what{flex:1;min-width:0}.day .what .line{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day .what .line .muted{font-size:13px}.day .hours{font-weight:700;font-size:18px;flex:none}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}.chip.pending{border-color:var(--accent);color:var(--accent)}.chip.sent{border-color:#3d6b45;color:var(--sent)}.chip.rejected{border-color:#7a3b3b;color:var(--warn);background:var(--warn-bg)}.chip.off{border-style:dashed}.chip.locked,.chip.approved{background:var(--panel-2)}.chip .ico{font-size:11px}.lines{display:flex;flex-direction:column}.linerow{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-top:1px solid var(--line);width:100%;text-align:left;background:transparent;border-left:0;border-right:0;border-bottom:0;cursor:pointer}.linerow:first-child{border-top:0}.linerow .main{flex:1;min-width:0}.linerow .site{font-weight:600}.linerow .type{color:var(--muted);font-size:14px}.linerow .note{font-size:13px;color:var(--muted);margin-top:4px;white-space:pre-wrap}.linerow .flag{font-size:13px;margin-top:6px}.linerow .flag.office{color:#9fd0ff}.linerow .flag.rejected{color:var(--warn)}.linerow .h{font-weight:700;font-size:18px;flex:none}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions .btn.block{grid-column:1 / -1}.notice{padding:12px 16px;background:#1f2a3a;border:1px solid #2f4460;border-radius:var(--radius);font-size:14px}.sheet{position:fixed;inset:0;background:var(--page);z-index:20;display:flex;flex-direction:column;animation:up .18s ease-out}@keyframes up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.sheet .bar{display:flex;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 8px 8px 8px;border-bottom:1px solid var(--line);background:#1a1a1a}.sheet .bar h2{flex:1;text-align:center}.sheet .body{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.sheet .foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;gap:10px}label.field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}.input{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);color:var(--text);padding:10px 12px;width:100%}.input:focus{outline:2px solid var(--accent);outline-offset:1px}textarea.input{min-height:72px;resize:vertical}.picker{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;max-height:44dvh;overflow-y:auto;background:var(--panel)}.picker .group{padding:8px 12px 4px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--panel-2)}.picker button{display:flex;width:100%;text-align:left;padding:12px;min-height:var(--tap);background:transparent;border:0;border-top:1px solid var(--line);align-items:center;justify-content:space-between;gap:8px}.picker button[aria-selected=true]{background:#3a3110;color:#f5e6a3}.picker .empty{padding:14px;color:var(--muted)}.selected{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:var(--tap);padding:10px 12px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--panel)}.selected .v{font-weight:600}.stepper{display:grid;grid-template-columns:var(--tap) 1fr var(--tap);gap:10px;align-items:center}.stepper .n{text-align:center;font-size:40px;font-weight:700;line-height:1}.stepper .n small{font-size:16px;font-weight:500;color:var(--muted);margin-left:4px}.stepper .iconbtn{width:100%;height:56px;font-size:26px}.quick{display:flex;gap:10px}.quick .btn{flex:1}.quick .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.dialog-back{position:fixed;inset:0;background:#0009;z-index:30;display:flex;align-items:flex-end;justify-content:center;padding:16px}.dialog{background:var(--panel);border-radius:12px;padding:18px 16px calc(16px + env(safe-area-inset-bottom));width:100%;max-width:480px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--line)}.welcome{display:flex;flex-direction:column;gap:16px;padding:24px 16px;max-width:520px;margin:0 auto;width:100%}.welcome .logo{align-self:center;height:56px;margin:8px 0 4px}.langpick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.langpick .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.tip{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;padding:12px}.tip svg{width:56px;height:56px}@media(min-width:640px){main,.welcome{max-width:560px;margin:0 auto;width:100%}.sheet{max-width:560px;left:50%;transform:translate(-50%);border-left:1px solid var(--line);border-right:1px solid var(--line)}@keyframes up{0%{transform:translate(-50%,24px);opacity:0}to{transform:translate(-50%);opacity:1}}}
