@import"https://fonts.googleapis.com/css2?family=Lora:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--color-primary: #16323a;--color-accent: #2e7d6b;--color-bg: #f6f5f1;--color-paper: #fffdf8;--color-line: #d8d3c7;--color-ink: #22201b;--color-muted: #6b6a63;--color-warning: #c97d34;--color-danger: #a4342a;--radius: 6px;--font-display: "Lora", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--color-heading: var(--color-primary);--color-surface-2: #eeece5;--color-ring: color-mix(in srgb, var(--color-accent) 35%, transparent);--color-tint: color-mix(in srgb, var(--color-accent) 8%, transparent);--radius-sm: 4px;--radius-lg: 16px;--radius-pill: 999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--shadow-xs: 0 1px 2px rgba(20, 20, 15, .06);--shadow-sm: 0 1px 3px rgba(20, 20, 15, .08), 0 1px 2px rgba(20, 20, 15, .05);--shadow-md: 0 4px 14px rgba(20, 20, 15, .1), 0 1px 3px rgba(20, 20, 15, .06);--shadow-lg: 0 16px 40px rgba(20, 20, 15, .16), 0 2px 6px rgba(20, 20, 15, .06);--transition-fast: .12s ease;--transition: .18s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{scrollbar-gutter:stable}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.25;margin:0 0 .5rem;color:var(--color-heading);letter-spacing:-.01em}h1{font-size:1.6rem}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0 0 .75rem}a{color:var(--color-accent);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font-family:inherit;font-size:1rem}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent);color:var(--color-ink)}*{scrollbar-width:thin;scrollbar-color:var(--color-line) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--color-line);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:content-box}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm);transition:outline-offset var(--transition-fast)}.app-shell{max-width:720px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;background:var(--color-bg)}.topbar{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.1rem;background:var(--color-primary);color:#fff;position:sticky;top:0;z-index:10;box-shadow:var(--shadow-sm)}.topbar img{height:28px}.topbar .app-name{font-family:var(--font-display);font-weight:600;font-size:1.05rem;flex:1;letter-spacing:-.01em}.topbar button.link{background:none;border:none;color:#fff;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:.4rem .5rem;border-radius:var(--radius-sm);transition:background var(--transition-fast),opacity var(--transition-fast)}.topbar button.link:hover{background:#ffffff1f}main.content{flex:1;padding:1.1rem}.card{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius);padding:1.1rem;margin-bottom:1rem;box-shadow:var(--shadow-xs);transition:box-shadow var(--transition),border-color var(--transition)}.field{margin-bottom:1rem}.field label{display:block;font-weight:600;margin-bottom:.35rem;color:var(--color-ink)}.field input,.field select{width:100%;padding:.7rem .8rem;border:1px solid var(--color-line);border-radius:var(--radius);background:#fff;color:var(--color-ink);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%236B6A63' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem}.field input:hover,.field select:hover{border-color:color-mix(in srgb,var(--color-line) 60%,var(--color-ink) 20%)}.field input:focus-visible,.field select:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-ring)}.field input::placeholder{color:var(--color-muted);opacity:.85}.field input:disabled,.field select:disabled{background:var(--color-surface-2);color:var(--color-muted);cursor:not-allowed;border-style:dashed}.help-text{font-size:.85rem;color:var(--color-muted);margin-top:.3rem;line-height:1.45}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:var(--radius);padding:.8rem 1.2rem;font-weight:600;cursor:pointer;width:100%;transition:filter var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:none}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:var(--shadow-sm)}.btn-secondary{background:transparent;border:1.5px solid var(--color-line);color:var(--color-heading)}.btn-secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background:var(--color-tint)}.btn-danger{background:var(--color-danger);color:#fff;box-shadow:var(--shadow-xs)}.btn-danger:hover:not(:disabled){filter:brightness(1.08);box-shadow:var(--shadow-sm)}.btn-small{width:auto;padding:.5rem .8rem;font-size:.9rem}.error-box{background:#fbeceb;border:1px solid var(--color-danger);color:var(--color-danger);padding:.7rem .9rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem}.success-box{background:#eaf5f1;border:1px solid var(--color-accent);color:#1f5c4e;padding:.7rem .9rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem}.condition-picker{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.condition-pill{border:1.5px solid var(--color-line);border-radius:var(--radius-pill);padding:.65rem .5rem;text-align:center;background:#fff;cursor:pointer;font-weight:600;font-size:.85rem;color:var(--color-ink);transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.condition-pill:hover{border-color:var(--color-accent)}.condition-pill.selected{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:var(--shadow-xs)}@media (max-width: 380px){.condition-picker{grid-template-columns:1fr}}.ledger-table-wrap{overflow-x:auto;border:1px solid var(--color-line);border-radius:var(--radius)}table.ledger-table{width:100%;border-collapse:collapse;min-width:640px;background:var(--color-paper)}table.ledger-table th,table.ledger-table td{border:1px solid var(--color-line);padding:.5rem .6rem;text-align:center;font-size:.85rem}table.ledger-table thead th{background:var(--color-surface-2);font-family:var(--font-display);font-weight:600;color:var(--color-heading)}table.ledger-table tbody tr{transition:background var(--transition-fast)}table.ledger-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--color-paper) 96%,var(--color-ink) 4%)}table.ledger-table td.mark{color:var(--color-accent);font-weight:700}.day-group{margin-bottom:1.4rem}.day-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem;background:var(--color-primary);color:#fff;padding:.55rem .9rem;border-radius:var(--radius) var(--radius) 0 0}.day-header-date{font-family:var(--font-display);font-weight:600;font-size:.95rem}.day-header-stats{font-size:.72rem;opacity:.9}.day-table{min-width:0}.day-group .ledger-table-wrap{border-top:none;border-radius:0 0 var(--radius) var(--radius)}@media print{.day-header{background:#eee!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.top-nav{position:sticky;top:var(--topbar-height, 3.6rem);z-index:9;background:var(--color-paper);border-bottom:1px solid var(--color-line);display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:720px;width:100%;margin:0 auto}.top-nav a{text-decoration:none;color:var(--color-muted);font-size:.78rem;font-weight:600;white-space:nowrap;flex-shrink:0;padding:.75rem .9rem;border-bottom:3px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.top-nav a:hover{color:var(--color-ink);background:var(--color-tint)}.top-nav a.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.nav-with-badge{position:relative}.nav-badge{position:absolute;top:-2px;right:-2px;background:var(--color-danger);color:#fff;border-radius:var(--radius-pill);min-width:16px;height:16px;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;box-shadow:0 0 0 2px var(--color-paper)}.list-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--color-line)}.list-item:last-child{border-bottom:none}.patient-switcher{background:none;border:none;padding:0;font:inherit;font-weight:700;color:var(--color-accent);cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;transition:opacity var(--transition-fast)}.patient-switcher:hover{opacity:.8}button.patient-option{width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--color-line);padding:.8rem .2rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:inherit;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast),padding-left var(--transition-fast)}button.patient-option:hover{background:var(--color-tint);padding-left:.5rem}button.patient-option:last-child{border-bottom:none}button.patient-option.selected{color:var(--color-accent)}.badge{display:inline-block;padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;letter-spacing:.01em}.badge-pending{background:#fbe9d7;color:var(--color-warning)}.badge-approved{background:#e2f1ec;color:var(--color-accent)}.badge-denied,.badge-revoked,.badge-rejected{background:#f7e2e0;color:var(--color-danger)}.center{text-align:center}.muted{color:var(--color-muted)}.link-button{background:none;border:none;padding:0;color:var(--color-accent);text-decoration:underline;text-underline-offset:2px;font:inherit;cursor:pointer;transition:opacity var(--transition-fast)}.link-button:hover{opacity:.8}.checkbox-row{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:1rem}.checkbox-row input[type=checkbox]{flex-shrink:0;margin-top:.2rem;width:1.1rem;height:1.1rem;accent-color:var(--color-accent);cursor:pointer}.checkbox-row>span,.checkbox-row>label{flex:1;min-width:0;overflow-wrap:break-word}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a088c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:0;animation:overlay-fade var(--transition) both}.modal-card{background:var(--color-paper);width:100%;max-width:720px;max-height:88vh;border-radius:var(--radius) var(--radius) 0 0;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg);animation:modal-rise .24s cubic-bezier(.16,1,.3,1) both}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.modal-overlay,.modal-card{animation:none}}@media (min-width: 760px){.modal-overlay{align-items:center}.modal-card{border-radius:var(--radius-lg);max-height:80vh}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;border-bottom:1px solid var(--color-line);background:var(--color-primary);color:#fff}.modal-title{font-family:var(--font-display);font-weight:600}.modal-close{background:none;border:none;color:#fff;font-weight:600;cursor:pointer;padding:.3rem .5rem;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.modal-close:hover{background:#ffffff1f}.modal-body{padding:1.1rem;overflow-y:auto}.modal-body img.photo-preview{max-width:100%}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 380px){.grid-2{grid-template-columns:1fr}}.photo-preview{width:100%;max-width:220px;border-radius:var(--radius);border:1px solid var(--color-line);display:block;margin-top:.5rem}.disclaimer-footer{font-size:.72rem;color:var(--color-muted);text-align:center;padding:.6rem 1rem .9rem;border-top:1px solid var(--color-line);background:var(--color-bg)}.print-disclaimer{display:none}@media print{.top-nav,.topbar,.disclaimer-footer,.no-print{display:none!important}main.content{padding:0}.print-disclaimer{display:block;margin-top:1.5rem;padding-top:.8rem;border-top:1px solid #000;font-size:.75rem;color:#000}table.ledger-table{min-width:0}}@media screen and (min-width: 860px){body{padding:2rem 1rem}.app-shell{max-width:880px;margin:0 auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-height:calc(100vh - 4rem)}.topbar{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.top-nav{max-width:880px}main.content{padding:1.6rem 2rem}.disclaimer-footer{border-radius:0 0 var(--radius-lg) var(--radius-lg)}}@media screen and (min-width: 1200px){.app-shell,.top-nav{max-width:1040px}}@media print{body{padding:0}}:root[data-visual=modern]{--radius: 14px;--font-display: "Inter", system-ui, sans-serif}[data-visual=modern] body{font-family:Inter,system-ui,sans-serif}[data-visual=modern] .topbar{border-radius:0 0 20px 20px}@media screen and (min-width: 860px){[data-visual=modern] .topbar{border-radius:20px 20px 0 0}}[data-visual=modern] .card{border:none;box-shadow:var(--shadow-sm)}[data-visual=modern] .card:hover{box-shadow:var(--shadow-md)}[data-visual=modern] .btn,[data-visual=modern] .condition-pill,[data-visual=modern] .field input,[data-visual=modern] .field select{border-radius:10px}[data-visual=modern] .condition-pill{border-radius:var(--radius-pill)}[data-visual=modern] table.ledger-table thead th{background:transparent;border:none;border-bottom:2px solid var(--color-line)}[data-visual=modern] table.ledger-table td{border-left:none;border-right:none}[data-visual=modern] .ledger-table-wrap{border:none}[data-visual=modern] .day-header{border-radius:12px;margin-bottom:.4rem}[data-visual=modern] .day-group .ledger-table-wrap{border-radius:12px;box-shadow:var(--shadow-sm)}[data-visual=modern] .top-nav{border-bottom:none;box-shadow:var(--shadow-sm)}[data-visual=modern] .modal-card{border-radius:20px 20px 0 0}@media (min-width: 760px){[data-visual=modern] .modal-card{border-radius:18px}}:root[data-mode=dark]{--color-bg: #14181a;--color-paper: #1e2427;--color-ink: #e9e7e2;--color-muted: #9a9890;--color-line: #333b3e;--color-surface-2: #262d30;--color-heading: var(--color-ink)}[data-mode=dark] table.ledger-table thead th{background:var(--color-surface-2)}[data-mode=dark][data-visual=modern] table.ledger-table thead th{background:transparent}[data-mode=dark] .condition-pill{background:#1a2023;color:var(--color-ink);border-color:var(--color-line)}[data-mode=dark] .condition-pill.selected{color:#fff}[data-mode=dark] .field input,[data-mode=dark] .field select{background:#1a2023;color:var(--color-ink);border-color:var(--color-line)}[data-mode=dark] .field input:disabled,[data-mode=dark] .field select:disabled{background:var(--color-surface-2);color:var(--color-muted)}[data-mode=dark] .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%239A9890' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}[data-mode=dark] .btn-secondary{border-color:var(--color-line)}[data-mode=dark] .error-box{background:#3a1f1c}[data-mode=dark] .success-box{background:#16302a}[data-mode=dark] .badge-pending{background:#3a2c18}[data-mode=dark] .badge-approved{background:#143c31}[data-mode=dark] .badge-denied,[data-mode=dark] .badge-revoked,[data-mode=dark] .badge-rejected{background:#3a1f1c}[data-mode=dark] .nav-badge{box-shadow:0 0 0 2px var(--color-paper)}@media screen and (min-width: 860px){[data-mode=dark] .app-shell{box-shadow:0 16px 40px #00000073,0 2px 6px #0000004d}}.appearance-row{display:flex;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}
