:root{--bg: var(--tg-theme-bg-color, #ffffff);--bg-secondary: var(--tg-theme-secondary-bg-color, #f2f2f7);--text: var(--tg-theme-text-color, #000000);--hint: var(--tg-theme-hint-color, #8e8e93);--link: var(--tg-theme-link-color, #2481cc);--button: var(--tg-theme-button-color, #2481cc);--button-text: var(--tg-theme-button-text-color, #ffffff);--section: var(--tg-theme-section-bg-color, var(--bg));--border: color-mix(in srgb, var(--hint) 25%, transparent);--ok: #34c759;--warn: #ff9500;--bad: #ff3b30;--radius: 12px;--gap: 12px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--bg-secondary);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4;padding-bottom:env(safe-area-inset-bottom)}#root{max-width:720px;margin:0 auto}.app{padding:var(--gap) var(--gap) 88px}h1{font-size:22px;margin:4px 0 2px}h2{font-size:17px;margin:0 0 10px}.hint{color:var(--hint);font-size:13px}.center{text-align:center}.right{text-align:right}.mono{font-variant-numeric:tabular-nums}.card{background:var(--section);border-radius:var(--radius);padding:14px;margin-bottom:var(--gap)}.card.tight{padding:10px 14px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.row+.row{margin-top:8px}.stack{display:flex;flex-direction:column;gap:10px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{background:var(--section);border-radius:var(--radius);padding:12px 14px}.tile .value{font-size:20px;font-weight:650;margin-top:2px}.tile .label{color:var(--hint);font-size:12px}.tile.wide{grid-column:span 2}.tile.accent .value{color:var(--ok)}.tile.pending .value{color:var(--warn)}label{display:block;font-size:13px;color:var(--hint);margin-bottom:4px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-size:16px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--link)}.field{margin-bottom:12px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.suggest{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{padding:5px 10px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border);font-size:13px;cursor:pointer}.chip.active{background:var(--button);color:var(--button-text);border-color:var(--button)}button{font-family:inherit;font-size:16px;border:none;border-radius:10px;padding:12px 16px;background:var(--button);color:var(--button-text);cursor:pointer}button:disabled{opacity:.5}button.ghost{background:transparent;color:var(--link);border:1px solid var(--border)}button.danger{background:var(--bad);color:#fff}button.ok{background:var(--ok);color:#fff}button.small{padding:8px 12px;font-size:14px}button.block{width:100%}.btn-row{display:flex;gap:8px}.btn-row>button{flex:1}.calc{background:var(--bg-secondary);border-radius:10px;padding:12px;margin-bottom:12px}.calc .line{display:flex;justify-content:space-between;font-size:14px}.calc .line+.line{margin-top:4px}.calc .total{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:18px;font-weight:650}.shift{background:var(--section);border-radius:var(--radius);padding:12px 14px;margin-bottom:8px;border-left:3px solid transparent}.shift.pending{border-left-color:var(--warn)}.shift.approved{border-left-color:var(--ok)}.shift.rejected{border-left-color:var(--bad)}.shift .head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.shift .title{font-weight:600}.shift .sum{font-weight:650;white-space:nowrap}.shift .meta{color:var(--hint);font-size:13px;margin-top:3px}.shift .reason{color:var(--bad);font-size:13px;margin-top:6px}.status-dot{font-size:12px}.nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--section);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:20}.nav button{flex:1;background:none;color:var(--hint);border-radius:0;padding:9px 2px 10px;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative}.nav button.active{color:var(--link)}.nav .icon{font-size:19px;line-height:1}.badge{position:absolute;top:4px;right:50%;transform:translate(18px);background:var(--bad);color:#fff;border-radius:999px;font-size:10px;min-width:16px;padding:1px 4px;line-height:14px}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}table.grid{width:100%;border-collapse:collapse;font-size:13px}table.grid th,table.grid td{padding:7px 8px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}table.grid th{color:var(--hint);font-weight:500;font-size:12px}table.grid td.num,table.grid th.num{text-align:right;font-variant-numeric:tabular-nums}.empty{text-align:center;color:var(--hint);padding:32px 16px}.error{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad);border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:14px}.spinner{text-align:center;color:var(--hint);padding:40px}.dev-banner{background:var(--warn);color:#1a1a1a;border-radius:10px;padding:8px 12px;margin-bottom:var(--gap);font-size:13px;font-weight:500}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal{background:var(--bg);width:100%;max-width:720px;border-radius:16px 16px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));max-height:88vh;overflow-y:auto}.divider{height:1px;background:var(--border);margin:12px 0}
