:root{--color-surface:#fff;--color-text:#111;--color-muted:#666;--color-border:#d9d9d9;--color-focus:#000;--radius:8px;--font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}h1,h2,p{overflow-wrap:anywhere}h1{margin:0;font-size:2rem;line-height:1.1}#root{min-height:100svh}.app-shell{background:var(--color-surface);min-height:100svh;color:var(--color-text);flex-direction:column;display:flex}.app-header{border-bottom:1px solid var(--color-border);padding:calc(20px + env(safe-area-inset-top)) 16px 16px;gap:14px;display:grid}.app-header-top{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.app-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.header-actions{gap:8px;display:flex}.icon-button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;width:44px;height:44px;padding:0;text-decoration:none;display:inline-flex}.icon-button svg{width:28px;height:28px}.icon-button[aria-pressed=true]{background:var(--color-text);color:var(--color-surface)}.eyebrow{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:700}.app-main{padding:20px 16px calc(28px + env(safe-area-inset-bottom));flex:1}.page{gap:16px;display:grid}.page-header{gap:6px;display:grid}.page-header-with-action{grid-template-columns:1fr auto;align-items:start}.page-title{margin:0;font-size:1.5rem}.page-copy{color:var(--color-muted);margin:0;font-size:.98rem}.empty-state,.info-panel,.form-panel,.balance-panel,.notice-panel,.placeholder-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:18px}.empty-state{align-content:center;justify-items:start;gap:8px;min-height:160px;display:grid}.empty-title{margin:0;font-size:1.1rem;font-weight:700}.empty-copy{color:var(--color-muted);margin:0}.button{border:1px solid var(--color-text);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;min-height:44px;padding:0 14px;font-weight:750;text-decoration:none;display:inline-flex}.button,.icon-button,.child-card,.booking-card,.placeholder-card{transition:background-color .16s,border-color .16s,color .16s,transform .16s}.button:active,.icon-button:active,.child-card:active,.booking-card:active,.placeholder-card:active{transform:scale(.99)}.button-primary{background:var(--color-text);color:var(--color-surface)}.button-secondary,.button-danger{background:var(--color-surface);color:var(--color-text)}.button-danger{width:100%}.full-width-button{width:100%;margin-top:16px}.button:focus-visible,.text-link:focus-visible,.icon-button:focus-visible,.child-card:focus-visible,.placeholder-card:focus-visible,.booking-card:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.text-link{color:var(--color-text);font-weight:700;text-decoration:none}.allowance-card{color:var(--color-text);gap:10px;text-decoration:none;display:grid}.request-card{color:var(--color-text);gap:8px;text-decoration:none;display:grid}.request-card strong{font-size:1.5rem;line-height:1.05}.request-card span{color:var(--color-muted)}.notice-panel{margin:0;font-weight:700}.loading-message{min-height:44px}.allowance-summary{gap:6px;display:grid}.allowance-summary strong{font-size:1.6rem;line-height:1.05}.card-list{gap:12px;display:grid}.child-card{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:14px 16px;text-decoration:none;display:grid}.card-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1.05rem;font-weight:750;display:block;overflow:hidden}.card-balance{text-align:right;white-space:nowrap;justify-self:end;font-size:1.05rem;font-weight:800;line-height:1}.section-action-button{justify-self:end}.balance-panel{gap:8px;display:grid}.balance-panel strong{font-size:2.6rem;line-height:1}.panel-label{color:var(--color-muted);font-weight:700}.placeholder-grid{gap:12px;display:grid}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.page-section{gap:12px;display:grid}.section-title{margin:0;font-size:1.2rem}.placeholder-card{min-height:92px}.placeholder-card h3{margin:0;font-size:1.1rem}.form-panel{gap:16px;display:grid}.compact-form{border:0;padding:0}.field{gap:8px;display:grid}.field span{color:var(--color-muted);font-weight:700}.field input,.field select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);min-height:48px;padding:0 12px}.field input:focus,.field select:focus{border-color:var(--color-text);outline:none}.form-error{border:1px solid var(--color-text);border-radius:var(--radius);margin:0;padding:12px}.booking-list{gap:12px;display:grid}.booking-card{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);gap:6px;padding:16px;text-decoration:none;display:grid}.booking-date,.booking-balance{color:var(--color-muted);font-size:.92rem;font-weight:650}.booking-purpose{font-size:1.05rem;font-weight:750}.booking-amount{font-size:1.7rem;font-weight:800;line-height:1.05}.compact-empty{min-height:auto}.info-list{gap:0;margin:0;display:grid}.info-row{grid-template-columns:1fr auto;gap:6px;padding:14px 0;display:grid}.info-row+.info-row{border-top:1px solid var(--color-border)}.info-row dt{color:var(--color-muted);font-weight:650}.info-row dd{margin:0;font-weight:750}.modal-backdrop{z-index:10;background:#00000059;align-items:end;padding:16px;display:grid;position:fixed;inset:0}.modal-panel{background:var(--color-surface);border:1px solid var(--color-text);border-radius:var(--radius);gap:16px;width:100%;max-width:480px;margin:0 auto;padding:18px;display:grid}@media (width<=380px){.action-grid,.page-header-with-action{grid-template-columns:1fr}.balance-panel strong{font-size:1.8rem}}@media (width>=720px){.app-shell{border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);max-width:520px;margin:0 auto}.app-header,.app-main{padding-left:24px;padding-right:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (prefers-color-scheme:dark){:root{--color-surface:#0d0d0d;--color-text:#f6f6f6;--color-muted:#b8b8b8;--color-border:#343434;--color-focus:#fff}.modal-backdrop{background:#000000a6}}
