:root{font-family:Inter,system-ui,sans-serif;color:#172033;background:#f4f7fb;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 32px));margin:auto}.site-header{background:#fff;border-bottom:1px solid #dfe6ef;box-shadow:0 2px 10px #1720330d}.header-content{display:flex;justify-content:space-between;gap:20px;padding:18px 0}.brand{display:flex;align-items:center;gap:15px}.brand img{width:72px;height:72px;object-fit:contain}.eyebrow{margin:0;color:#087e8b;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.brand h1,.page-heading h2,.login-heading h1{margin:2px 0;font-size:1.65rem;line-height:1.15}.brand-subtitle,.page-heading p,.muted{margin:4px 0;color:#637083}.account{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;color:#637083;font-size:.85rem}.nav{display:flex;gap:4px;border-top:1px solid #edf1f6;padding:8px 0}.nav a{padding:9px 13px;border-radius:7px;color:#59677a;font-weight:700;font-size:.9rem}.nav a.active,.nav a:hover{background:#e5f5f5;color:#06737e}.page-content{padding:34px 0 50px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.page-heading h2{font-size:2rem}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;padding:11px 16px;cursor:pointer;font-weight:800;font-size:.9rem}.compact{padding:8px 11px;font-size:.8rem}.button-primary{background:#087e8b;color:#fff}.button-primary:hover{background:#066d77}.button-secondary{border-color:#cfd9e5;background:#fff;color:#344054}.button-secondary:hover{background:#f2f6fa}.button-group{display:flex;flex-wrap:wrap;align-items:end;gap:9px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.stat-card,.card{background:#fff;border:1px solid #e0e7ef;border-radius:11px;box-shadow:0 5px 18px #24324a0b}.stat-card{padding:19px}.stat-card span{color:#637083;font-size:.82rem;font-weight:800;text-transform:uppercase}.stat-card strong{display:block;margin:4px 0;color:#087e8b;font-size:2.35rem}.stat-card p{margin:0;color:#637083}.card{margin-bottom:18px;padding:20px}.report-actions,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.card h3{margin:0 0 5px}.card p{margin:0;color:#637083}.section-heading{margin-bottom:13px}.section-heading a{color:#087e8b;font-size:.88rem;font-weight:800}.table-wrap{overflow-x:auto;margin-top:13px}table{width:100%;border-collapse:collapse;font-size:.86rem;text-align:left}th{background:#f1f6f8;color:#475467;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}th,td{padding:10px;border-bottom:1px solid #e7ecf2;vertical-align:top}.observations{min-width:260px}.empty-state{margin:16px 0!important;padding:20px;border:1px dashed #cbd5e1;border-radius:8px;text-align:center}.record-form{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.full-width{grid-column:1/-1}label{display:flex;flex-direction:column;gap:5px;color:#475467;font-size:.84rem;font-weight:800}input,select,textarea{width:100%;border:1px solid #cfd9e5;border-radius:7px;background:#fff;padding:10px;color:#263348}textarea{resize:vertical}.author{margin:0;color:#637083;font-size:.86rem}.success,.error{margin:0;padding:10px;border-radius:7px;font-size:.86rem}.success{background:#e7f6ee;color:#146c43}.error{background:#fdebec;color:brown}.filter{min-width:210px}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(140deg,#eef8f8,#f4f7fb 56%,#edf2fb)}.login-card{width:min(100%,430px);border:1px solid #e0e7ef;border-radius:14px;background:#fff;padding:28px;box-shadow:0 18px 50px #3440541a}.login-heading{text-align:center}.login-heading img{width:86px;height:86px;object-fit:contain}.login-heading p:last-child{color:#637083;font-size:.92rem}.form-stack{display:grid;gap:14px;margin-top:20px}.demo-access{margin-top:18px;color:#637083;font-size:.82rem}.demo-access summary{cursor:pointer;font-weight:800}.demo-access button{display:block;border:0;background:none;padding:6px 0;color:#087e8b;cursor:pointer;text-align:left}.print-header{display:none}.report-meta{margin-bottom:14px;color:#475467;font-size:.9rem}[data-theme=dark]{color:#e7edf5;background:#101827}[data-theme=dark] .site-header,[data-theme=dark] .card,[data-theme=dark] .stat-card{border-color:#2c3b50;background:#172235}[data-theme=dark] .brand-subtitle,[data-theme=dark] .page-heading p,[data-theme=dark] .muted,[data-theme=dark] .card p,[data-theme=dark] .account{color:#aab6c6}[data-theme=dark] .nav{border-color:#2c3b50}[data-theme=dark] .nav a{color:#b6c2d1}[data-theme=dark] .nav a.active,[data-theme=dark] .nav a:hover{background:#1d4650;color:#d5ffff}[data-theme=dark] .button-secondary,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{border-color:#40516a;background:#202e43;color:#e7edf5}[data-theme=dark] th{background:#223246;color:#cbd5e1}[data-theme=dark] th,[data-theme=dark] td{border-color:#34455b}@media(max-width:760px){.header-content,.page-heading,.report-actions{align-items:stretch;flex-direction:column}.account{justify-content:flex-start}.nav{overflow:auto}.nav a{white-space:nowrap}.stats-grid,.record-form{grid-template-columns:1fr}.full-width{grid-column:auto}.brand img{width:58px;height:58px}.brand h1{font-size:1.3rem}.page-heading h2{font-size:1.65rem}}.google-login{width:100%;margin-top:20px}.loading-page{display:grid;min-height:100vh;place-items:center;color:#637083;font-weight:800}.notice{margin:13px 0!important;padding:10px;border-radius:7px;background:#eef7fa;color:#087e8b!important;font-size:.86rem}.period-filter,.history-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.period-filter{margin-top:12px}.period-filter label{min-width:210px}.report-filter-actions .period-filter{margin-top:0}.theme-toggle{width:38px;height:34px;padding:7px}.theme-toggle svg{width:18px;height:18px}.theme-toggle .sun-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.theme-toggle .moon-icon{fill:currentColor;stroke:none}.draft-note{margin-top:-8px!important;color:#087e8b!important;font-size:.78rem!important}.table-actions{display:flex;gap:10px}.table-action{border:0;background:none;padding:0;color:#087e8b;cursor:pointer;font-weight:800}.table-action:hover{text-decoration:underline}.danger-action{color:#b42318}@media print{body{background:#fff;color:#111}.no-print,.site-header{display:none!important}.page-content{width:100%;padding:0}.print-header{display:flex;align-items:center;gap:14px;margin-bottom:20px;border-bottom:2px solid #111;padding-bottom:12px}.print-header img{width:74px;height:74px;object-fit:contain}.print-header p,.print-header h1,.print-header span{margin:0}.print-header p{font-size:12px}.print-header h1{font-size:20px;text-transform:capitalize}.print-header span{font-size:13px}.card{border:0;box-shadow:none;padding:0}.report-meta{font-size:12px}table{font-size:10px}th,td{padding:6px;border-color:#bbb}th{background:#eee!important;color:#111}.observations{min-width:180px}}.button:disabled{cursor:not-allowed;opacity:.58}.cra-reservations-card{border-color:#b8dfe3}.reservation-list{display:grid;gap:10px;margin-top:12px}.reservation-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #d9e5ee;border-radius:8px;padding:12px;background:#f8fbfd}.reservation-item strong{color:#087e8b}.reservation-item p{margin:2px 0!important;font-size:.86rem}@media(max-width:760px){.reservation-item{align-items:stretch;flex-direction:column}.reservation-item .button{width:100%}}.reservation-badge{display:inline-flex;margin-left:8px;border-radius:999px;background:#e5f5f5;color:#06737e;padding:2px 7px;font-size:.72rem;font-weight:800;vertical-align:middle}[data-theme=dark] .reservation-item{border-color:#40516a;background:#202e43}[data-theme=dark] .reservation-item strong{color:#61d6df}[data-theme=dark] .reservation-badge{background:#1d4650;color:#d5ffff}[data-theme=dark] .reservation-item .button-secondary{border-color:#53647d;background:#24344b;color:#e7edf5}[data-theme=dark] .reservation-item .button-secondary:hover{background:#2b3d58}
