:root{--bg:#faf7f1;--ink:#23262b;--ink-soft:#5b6068;--paper:#fff;--line:#e7e2d8;--warn-soft:#fbebd9;--radius:18px}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,sans-serif}.wrap{max-width:880px;margin:0 auto;padding:32px 22px 70px}header{margin-bottom:22px}.intro-card{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:20px;margin-bottom:24px;padding:24px 28px;box-shadow:0 1px 2px #14140f08}.intro-title{color:var(--ink);margin-bottom:12px;font-family:Fraunces,serif;font-size:24px;font-weight:600}.intro-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;font-size:13px;font-weight:600}.intro-lead{color:var(--ink-soft);max-width:620px;margin:0 auto;font-size:15.5px;line-height:1.5}h1{margin:0 0 10px;font-family:Fraunces,serif;font-size:32px;font-weight:600;line-height:1.15}h3{margin:0 0 14px;font-family:Fraunces,serif;font-size:18px;font-weight:600}.lead{color:var(--ink-soft);max-width:620px;font-size:15.5px;line-height:1.5}.notice{background:var(--warn-soft);border-radius:var(--radius);color:#7a4e16;border:1px solid #f0d7b3;align-items:flex-start;gap:10px;margin-top:16px;padding:14px 18px;font-size:13.5px;line-height:1.5;display:flex}.notice svg{flex-shrink:0;margin-top:2px}.builder{background:var(--paper);border:1px dashed #cfc9bb;border-radius:24px;margin-bottom:30px;padding:22px 24px}.row{flex-wrap:wrap;gap:14px;margin-bottom:14px;display:flex}.field{flex-direction:column;flex:180px;gap:6px;display:flex}.field label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.field input[type=text],.field input[type=number],.field input[type=date],.field select{border:1px solid var(--line);color:var(--ink);background:#fcfbf8;border-radius:10px;padding:9px 11px;font-family:Inter,sans-serif;font-size:14px}.field input[type=color]{border:1px solid var(--line);cursor:pointer;background:#fcfbf8;border-radius:10px;width:54px;height:38px;padding:2px}.phase-box{border:1px solid var(--line);background:#fcfbf8;border-radius:14px;margin-bottom:10px;padding:14px 16px;position:relative}.phase-box .phase-num{background:var(--ink);color:#fff;border-radius:100px;padding:2px 9px;font-size:11px;font-weight:700;position:absolute;top:-10px;left:14px}.times-check{flex-wrap:wrap;gap:14px;margin-top:4px;display:flex}.times-check label{color:var(--ink);text-transform:none;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.times-check input{width:16px;height:16px}.maint-check{align-items:center;gap:8px;margin-top:6px;font-size:13px;display:flex}.maint-check input{width:16px;height:16px}.ghost-btn,.solid-btn{cursor:pointer;border:none;border-radius:100px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.ghost-btn{border:1px solid var(--line);color:var(--ink);background:#fff}.ghost-btn:hover{background:#f3f0e9;border-color:#cfc9bb;transform:translateY(-1px);box-shadow:0 2px 4px #0000000a}.ghost-btn:active{transform:translateY(0)}.solid-btn{background:var(--ink);color:#fff;box-shadow:0 2px 4px #23262b1a}.solid-btn:hover{background:#3a3d43;transform:translateY(-1px);box-shadow:0 4px 8px #23262b26}.solid-btn:active{transform:translateY(0)}.builder-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.remove-phase{background:var(--paper);border:1px solid var(--line);color:#b23b3b;cursor:pointer;border-radius:100px;padding:4px 8px;font-size:11px;font-weight:600;transition:all .2s;position:absolute;top:8px;right:10px}.remove-phase:hover{background:#fdf0f0;border-color:#f0d7d7}.delete-card{background:var(--paper);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;border-radius:100px;align-items:center;gap:4px;padding:6px 10px;font-size:11px;font-weight:600;transition:all .2s;display:flex;position:absolute;top:14px;right:14px}.delete-card:hover{color:#b23b3b;background:#fdf0f0;border-color:#f0d7d7}.close-modal:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:rotate(90deg)}.top-actions-row{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:20px;display:flex}.card-wrapper{background:var(--paper);border:1px solid var(--line);border-radius:20px;flex-direction:column;margin-top:16px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #14140f08}.card{box-shadow:none;background:0 0;border:none;border-radius:0;position:relative}.delete-med-btn{background:var(--paper);border:none;border-top:1px solid var(--line);color:var(--ink-soft);cursor:pointer;justify-content:center;align-items:center;width:100%;height:44px;font-size:18px;transition:all .2s;display:flex}.delete-med-btn:hover{color:#b23b3b;background:#fdf0f0}.card-head{align-items:center;gap:14px;padding:16px 20px 12px;display:flex}.icon-box{border:1px solid var(--line);background:#fcfbf8;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.icon-box svg{width:42px;height:42px}.card-title h2{margin:0 0 2px;font-family:Fraunces,serif;font-size:18px;font-weight:600}.card-title .sub{color:var(--ink-soft);font-size:12px}.pill-tag{letter-spacing:.02em;white-space:nowrap;border-radius:100px;margin-left:auto;padding:5px 11px;font-size:11px;font-weight:600}.steps{align-items:stretch;gap:0;padding:0 20px 12px;display:flex;overflow-x:auto}.step{border:1.5px solid var(--line);background:#fcfbf8;border-radius:12px;flex:1 1 0;min-width:104px;padding:8px 10px 9px;position:relative}.step .day-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:10px;font-weight:700}.step .date-sub{color:var(--ink-soft);opacity:.8;margin-top:1px;font-size:10px}.step .dose{margin:4px 0 1px;font-family:Fraunces,serif;font-size:18px;font-weight:600;line-height:1}.step .dose small{color:var(--ink-soft);font-size:11px;font-weight:500}.step .detail{color:var(--ink-soft);font-size:10.5px;line-height:1.3}.arrow{flex:0 0 20px;justify-content:center;align-items:center;display:flex}table.tracker{border-collapse:collapse;table-layout:fixed;width:100%;margin:0}table.tracker th,table.tracker td{border-top:1px solid var(--line);text-align:center;height:30px;padding:6px 8px;font-size:12.5px}table.tracker th{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;background:#f7f4ed;font-size:10.5px;font-weight:600}table.tracker td:first-child,table.tracker th:first-child{text-align:left;color:var(--ink);width:34%;padding-left:18px;font-weight:600}.day-date{color:var(--ink-soft);margin-left:4px;font-size:11px;font-weight:400}tr.phase-divider td{color:var(--ink-soft);text-align:left;letter-spacing:.02em;background:#f7f4ed;height:24px;padding-left:18px;font-size:11px;font-weight:700}td.cell-empty{background:repeating-linear-gradient(135deg,#0000,#0000 5px,#f1eee6 5px 6px)}.tracker-wrap{padding:0 20px 16px}input[type=checkbox].dose-check{cursor:pointer;width:17px;height:17px}.med-block{margin-bottom:32px}.footer-note{color:var(--ink-soft);text-align:center;margin-top:22px;font-size:11.5px}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#23262b66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{background:var(--bg);border-radius:24px;width:100%;max-width:880px;max-height:90vh;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0003}.close-modal{background:var(--paper);border:1px solid var(--line);cursor:pointer;width:36px;height:36px;color:var(--ink-soft);z-index:10;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.close-modal:hover{background:var(--ink);color:#fff;border-color:var(--ink)}@media print{@page{size:A4;margin:9mm 11mm}body{background:#fff}.top-actions-row,.builder,.delete-card,.builder-actions,.modal-overlay,.close-modal,.delete-med-btn,.intro-card{display:none!important}.eyebrow,.lead{display:none}.wrap{max-width:100%;padding:0}header{margin-bottom:8px}h1{margin:0 0 4px;font-size:19px}.notice{border-radius:8px;margin-top:0;padding:8px 12px;font-size:10.5px}.notice svg{width:14px;height:14px}.med-block{break-inside:avoid;page-break-inside:avoid;margin-bottom:16px}.card-wrapper{break-inside:avoid;border:1px solid #d8d4c9;border-radius:10px;margin-top:9px}.card{box-shadow:none;border:none;border-radius:0}.card-head{gap:9px;padding:10px 14px 8px}.card-actions,.edit-btn{display:none!important}.icon-box{border-radius:8px;width:38px;height:38px}.icon-box svg{width:30px;height:30px}.card-title h2{margin:0 0 1px;font-size:13.5px}.card-title .sub{font-size:9.5px}.pill-tag{padding:3px 8px;font-size:8.5px}.steps{gap:5px;padding:0 14px 8px}.step{border-radius:8px;min-width:0;padding:6px 7px 7px}.step .day-tag{font-size:8.5px}.step .date-sub{font-size:8px}.step .dose{font-size:14px}.step .detail{font-size:8.5px}.arrow svg{width:12px;height:8px}.tracker-wrap{padding:0 14px 10px}table.tracker th,table.tracker td{height:19px;padding:3px 6px;font-size:9px}table.tracker td:first-child,table.tracker th:first-child{padding-left:12px}tr.phase-divider td{height:16px;padding-left:12px;font-size:9px}input[type=checkbox].dose-check{width:11px;height:11px}.footer-note{margin-top:6px;font-size:8px}}@media (width<=600px){.steps{flex-direction:column}.arrow{height:18px;transform:rotate(90deg)}.card-head{flex-wrap:wrap}}
