:root{--navy:#404555;--navy-dark:#30343f;--navy-tint:#e9eaee;--yellow:#f5b731;--yellow-tint:#fef6e2;--yellow-line:#efd38a;--amber-ink:#6b4a00;--green:#5a9e3a;--green-ink:#2f6619;--green-tint:#ebf5e6;--green-line:#bfdcb1;--bg:#f4f5f7;--surface:#fff;--text:#1f2330;--muted:#5b6172;--line:#d9dce3;--input-line:#c6cad3;--danger:#b3261e;--danger-ink:#7a1a14;--danger-tint:#fcedec;--danger-line:#efb9b4;--radius:12px;--gutter-left:max(16px, env(safe-area-inset-left));--gutter-right:max(16px, env(safe-area-inset-right));--appbar-height:56px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--navy);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.45}*,:before,:after{box-sizing:border-box}body{background:var(--bg);overscroll-behavior-y:none;min-height:100dvh;margin:0}#root{min-height:100dvh}h1,h2,h3,p{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img,svg{display:block}.icon{flex:none}:focus-visible{outline:3px solid var(--navy);outline-offset:2px}:is(.appbar :focus-visible,.home-header :focus-visible){outline-color:var(--yellow)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.screen{min-height:100dvh}.page{max-width:760px;padding:20px var(--gutter-right) calc(32px + env(safe-area-inset-bottom)) var(--gutter-left);flex-direction:column;gap:16px;margin:0 auto;display:flex}.btn{border-radius:var(--radius);text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-size:17px;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--navy);color:#fff}.btn-primary:not(:disabled):active{background:var(--navy-dark)}.btn-secondary{background:var(--surface);border-color:var(--input-line);color:var(--navy)}.btn-secondary:not(:disabled):active{background:var(--navy-tint)}.btn-ghost{color:var(--navy);background:0 0;padding:0 10px}.btn-ghost:not(:disabled):active{background:var(--navy-tint)}.btn-danger{background:var(--surface);border-color:var(--danger-line);color:var(--danger)}.btn-danger:not(:disabled):active{background:var(--danger-tint)}.btn-danger-solid{background:var(--danger);color:#fff}.btn-danger-solid:not(:disabled):active{background:var(--danger-ink)}.btn-block{width:100%}.btn-large{min-height:56px;font-size:18px}.btn-small{min-height:42px;padding:0 14px;font-size:15px}.btn-hero{border-radius:16px;gap:14px;min-height:68px;font-size:20px;box-shadow:0 2px 6px #1f23302e}.btn-hero-icon{background:var(--yellow);width:38px;height:38px;color:var(--navy);border-radius:50%;place-items:center;display:grid}@media (hover:hover){.btn-primary:not(:disabled):hover{background:var(--navy-dark)}.btn-secondary:not(:disabled):hover,.btn-ghost:not(:disabled):hover{background:var(--navy-tint)}.btn-danger:not(:disabled):hover{background:var(--danger-tint)}}.link-button{color:var(--navy);text-underline-offset:3px;text-align:left;background:0 0;border:0;margin:-4px -2px;padding:4px 2px;font-weight:600;text-decoration:underline;display:inline}.appbar{z-index:20;background:var(--navy);color:#fff;padding-top:env(safe-area-inset-top);position:sticky;top:0}.appbar-inner{max-width:960px;min-height:var(--appbar-height);padding:4px max(8px, env(safe-area-inset-right)) 4px max(8px, env(safe-area-inset-left));align-items:center;gap:8px;margin:0 auto;display:flex}.appbar-side{flex:none;align-items:center;min-width:104px;display:flex}.appbar-actions{justify-content:flex-end}.appbar-title{text-align:center;flex:auto;min-width:0}.appbar-heading{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:650;overflow:hidden}.appbar-subtitle{color:#ffffffc7;font-size:13px}.appbar .btn-ghost{color:#fff}.appbar .btn-ghost:not(:disabled):active,.appbar .btn-ghost:not(:disabled):hover{background:#ffffff24}.appbar .btn-primary{color:var(--navy);background:#fff}.appbar .btn-primary:not(:disabled):active,.appbar .btn-primary:not(:disabled):hover{background:var(--navy-tint)}.appbar-back{gap:2px;padding-left:4px}@media (max-width:380px){.appbar-side{min-width:84px}}.home-header{background:var(--navy);color:#fff;padding:calc(env(safe-area-inset-top) + 14px) var(--gutter-right) 22px var(--gutter-left)}.home-header-inner,.home-title{max-width:728px;margin:0 auto}.home-header-inner{justify-content:space-between;align-items:center;gap:12px;display:flex}.home-logo{width:auto;height:78px}.home-settings{color:#fff;margin-right:-8px}.home-settings:not(:disabled):active,.home-settings:not(:disabled):hover{background:#ffffff24}.home-title{letter-spacing:.01em;margin-top:14px;font-size:22px;font-weight:600}.home-page{padding-top:18px}.search{position:relative}.search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input.search-input{padding-left:46px}.list-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:4px 4px 8px;font-size:13px;font-weight:700}.card.report-list{margin:0;padding:0;list-style:none;overflow:hidden}.report-list li+li{border-top:1px solid var(--line)}.report-row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:74px;padding:14px 14px 14px 18px;display:flex}.report-row:active{background:var(--navy-tint)}@media (hover:hover){.report-row:hover{background:#f8f9fa}}.report-row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.report-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:650;overflow:hidden}.report-row-name--unnamed{color:var(--muted);font-style:italic;font-weight:500}.report-row-meta{color:var(--muted);font-size:15px}.report-row-chevron{color:#9aa0ae}.tag{letter-spacing:.02em;white-space:nowrap;border-radius:999px;flex:none;padding:3px 9px;font-size:12px;font-weight:700}.tag--warn{background:var(--yellow-tint);border:1px solid var(--yellow-line);color:var(--amber-ink)}.list-empty{text-align:center;color:var(--muted);padding:24px 0}.home-footer{text-align:center;color:var(--muted);margin-top:4px;font-size:14px}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:36px 20px;display:flex}.empty-daffodil{width:64px;height:auto;margin-bottom:6px}.empty-icon{background:var(--navy-tint);width:56px;height:56px;color:var(--navy);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.empty-title{font-size:19px;font-weight:650}.empty-text{max-width:34ch;color:var(--muted);margin-bottom:8px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px}.banner{border:1px solid var(--line);background:var(--surface);border-left-width:4px;border-radius:12px;gap:12px;padding:14px 16px;font-size:15.5px;display:flex}.banner--info{border-left-color:var(--navy)}.banner--backup{border-left-color:var(--yellow)}.banner-icon{color:var(--navy);margin-top:1px}.banner-body{min-width:0}.banner-body p+p{margin-top:4px}.banner-title{font-weight:700}.banner-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.banner--info .btn-ghost{margin-left:-10px}.notice{border:1px solid;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:15.5px;display:flex}.notice>svg{margin-top:1px}.notice--ok{background:var(--green-tint);border-color:var(--green-line);color:#234d12}.notice--error{background:var(--danger-tint);border-color:var(--danger-line);color:var(--danger-ink)}.notice--warn{background:var(--yellow-tint);border-color:var(--yellow-line);color:#4f3800}.notice .link-button{color:inherit}.form-page{padding-bottom:calc(132px + env(safe-area-inset-bottom))}.form-intro{color:var(--muted);padding:0 4px;font-size:15px}.form-intro strong{color:var(--text);font-weight:600}.form-section{flex-direction:column;gap:8px;display:flex}.section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:8px 4px 0;font-size:13px;font-weight:600}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px 14px;display:grid}.grid-cell{grid-column:var(--col);grid-row:var(--row);min-width:0}.field{border:0;grid-column:span 2;min-width:0;margin:0;padding:0}.field--half{grid-column:span 1}@media (max-width:559px){.field--date.field--half,.field--multiline.field--half{grid-column:span 2}.grid-cell{grid-area:auto/1/auto/-1}}.field-label{color:var(--text);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:8px;padding:0;font-size:15.5px;font-weight:600;display:flex}legend.field-label{float:left;width:100%}legend.field-label+*{clear:both}.field-required{color:var(--muted);font-size:13.5px;font-weight:400}.input{border:1px solid var(--input-line);background:var(--surface);width:100%;min-height:50px;color:var(--text);-webkit-appearance:none;appearance:none;box-shadow:none;border-radius:10px;padding:12px 14px;font-size:17px;line-height:1.4;transition:border-color .15s,box-shadow .15s;display:block}.input::placeholder{color:#8a90a0;opacity:1}.input:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #40455538}.field--invalid .input{border-color:var(--danger);background:snow}.field--invalid .input:focus{box-shadow:0 0 0 3px #b3261e33}.field--warning .input{border-color:#c58b00}.input--multiline{resize:none;min-height:0;line-height:1.45;overflow:hidden}.input--number{font-variant-numeric:tabular-nums;max-width:9em}.field-hint{color:var(--muted);margin-top:8px;font-size:14.5px}.field-hint-ok{color:var(--green-ink);align-items:center;gap:6px;display:inline-flex}.field-hint-row{flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.field-message{align-items:flex-start;gap:8px;margin-top:8px;font-size:15px;font-weight:600;display:flex}.field-message>svg{margin-top:1px}.field-message--error{color:var(--danger)}.field-message--warning{color:var(--amber-ink)}.field-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip-button{border:1px solid var(--input-line);background:var(--surface);min-height:40px;color:var(--navy);touch-action:manipulation;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:15px;font-weight:600;display:inline-flex}.link-action{min-height:40px;color:var(--navy);touch-action:manipulation;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:15.5px;font-weight:600;display:inline-flex}.link-action:disabled{color:var(--muted);opacity:.6;cursor:default}.chip-button:not(:disabled):active{background:var(--navy-tint)}.chip-button--on{border-color:var(--navy);background:var(--navy);color:#fff}.chip-button--on:not(:disabled):active{background:var(--navy-dark)}.chip-button:disabled{opacity:.45;cursor:default}.date-input,.date-segment{align-items:center;gap:6px;display:flex}.date-part{display:block}.input.input--date{text-align:center;font-variant-numeric:tabular-nums;width:3.7em;padding-left:4px;padding-right:4px}.date-part--year .input.input--date{width:5.3em}.date-sep{color:#b3b8c2;font-size:20px}.choice-group{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px;display:grid}.choice{border:1px solid var(--input-line);background:var(--surface);text-align:center;touch-action:manipulation;border-radius:10px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:8px 12px;font-size:17px;font-weight:600;line-height:1.2;display:flex}.choice:active{background:var(--navy-tint)}.choice--selected,.choice--selected:active{border-color:var(--navy);background:var(--navy);color:#fff}.field--invalid .choice{border-color:var(--danger)}.form-end{justify-content:center;margin-top:4px;display:flex}.btn-delete,.btn-delete:not(:disabled):active{color:var(--danger);font-weight:500}.savebar{z-index:15;padding:10px var(--gutter-right) calc(10px + env(safe-area-inset-bottom)) var(--gutter-left);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;transition:transform .2s,visibility .2s;position:fixed;bottom:0;left:0;right:0}.savebar--hidden{visibility:hidden;transform:translateY(110%)}.savebar-inner{align-items:center;gap:12px;max-width:728px;margin:0 auto;display:flex}.savebar-info{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:15px;display:flex}.savebar-status{color:var(--muted);align-items:center;gap:6px;display:flex}.savebar-status--error{color:var(--danger);font-weight:600}.savebar-ok{color:var(--green)}.savebar-missing{color:var(--text);text-align:left;text-decoration:underline;-webkit-text-decoration-color:var(--input-line);text-decoration-color:var(--input-line);text-underline-offset:4px;background:0 0;border:0;padding:4px 0;font-size:15px}.savebar-missing--strong{color:var(--danger);font-weight:600;text-decoration-color:currentColor}.savebar-done{flex:none;min-width:124px;min-height:54px;font-size:18px}.screen--report{background:#e6e8ec}.report-toolbar{top:calc(var(--appbar-height) + env(safe-area-inset-top));z-index:10;background:var(--surface);border-bottom:1px solid var(--line);position:sticky}.report-toolbar-inner{max-width:960px;padding:10px var(--gutter-right) 10px var(--gutter-left);gap:8px;margin:0 auto;display:flex}.report-toolbar-inner .btn{flex:1 1 0;padding:0 12px}.report-toolbar-inner .report-zoom-toggle{flex:0 0 48px;padding:0}.report-zoom-toggle[hidden]{display:none}@media (max-width:520px){.report-toolbar{position:static}.report-toolbar-inner{flex-wrap:wrap}.report-toolbar-inner .report-export{flex-basis:100%}}.report-notes{max-width:960px;padding:14px var(--gutter-right) 0 var(--gutter-left);flex-direction:column;gap:10px;margin:0 auto;display:flex}.report-hint{color:var(--muted);overflow-wrap:anywhere;font-size:14px}.sheet-viewport{padding:16px max(12px, env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));overflow:hidden}.sheet-viewport--actual{-webkit-overflow-scrolling:touch;overflow-x:auto}.sheet-zoom{width:max-content;margin:0 auto}.settings-card{flex-direction:column;gap:12px;display:flex}.settings-title{color:var(--navy);align-items:center;gap:10px;font-size:19px;font-weight:700;display:flex}.settings-meta{color:var(--muted);font-size:15px}.settings-meta strong{color:var(--text);font-weight:600}.settings-meta--due strong{color:var(--amber-ink)}.settings-warning{border:1px solid var(--yellow-line);background:var(--yellow-tint);border-radius:12px;padding:12px 14px;font-weight:600}.restore-result p+p{margin-top:6px}.restore-result .link-button{margin-top:8px;display:inline-block}.restore-names span{font-weight:700}.settings-footer{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:16px 0 8px;font-size:14px;display:flex}.settings-logo{width:150px;height:auto}.dialog{background:var(--surface);width:min(440px,100vw - 32px);max-width:none;color:var(--text);border:0;border-radius:18px;padding:0;box-shadow:0 20px 50px #00000047}.dialog::backdrop{background:#1f23308c}.dialog-panel{padding:22px}.dialog-title{margin-bottom:10px;font-size:20px;font-weight:700}.dialog-body p+p{margin-top:10px}.dialog-body{color:#3a3f4e}.dialog-file{color:var(--muted);overflow-wrap:anywhere;font-size:14px}.dialog-actions{gap:10px;margin-top:20px;display:flex}.dialog-actions .btn{flex:1;padding:0 12px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}@media print{:root,body,.screen--report{background:#fff}.no-print,.appbar,.home-header,.savebar,dialog{display:none!important}.sheet-viewport{padding:0;overflow:visible}.sheet-zoom{width:auto;zoom:1!important}}@font-face{font-family:MLJ Open Sans;src:url(/assets/OpenSans-Regular-BYL697sd.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:MLJ Open Sans;src:url(/assets/OpenSans-Bold-xlJa4yU9.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@page{size:A4;margin:12mm 14mm}.a4-report{--r-navy:#404555;--r-text:#1f2330;--r-muted:#5e6475;--r-rule:#9aa0ae;--r-line:4.8mm;--r-ruled-line:6.5mm;width:210mm;min-height:297mm;color:var(--r-text);font-family:MLJ Open Sans,Open Sans,-apple-system,Segoe UI,Arial,sans-serif;font-size:10.5pt;line-height:var(--r-line);text-align:left;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;background:#fff;flex-direction:column;margin:0 auto;padding:12mm 14mm 9mm;display:flex;box-shadow:0 1px 3px #0000001f,0 10px 30px #00000014}.r-header{border-bottom:.4mm solid var(--r-navy);justify-content:space-between;align-items:flex-start;gap:6mm;margin-bottom:4mm;padding-bottom:3mm;display:flex}.r-logo{width:40mm;height:auto;display:block}.r-heading{text-align:right}.r-title{letter-spacing:.03em;margin:0;font-size:13pt;font-weight:700;line-height:1.25}.r-call{justify-content:flex-end;align-items:baseline;gap:2.5mm;margin:5mm 0 0;display:flex}.r-call-label{color:var(--r-muted);font-size:8pt}.r-call-value{font-size:10.5pt;font-weight:700}.r-body{flex-direction:column;flex:1;gap:3mm;display:flex}.r-section{flex-direction:column;gap:3mm;display:flex}.r-section-title{border-bottom:.3mm solid var(--r-navy);letter-spacing:.06em;color:var(--r-navy);margin:2mm 0 0;padding-bottom:1.5mm;font-size:10.5pt;font-weight:700;line-height:1.2}.r-row{break-inside:avoid;gap:6mm;display:flex}.r-field{min-width:0}.r-label{font-size:9.5pt;font-weight:700;line-height:1.2}.r-inline{flex:100%;align-items:center;display:flex}.r-inline>.r-label{flex:0 0 34mm;padding-right:2mm}.r-inline--half{flex:0 0 88mm}.r-inline--half>.r-label{flex-basis:24mm}.r-box{border:.25mm solid var(--r-navy);background:#fff;flex:auto;min-width:0}.r-single{white-space:pre-wrap;overflow-wrap:anywhere;align-items:center;min-height:8.5mm;padding:1.6mm 2.2mm;display:flex}.r-date{flex:0 0 64mm;height:12mm;display:flex}.r-inline:not(.r-inline--half)>.r-date{flex:auto}.r-date-cell{flex-direction:column;align-items:center;min-width:0;display:flex}.r-date-cell--day,.r-date-cell--month{flex:0 0 28.125%}.r-date-cell--year{flex:auto}.r-date-cell+.r-date-cell{border-left:.15mm solid var(--r-navy)}.r-date-caption{color:var(--r-muted);margin-top:1.4mm;font-size:6.5pt;line-height:1}.r-date-value{font-variant-numeric:tabular-nums;margin-top:1.6mm;font-size:10.5pt;line-height:1}.r-stack{flex-direction:column;flex:100%;gap:1mm;display:flex}.r-stack--half{flex:0 0 88mm}.r-stack>.r-label{line-height:4.2mm}.r-multi{min-height:calc(var(--rows,3) * var(--r-line) + 4.4mm);white-space:pre-wrap;overflow-wrap:anywhere;padding:2.2mm}.r-ruled{min-height:calc(var(--rows,4) * var(--r-ruled-line));line-height:var(--r-ruled-line);white-space:pre-wrap;overflow-wrap:anywhere;background-image:linear-gradient(to bottom, transparent calc(var(--r-ruled-line) - .2mm), var(--r-rule) calc(var(--r-ruled-line) - .2mm));background-size:100% var(--r-ruled-line);padding:0 1mm}.r-choice{align-items:center;min-height:6.5mm}.r-choice--nolabel{flex:100%;display:flex}.r-options{flex-wrap:wrap;gap:2mm 9mm;margin:0;padding:0;list-style:none;display:flex}.r-option{align-items:center;gap:2mm;display:flex}.r-option--selected{font-weight:700}.r-tick{border:.25mm solid var(--r-navy);flex:none;place-items:center;width:4mm;height:4mm;display:inline-grid}.r-tick svg{fill:none;width:3.4mm;height:3.4mm;stroke:var(--r-navy);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.r-footer{color:var(--r-muted);margin-top:6mm;font-size:7.5pt;line-height:1.3}@media print{.a4-report{width:auto;min-height:0;box-shadow:none;padding:0}}
