:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#18202a;background:#f4f6f8}body{margin:0}.topbar{position:sticky;top:0;background:#0f172a;color:#fff;padding:16px;display:flex;gap:14px;align-items:center;justify-content:space-between;z-index:10;flex-wrap:wrap}.brand{font-weight:800;color:#fff;text-decoration:none;font-size:22px}.main-nav{display:flex;gap:10px;flex-wrap:wrap}.nav-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;background:#2563eb;color:#fff;text-decoration:none;font-weight:700;box-shadow:0 4px 12px #0002}.nav-button:hover{background:#1d4ed8}.nav-button-secondary{background:#334155}.container{max-width:980px;margin:0 auto;padding:16px}.card{background:#fff;border-radius:16px;padding:16px;margin:12px 0;box-shadow:0 2px 12px #0001}.narrow{max-width:440px;margin:32px auto}.cards{display:grid;gap:12px}.page-title{display:flex;align-items:center;justify-content:space-between}.fab{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#2563eb;color:#fff;font-size:34px;text-decoration:none;box-shadow:0 8px 20px #2563eb55}.button,button{border:0;border-radius:10px;background:#e5e7eb;color:#111;padding:12px 14px;text-decoration:none;display:inline-block;font-size:16px}.primary{background:#2563eb;color:white}.danger{background:#fee2e2;color:#991b1b}label{display:grid;gap:6px;margin:10px 0;font-weight:600}input,select,textarea{font:inherit;padding:12px;border:1px solid #cbd5e1;border-radius:10px;background:white}section{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:12px}.entry-row{border:1px solid #e5e7eb;border-radius:14px;padding:12px;margin:10px 0;background:#f8fafc}.datebar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.empty{padding:24px;text-align:center;color:#64748b}.meta{color:#475569;font-size:14px}table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid #e5e7eb;text-align:left;padding:8px}.alert{background:#fee2e2;color:#991b1b;padding:10px;border-radius:10px}.notice{background:#dcfce7;color:#166534;padding:10px;border-radius:10px}.calendar-card{border-top:0}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.calendar-header h2{margin:0}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-weekdays span{text-align:center;font-weight:800;color:#64748b;padding:8px 0}.calendar-day{min-height:48px;border-radius:12px;background:#f1f5f9;color:#0f172a;text-decoration:none;display:flex;align-items:center;justify-content:center;font-weight:700;border:2px solid transparent}.calendar-day.muted{color:#94a3b8;background:#f8fafc}.calendar-day.today{border-color:#93c5fd}.calendar-day.selected{background:#2563eb;color:#fff;border-color:#1d4ed8}.calendar-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.signature-row{display:grid;grid-template-columns:1fr;gap:32px;margin-top:48px}.signature-line{border-bottom:2px solid #111;height:54px}@media(min-width:720px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.calendar-day{min-height:64px}}@media(max-width:520px){.topbar{align-items:stretch}.brand{width:100%}.main-nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nav-button{padding:0 10px}.calendar-header{display:grid;grid-template-columns:1fr}.calendar-header .button{text-align:center}.calendar-day{min-height:42px;border-radius:9px}}@media print{.topbar,.no-print,.fab{display:none}.container{max-width:none}.card{box-shadow:none;border:0}}
