:root{--ink:#172f29;--muted:#60736c;--paper:#f5f7f2;--white:#fff;--line:#dce4dd;--green:#d6eabf;--orange:#ad4d27;--red:#a22b34;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ac652b;outline-offset:4px}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(2.15rem,3.8vw,3.4rem);font-weight:400;letter-spacing:-.055em;line-height:1.12;margin-bottom:16px}h2{font-size:1.25rem;font-weight:600;letter-spacing:-.025em}h3{font-size:1.05rem;margin-bottom:10px}.muted,.help{color:var(--muted)}.help{font-size:.875rem;line-height:1.55}.eyebrow,.nav-label{font-size:.75rem;letter-spacing:.12em;font-weight:700;color:var(--muted);margin-bottom:16px}.hidden{display:none!important}.sidebar{position:fixed;width:230px;inset:0 auto 0 0;background:var(--ink);color:#f0f6ec;padding:35px 24px;display:flex;flex-direction:column}.brand{font:600 1.5rem Georgia,serif;display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:62px}.brand-mark{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid #9ba996;border-radius:50%;font-size:1.6rem}.nav-label{color:#aebeb3;padding-left:12px}nav{display:grid;gap:8px}nav button{border:0;color:#c4d1c7;background:transparent;text-align:left;padding:13px 14px;border-radius:8px;min-height:48px;display:flex;justify-content:space-between}nav button span{opacity:.4;font-size:.75rem;margin-top:4px}nav button.selected{color:var(--ink);background:var(--green)}.sidebar-bottom{margin-top:auto}.sidebar-bottom p{font:1.5rem/1.3 Georgia,serif;color:#c6d8ba;margin-bottom:30px}.sidebar-bottom a,.sidebar-bottom button{font-size:.875rem;display:block;color:#b8c8bc}.sidebar-bottom button{background:none;border:none;padding:16px 0 0}main{margin-left:230px;padding:0 46px 64px;max-width:1600px}.topbar{display:flex;justify-content:space-between;padding:27px 0;border-bottom:1px solid var(--line);gap:16px;font-size:.875rem;color:var(--muted)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:42px 0 30px}.page-heading p:last-child{margin:0}.primary,.secondary{border-radius:8px;min-height:46px;padding:11px 18px;font-size:.9375rem;font-weight:600;border:1px solid var(--ink);white-space:nowrap}.primary{color:#fff;background:var(--ink)}.primary:hover{background:#2b4a3f}.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.secondary:hover{background:#eaf0e5}.notice{padding:17px 20px;background:#edf0df;border:1px solid #d9dfba;border-radius:10px;margin:20px 0;display:flex;gap:16px;justify-content:space-between;align-items:center}.notice p{margin:0}.notice a,.notice button{flex-shrink:0}.danger{color:var(--red)}.notice.danger{background:#fff0ed;border-color:#efc6c4}.summary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0 38px}.stat{padding:22px 25px;border-right:1px solid var(--line)}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat strong{font:2.1rem/1.2 Georgia,serif;display:block;margin-bottom:8px}.stat span{font-size:.875rem;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 16px}.section-heading h2,.section-heading h3{margin:0}.section-heading>span{font-size:.875rem}.routine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{border:1px solid var(--line);border-radius:12px;padding:24px;background:white;min-width:0}.card h3{font-family:Georgia,serif;font-weight:400;font-size:1.6rem;line-height:1.25;overflow-wrap:anywhere;margin:15px 0 8px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge{display:inline-block;padding:4px 9px;border-radius:5px;font-size:.75rem;font-weight:650;background:#e9eee8;color:#47604d;text-transform:capitalize}.badge.ready,.badge.completed{background:#dfeecd}.badge.partial,.badge.publishing,.badge.pending{background:#fff0cf;color:#825719}.badge.failed,.badge.uncertain,.badge.conflict{background:#fde4df;color:#9c3430}.card-meta{color:var(--muted);font-size:.875rem}.progress-label{display:flex;justify-content:space-between;margin:26px 0 8px;font-size:.875rem}progress{width:100%;height:7px;border:0;border-radius:4px;background:#e6ebe3;accent-color:#527846}progress::-webkit-progress-bar{background:#e6ebe3;border-radius:4px}progress::-webkit-progress-value{background:#527846;border-radius:4px}.card-actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px}.card-actions a{font-weight:600;text-underline-offset:4px;font-size:.9375rem;padding:10px 0}.card-actions button{font-size:.875rem;padding:8px 12px;min-height:42px}.empty{grid-column:1/-1;background:#eaf0e3;border:1px dashed #b5c9a5;border-radius:12px;padding:36px;min-height:190px;display:flex;align-items:center;gap:28px}.empty-symbol{font:3rem Georgia,serif;color:#66844a}.empty h3{font:1.6rem Georgia,serif;margin:0 0 9px}.empty p{max-width:540px;color:var(--muted);margin:0 0 18px}.list-row{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);gap:20px}.list-row p{margin:4px 0 0}.list-row strong{overflow-wrap:anywhere}.row-end{text-align:right;flex-shrink:0}.explanation{margin:34px 0;padding:26px;border-left:3px solid #a4bb8e;background:#edf1e8;max-width:900px}.explanation p:last-child{margin:0}.explanation h2{margin-bottom:12px}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login form{width:100%;max-width:400px}.login h1{margin-top:30px}.login button{width:100%;margin-top:24px}.login .brand-mark{color:var(--ink)}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:17px}input,select{display:block;width:100%;background:white;border:1px solid #bccabe;border-radius:7px;min-height:46px;padding:10px 12px;margin-top:7px;color:var(--ink)}dialog{border:0;border-radius:16px;padding:0;color:var(--ink);width:720px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:0 20px 80px #12221933}dialog::backdrop{background:#15221a88;backdrop-filter:blur(3px)}.dialog-header{padding:26px 28px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-header h2{font:1.75rem Georgia,serif;margin:0}.dialog-header .eyebrow{margin-bottom:7px}.icon{font-size:1.8rem;border:0;background:transparent;min-width:44px;min-height:44px;color:var(--ink)}.dialog-body{padding:24px 28px;overflow-y:auto;max-height:calc(100dvh - 240px)}.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 28px;border-top:1px solid var(--line);background:var(--paper)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}details{border:1px solid var(--line);border-radius:8px;padding:13px 15px;margin-bottom:14px}summary{cursor:pointer;font-size:.875rem;font-weight:600;min-height:26px}details[open] summary{margin-bottom:16px}.task-row{border:1px solid var(--line);padding:14px;border-radius:9px;margin-bottom:12px;background:var(--paper)}.task-line{display:flex;align-items:center;gap:8px}.task-line input{margin:0}.task-line .remove-task{font-size:1.2rem}.task-row details{margin:10px 0 0;border:0;padding:0}.task-row details[open]{padding-top:6px}.task-row label{font-size:.8125rem}.task-row .field-grid{gap:12px}.task-row .field-grid label{margin:0}.task-row label:last-child{margin-bottom:0}.preview-window{padding:12px 0;border-bottom:1px solid var(--line);font-size:.875rem}#preview{background:#edf2e6;padding:20px;border-radius:10px;margin-top:24px}#preview h3{font-size:1rem}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:9px;padding:14px 24px;box-shadow:0 8px 25px #0002;z-index:20;max-width:calc(100% - 32px)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8125rem}
@media(min-width:1450px){main{padding-left:64px;padding-right:64px}.routine-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.sidebar{width:190px;padding:28px 16px}main{margin-left:190px;padding:0 25px 50px}.page-heading{align-items:flex-start}.page-heading .primary{margin-top:30px}.routine-grid{grid-template-columns:1fr}.topbar{font-size:.8125rem}}
@media(max-width:700px){.sidebar{position:static;width:100%;padding:18px 18px 0;background:var(--ink)}.brand{margin:0 0 19px;font-size:1.3rem}.brand-mark{width:32px;height:32px;font-size:1.3rem}.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow-x:auto;gap:4px}nav button{padding:12px 13px;border-radius:6px 6px 0 0;min-height:48px;font-size:.875rem;white-space:nowrap}nav button span{display:none}main{margin:0;padding:0 20px 40px}.topbar{padding:17px 0;flex-direction:column;gap:3px}.page-heading{display:block;margin:29px 0 22px}.page-heading .primary{margin-top:20px}.eyebrow{font-size:.6875rem;letter-spacing:.09em}h1{font-size:2.4rem}.page-heading .muted{font-size:.9375rem}.notice{display:block;padding:16px}.notice .secondary{margin-top:12px}.summary{gap:0;margin-bottom:26px}.stat{padding:18px 12px}.stat strong{font-size:1.8rem}.stat span{font-size:.8125rem}.section-heading{gap:10px;align-items:flex-start}.section-heading>span{max-width:150px;text-align:right;font-size:.8125rem}.card{padding:21px}.empty{padding:24px;display:block;min-height:0}.empty-symbol{display:none}.list-row{align-items:flex-start}.list-row .card-meta{font-size:.8125rem}.row-end{font-size:.875rem}.explanation{padding:20px;font-size:.9375rem}dialog{max-width:100%;width:100%;max-height:100dvh;border-radius:14px 14px 0 0;margin:auto 0 0}.dialog-body{padding:20px;max-height:calc(100dvh - 210px)}.dialog-header{padding:20px}.dialog-footer{padding:16px 20px}.dialog-footer .help{max-width:145px;font-size:.8125rem}.field-grid{gap:0 12px}.task-row .field-grid{grid-template-columns:1fr}.dialog-header h2{font-size:1.5rem}.section-heading .secondary{padding:10px}.login h1{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:700px){nav{scrollbar-width:none}nav::-webkit-scrollbar{display:none}.page-heading .eyebrow{display:none}.page-heading h1{font-size:2rem}.page-heading{margin-top:24px}.stat{padding-top:16px;padding-bottom:16px}.page-heading .primary{margin-top:16px}}
