:root{color:#fff;font-synthesis:none;-webkit-text-size-adjust:100%;background:#13243b;font-family:system-ui,-apple-system,BlinkMacSystemFont,Noto Sans JP,sans-serif;line-height:1.6}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #f5c56c}h1,h2,h3,p{margin-top:0}h2{font-size:1.35rem}h3{margin-bottom:12px;font-size:1.05rem}p{overflow-wrap:anywhere}label{margin:16px 0 6px;display:block}small{font-size:.8rem}input,select,textarea{color:#13243b;background:#fff;border:1px solid #486174;border-radius:8px;width:100%;min-width:0;min-height:46px;margin-bottom:10px;padding:10px 12px;font-size:16px;display:block}input:disabled{color:#394c61;background:#d8e2eb}input[type=checkbox]{min-height:20px;margin:0}input[type=file]{color:#fff;background:#2d455a;overflow:hidden}textarea{resize:vertical}.app-shell{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.topbar{padding:16px max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left));border-bottom:1px solid #486174;justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{cursor:pointer}.brand h1{color:#65d9e7;letter-spacing:2px;margin:0;font-size:1.8rem}.brand>span{letter-spacing:2px;font-size:.65rem;display:block}.header-actions{gap:6px;display:flex}.header-actions button{color:#65d9e7;background:#1e354b;border:1px solid #486174;border-radius:10px;min-width:44px;min-height:44px;font-size:1.3rem}.content{max-width:960px;margin:auto;padding:20px 16px}.greeting,.muted{color:#c0ccd8}.greeting{font-size:.9rem}.panel{background:#1e354b;border-radius:14px;margin:16px 0;padding:20px}.subpanel{background:#2d455a;border-radius:10px;margin-top:18px;padding:16px}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.section-header>h2,.section-header>h3{margin-bottom:0}.status{color:#65d9e7;background:#2d455a;border-radius:20px;padding:4px 12px;font-size:.85rem}.cyan{color:#65d9e7}.gold{color:#f5c56c}.large-number{font-variant-numeric:tabular-nums;margin:14px 0;font-size:clamp(28px,8vw,42px);font-weight:700}.primary,.secondary,.danger{border:1px solid #0000;border-radius:9px;width:100%;min-height:48px;margin-top:12px;padding:12px 14px;font-weight:700;display:block}.primary{color:#13243b;background:#65d9e7}.secondary{color:#fff;background:#2d455a;border-color:#486174}.danger{color:#fff;background:#9e3144}.metrics-grid,.goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.metric,.goal-item{text-align:center;overflow-wrap:anywhere;background:#2d455a;border-radius:8px;min-width:0;padding:12px 8px}.metric>*,.goal-item>*{display:block}.metric small,.goal-item small{color:#c0ccd8}.metric strong,.goal-item strong{font-variant-numeric:tabular-nums}.progress-track{background:#486174;border-radius:6px;height:12px;margin:20px 0;position:relative}.progress-fill{border-radius:inherit;background:#65d9e7;height:100%}.progress-marker{width:3px;height:20px;position:absolute;top:-4px}.empty{text-align:center;color:#c0ccd8;background:#1e354b;border-radius:10px;padding:24px 12px}.switch-row,.people-buttons{flex-wrap:wrap;gap:8px;display:flex}.switch-row button,.people-buttons button{color:#fff;background:#2d455a;border:1px solid #486174;border-radius:8px;flex:1;min-height:44px;padding:8px}.switch-row .selected,.people-buttons .selected{color:#13243b;background:#65d9e7}.linked-trip{overflow-wrap:anywhere;border-top:1px solid #486174;margin-top:12px;padding-top:10px}.spot-list{flex-wrap:wrap;gap:8px;display:flex}.spot-list span{background:#2d455a;border-radius:8px;padding:6px 10px}.error-text{color:#ffbdc6}.bottom-nav{z-index:10;padding:6px env(safe-area-inset-right) calc(6px + env(safe-area-inset-bottom)) env(safe-area-inset-left);background:#13243b;border-top:1px solid #486174;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.bottom-nav button{color:#c0ccd8;background:0 0;border:0;min-width:0;min-height:56px;padding:4px 2px;font-size:.75rem}.bottom-nav .active{color:#65d9e7}.nav-icon{font-size:1.4rem;line-height:1.3;display:block}.sync-status{overflow-wrap:anywhere;background:#1e354b;border-bottom:1px solid #486174;padding:12px 16px;font-size:.85rem}.sync-status small{color:#c0ccd8;display:block}.sync-actions,.sync-conflict{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.sync-actions button,.sync-conflict button{color:#fff;background:#2d455a;border:1px solid #65d9e7;border-radius:8px;min-height:44px;padding:8px 12px}.sync-conflict{border:1px solid #f5c56c;border-radius:8px;padding:12px}.sync-conflict p{width:100%;margin-bottom:4px}.legacy-notice{color:#f5c56c;margin:10px 0 0}.time-deadlines{gap:10px;margin:16px 0;display:grid}.time-deadlines>div,.time-metrics>div{background:#2d455a;border-radius:9px;min-width:0;padding:12px}.time-deadlines dt{font-weight:700}.time-deadlines dd{color:#65d9e7;font-variant-numeric:tabular-nums;margin:6px 0;font-weight:700}.time-deadlines small,.time-metrics small{color:#c0ccd8;display:block}.time-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.time-metrics strong{font-variant-numeric:tabular-nums;display:block}.time-conditions{padding-left:22px}.time-conditions li{margin:8px 0}.time-warning{color:#f5c56c;font-weight:700}.duty-time details{margin-top:14px}.duty-time summary{cursor:pointer;min-height:44px;padding:10px 0}.time-break{border:1px solid #486174;border-radius:8px;margin:12px 0;padding:10px}.time-checkbox{align-items:center;gap:10px;display:flex}.time-checkbox input{flex-shrink:0;width:20px}.duty-time input[type=datetime-local]{width:100%;max-width:100%}.past-timing input[type=datetime-local]{max-width:100%}.sales-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.sales-pair>div{overflow-wrap:anywhere;background:#2d455a;border-radius:8px;min-width:0;padding:12px}.sales-pair strong,.sales-pair small{display:block}.sales-pair strong{color:#65d9e7;font-size:1.15rem}.sales-scroll{max-width:100%;margin:14px 0;overflow-x:auto}.sales-table{border-collapse:collapse;width:100%;font-size:.9rem}.sales-table th,.sales-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #486174;padding:10px 8px}.duty-sales details{padding:8px 0}.duty-sales summary,[data-duty-record]>details>summary{cursor:pointer;min-height:44px;padding:10px 0}.absence-row{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex}.absence-row button{flex:1;width:auto}.header-actions{flex-wrap:wrap;justify-content:flex-end}.header-actions button[title=欠勤登録]{font-size:.85rem}@media (width<=380px){.content{padding:16px 10px}.panel{padding:16px 12px}.metrics-grid,.goal-grid{gap:5px}.metric,.goal-item{padding:10px 4px;font-size:.85rem}}
