:root{--color-primary: #0b2a4a;--color-primary-text: #ffffff;--color-bg: #ffffff;--color-text: #101820;--color-muted: #4b5866;--color-border: #8c99a6;--color-tile: #eef2f6;--color-tile-selected: #cfe3ff;--color-own: #d9f2e0;--color-own-border: #1f7a3d;--color-warning: #f2a900;--color-warning-bg: #fff3cc;--color-danger: #c62828;--color-danger-bg: #fdecea;--font-family: Roboto, system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: 20px;--font-small: 18px;--font-heading: 32px;--font-hero: 56px;--tap: 72px;--gap: 16px;--radius: 12px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-body);line-height:1.3;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}input{-webkit-user-select:text;user-select:text}.app{display:flex;flex-direction:column;height:100%}.header{display:flex;align-items:center;justify-content:space-between;min-height:var(--tap);padding:0 24px;background:var(--color-primary);color:var(--color-primary-text)}.wordmark{font-size:36px;font-weight:900;letter-spacing:.3em}.header-note{font-size:var(--font-small)}.banner{padding:12px 24px;font-size:var(--font-body);font-weight:700;background:var(--color-warning-bg);border-bottom:4px solid var(--color-warning)}.banner--danger{background:var(--color-danger-bg);border-bottom-color:var(--color-danger)}.context{display:flex;gap:24px;padding:8px 24px;background:var(--color-tile);font-size:var(--font-small);font-weight:700}.context .tag{padding:0 8px;background:var(--color-warning);color:var(--color-text);border-radius:6px}.screen{flex:1;display:flex;flex-direction:column;gap:var(--gap);padding:24px;overflow-y:auto}.screen h1{margin:0;font-size:var(--font-heading)}.screen-top{display:flex;align-items:center;gap:var(--gap)}.screen-top h1{flex:1}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--gap)}.grid--wide{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.btn,.tile{min-height:var(--tap);padding:12px 20px;border:3px solid var(--color-primary);border-radius:var(--radius);background:var(--color-bg);color:var(--color-primary);font:inherit;font-weight:700;cursor:pointer}.btn--primary{background:var(--color-primary);color:var(--color-primary-text)}.btn--danger{border-color:var(--color-danger);color:var(--color-danger)}.btn--quiet{border-color:var(--color-border);color:var(--color-muted);font-weight:400}.btn:disabled,.tile:disabled{opacity:.4;cursor:default}.tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:96px;background:var(--color-tile);color:var(--color-text);text-align:left}.tile--selected{background:var(--color-tile-selected)}.tile--own{background:var(--color-own);border-color:var(--color-own-border)}.tile-title{font-size:24px}.tile-sub{font-size:var(--font-small);font-weight:400;color:var(--color-muted)}.tile-icon{width:36px;height:36px}.badge{align-self:flex-start;padding:0 10px;border-radius:999px;background:var(--color-warning);color:var(--color-text);font-size:var(--font-small);font-weight:700}.badge--own{background:var(--color-own-border);color:#fff}.hero{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:32px;text-align:center}.hero-date{font-size:var(--font-hero);font-weight:700}.hero .btn--primary{min-width:480px;min-height:120px;font-size:40px}.corner{position:absolute;right:8px;bottom:8px;width:var(--tap);height:var(--tap);border:0;background:transparent;color:var(--color-border);opacity:.5}.footnote{padding:8px 24px;color:var(--color-muted);font-size:var(--font-small)}.field{display:flex;flex-direction:column;gap:6px;font-weight:700}.field input{min-height:var(--tap);padding:0 16px;border:3px solid var(--color-border);border-radius:var(--radius);font:inherit;font-weight:400}.search-row{display:flex;gap:var(--gap);align-items:center}.search-row input{flex:1;min-height:var(--tap);padding:0 16px;border:3px solid var(--color-border);border-radius:var(--radius);font:inherit}.az{display:flex;flex-wrap:wrap;gap:8px}.az .btn{min-width:56px;padding:0 8px}.lines{display:flex;flex-direction:column;gap:12px}.lines--scroll{flex:0 1 auto;min-height:96px;overflow-y:auto}.line{display:flex;align-items:center;gap:var(--gap);padding:12px 16px;border:3px solid var(--color-border);border-radius:var(--radius)}.line-text{flex:1}.line-hours{font-size:32px;font-weight:700}.total{font-size:var(--font-hero);font-weight:900}.notice{padding:12px 16px;border-left:8px solid var(--color-warning);background:var(--color-warning-bg);font-weight:700}.error{padding:12px 16px;border-left:8px solid var(--color-danger);background:var(--color-danger-bg);font-weight:700}.row{display:flex;flex-wrap:wrap;gap:var(--gap)}.pad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}.pad .btn{padding:12px 4px}.hours-display{font-size:var(--font-hero);font-weight:900;text-align:center}.activity-layout{flex:1 1 auto;min-height:240px;display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-template-rows:minmax(0,1fr);gap:24px;align-items:start}.activity-codes{align-self:stretch;min-height:0;overflow-y:auto;padding:4px}.activity-side{display:flex;flex-direction:column;gap:12px}.activity-actions{display:grid;gap:12px}.pin-pad{display:grid;grid-template-columns:repeat(3,96px);gap:var(--gap)}.pin-dots{font-size:var(--font-hero);letter-spacing:.3em;min-height:72px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--gap)}.form-grid .error{grid-column:1 / -1}.done{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;font-size:48px;font-weight:700}@media(max-width:900px){.activity-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.activity-actions{grid-template-columns:1fr 1fr}}@media(max-height:720px){:root{--font-heading: 28px;--font-hero: 44px;--tap: 60px;--gap: 12px}.header{min-height:56px}.wordmark{font-size:28px}.screen{padding:16px 24px}.tile{min-height:72px;padding:8px 16px}.tile-title{font-size:22px}.tile-icon{width:30px;height:30px}.hero{gap:24px}.hero .btn--primary{min-height:100px;font-size:36px}.line{padding:8px 16px}.line-hours{font-size:28px}.activity-actions{grid-template-columns:1fr 1fr}.pin-dots{min-height:56px}.done{font-size:40px}}
