@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,-apple-system,BlinkMacSystemFont,sans-serif;color:#343d3a;background:#f8f7f2;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}.shell{max-width:580px;margin:auto;min-height:100dvh;padding:20px 19px 100px}.top{display:flex;justify-content:space-between;align-items:center;padding:13px 0 18px}.eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#84928b;font-weight:700}.hello{font-size:30px;font-weight:800;letter-spacing:-.055em;margin:5px 0}.sub{color:#83918a;font-size:13px}.avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#e4ece6;color:#638874;font-size:23px}.card{background:white;border:1px solid #eef0ea;border-radius:25px;padding:21px;margin:15px 0;box-shadow:0 7px 35px #53685b09}.hero{background:#e4eee8;border:none;padding:25px}.hero h2{font-size:23px;margin:8px 0;letter-spacing:-.045em}.hero p{color:#647e6c;line-height:1.6;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#557d68;color:white;border:0;border-radius:15px;padding:13px 18px;font-weight:700}.btn.secondary{background:#edf3ee;color:#527560}.btn.ghost{background:#f6f7f4;color:#5c6962}.btn.danger{background:#fff0ef;color:#ad5555}.btn.full{width:100%}.sectiontitle{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:15px}.sectiontitle h2{margin:0;font-size:17px;letter-spacing:-.035em}.tag{background:#eef4ef;border-radius:20px;padding:5px 10px;font-size:11px;color:#61806d}.entry{display:flex;gap:12px;justify-content:space-between;align-items:center;border-top:1px solid #f0f1ed;padding:14px 0}.entry:first-of-type{border-top:0}.entry strong{font-size:19px;letter-spacing:-.035em}.entry small{display:block;color:#87938e;margin-top:4px}.round{width:44px;height:44px;border-radius:15px;background:#f2f6f3;display:grid;place-items:center;font-size:20px}.time{color:#7d8984;font-size:12px}.check{display:flex;align-items:center;gap:12px;border-top:1px solid #f0f1ed;padding:15px 0}.check input{appearance:none;border:2px solid #b7c8bc;border-radius:9px;width:28px;height:28px;flex-shrink:0}.check input:checked{background:#628e73;border-color:#628e73}.check input:checked:after{content:'✓';color:white;display:block;text-align:center;font-size:19px;font-weight:800}.check .taken{text-decoration:line-through;color:#a6b0aa}.nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#ffffffed;backdrop-filter:blur(20px);border-top:1px solid #ebeee9;padding:11px max(10px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom));max-width:580px;margin:auto}.nav button{border:0;background:none;color:#9aa59e;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:55px;font-size:10px;font-weight:700}.nav button.active{color:#527a64}.nav span{font-size:22px}.tabs{display:flex;gap:7px;overflow:auto;padding:7px 0 11px}.tabs button{border:0;white-space:nowrap;padding:10px 13px;border-radius:12px;background:#edf1ed;color:#758279;font-size:12px;font-weight:700}.tabs button.sel{background:#567d68;color:white}.field{display:flex;flex-direction:column;gap:6px;margin:13px 0}.field label{font-size:12px;font-weight:700;color:#78877d}.field input,.field textarea,.field select{width:100%;border:1px solid #e6ece7;background:#fafbf9;border-radius:13px;padding:14px;color:#34453b;outline-color:#90ae97}.field textarea{min-height:75px;resize:vertical}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.muted{color:#89968d;font-size:13px;line-height:1.55}.empty{text-align:center;padding:25px 8px;color:#87968a}.empty .illustration{font-size:42px;margin-bottom:8px}.calendarhead{display:flex;justify-content:space-between;align-items:center}.calendarhead button{border:0;background:#f1f5f2;border-radius:12px;padding:10px 15px;color:#4d7360}.calendargrid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:17px}.calendargrid>*{text-align:center}.weekday{font-size:10px;color:#a0aaa2;padding:10px 0}.day{border:0;background:transparent;border-radius:13px;height:49px;color:#56635a;position:relative}.day.mark:after{content:'';background:#90b49a;width:5px;height:5px;border-radius:50%;position:absolute;bottom:6px;left:calc(50% - 2.5px)}.day.chosen{background:#557e69;color:#fff}.day.chosen:after{background:#fff}.modalshade{position:fixed;z-index:40;inset:0;background:#24372b70;display:flex;align-items:flex-end;justify-content:center}.modal{width:min(100%,580px);max-height:94dvh;overflow:auto;background:#fff;border-radius:26px 26px 0 0;padding:25px 20px calc(25px + env(safe-area-inset-bottom))}.modal h2{margin:0 0 18px}.actions{display:flex;gap:9px;margin-top:17px}.actions>*{flex:1}.pills{display:flex;gap:7px;flex-wrap:wrap}.pill{border:1px solid #e3eae4;border-radius:10px;background:#fff;color:#718074;padding:9px 11px}.pill.on{background:#dcebe1;color:#4a7660;border-color:#bad3c2}.auth{max-width:400px;margin:10vh auto;padding:23px}.auth h1{font-size:30px;letter-spacing:-.055em}.hint{border-radius:15px;background:#f0f6f1;color:#65826e;padding:12px;margin:12px 0}.tiny{font-size:11px}.spark{font-size:45px}.bar{height:9px;background:#e6eee8;border-radius:99px;overflow:hidden}.bar span{display:block;background:#76a184;height:100%}.err{color:#af5555;font-size:13px}.link{border:0;background:transparent;text-decoration:underline;color:#547b64;padding:8px}.loading{text-align:center;margin-top:35vh;color:#84948a}canvas{width:100%;height:160px}.separator{height:1px;background:#edf0ec;margin:18px 0}@media(min-width:720px){.shell{border-left:1px solid #ecefeb;border-right:1px solid #ecefeb}}@media(prefers-color-scheme:dark){:root{background:#151d19;color:#e4ebe5}.card,.modal,.nav{background:#24302a;border-color:#334138}.hero{background:#284334}.field input,.field textarea,.field select{background:#1d2722;color:#e4ebe5;border-color:#39483f}.entry,.check{border-color:#3a483f}.pill{background:#25372b;color:#b2c7b7}.pill.on{background:#42634d}.nav{background:#24302af0}.day{color:#e4ebe5}.hello{color:#e4ebe5}}

body.viewer [data-addm],body.viewer [data-editm],body.viewer [data-editmed],body.viewer #addMed,body.viewer #addRem,body.viewer [data-delrem],body.viewer #enablePush,body.viewer #gotoMeds,body.viewer #remTime{display:none!important}body.viewer .check input{opacity:.68;pointer-events:none}body.viewer .check{cursor:default}body.viewer .viewer-note{display:block} 

/* v5: tonometer camera and recognition */
.bp-actions{display:flex;flex-wrap:wrap;gap:9px}.bp-actions .btn{flex:1;min-width:160px}.bp-camera{border-radius:18px;background:#f4f8f4;padding:12px;margin-bottom:14px}.bp-photo-button{width:100%;text-align:center}.bp-photo-input{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}.bp-photo-help{margin:9px 0 0}.bp-scan-status{font-size:12px;line-height:1.5;color:#607a69;margin-top:8px}.bp-preview-wrap{text-align:center;margin-top:10px}.bp-preview-wrap[hidden]{display:none}.bp-preview-wrap img{display:block;max-width:100%;max-height:180px;object-fit:contain;margin:0 auto 9px;border-radius:12px}.bp-preview-wrap button{padding:9px}.viewer .bp-actions{display:none}@media(prefers-color-scheme:dark){.bp-camera{background:#2a3e31}.bp-scan-status{color:#c5d9c9}}

/* v6 history print action and native A4 print layout */
.history-print-btn{width:100%;margin:0 0 15px;min-height:43px}
@media screen{#olesyaPrintReport{display:none!important}}
@page{size:A4 portrait;margin:14mm 12mm 16mm}
@media print{
 html,body{margin:0!important;padding:0!important;background:#fff!important;color:#202724!important;font-family:Arial,Helvetica,sans-serif!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 body>*:not(#olesyaPrintReport){display:none!important}
 #olesyaPrintReport,#olesyaPrintReport *{visibility:visible!important}
 #olesyaPrintReport{display:block!important;width:auto!important;margin:0!important;padding:0!important;font:9.5pt/1.45 Arial,Helvetica,sans-serif!important;color:#202724!important}
 .report-header{border-bottom:1.2pt solid #5c8671;padding:0 0 5mm;margin-bottom:6mm;break-after:avoid-page}
 .report-brand{font-size:8pt;letter-spacing:.13em;color:#5a7d68;font-weight:bold}
 .report-header h1{font-size:20pt;line-height:1.2;margin:2.5mm 0 2.5mm;color:#23392d}
 .report-period,.report-sub{margin:1mm 0;font-size:9.5pt}
 .report-section{margin:0 0 7mm}
 .report-section h2{font-size:12.5pt;margin:0 0 2mm;color:#254a37;break-after:avoid}
 .report-count{margin:0 0 2.5mm;color:#425148;font-size:9pt}
 .report-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:8.5pt}
 .report-table thead{display:table-header-group}
 .report-table th{background:#e7efe9;border:1px solid #bccbc1;text-align:left;font-weight:bold;padding:2mm 1.8mm;line-height:1.2}
 .report-table td{border:1px solid #cbd5cf;vertical-align:top;padding:2mm 1.8mm;white-space:normal;overflow-wrap:anywhere;word-break:normal}
 .report-table tr{break-inside:avoid;page-break-inside:avoid}
 .report-table th.numeric,.report-table td.numeric{text-align:center}
 .report-table td.notes{white-space:pre-wrap}
 .report-section:first-of-type .report-table th:nth-child(1){width:15%}
 .report-section:first-of-type .report-table th:nth-child(2){width:10%}
 .report-section:first-of-type .report-table th:nth-child(3),
 .report-section:first-of-type .report-table th:nth-child(4){width:12%}
 .report-section:first-of-type .report-table th:nth-child(5){width:10%}
 .report-empty{margin:4mm 0;color:#6e7972}
 .report-footnote{font-size:8pt;color:#69786f;margin-top:2.5mm}
 .report-footer{border-top:1px solid #d6ddd8;padding-top:3mm;font-size:8pt;color:#637168;break-inside:avoid}
}
