/* Dochar Calendar 1.1 — navy, jade and warm gold. No remote assets. */
:root,[data-theme=midnight]{--bg:#0b1420;--paper:#121f2e;--paper-solid:#121f2e;--glass:#172837;--ink:#edf5f3;--muted:#a4b7bd;--line:#2a3e4c;--olive:#6ce3ba;--olive-light:#183d37;--coral:#edc364;--coral-deep:#edc364;--holiday:#ff9e9c;--button-ink:#082b22;--panel:#101c2a;--shadow:0 15px 45px #0002;--radius:22px;color-scheme:dark}
[data-theme=sunset]{--bg:#f5f4ee;--paper:#fffef9;--paper-solid:#fffef9;--glass:#edf3ec;--ink:#203d37;--muted:#586f67;--line:#d6dfd5;--olive:#176a55;--olive-light:#e4f1e8;--coral:#956719;--coral-deep:#956719;--holiday:#af4148;--button-ink:#fff;--panel:#f8f9f3;--shadow:0 15px 40px #1d4b3709;color-scheme:light}
[data-theme=forest]{--bg:#0d201e;--paper:#142d28;--paper-solid:#142d28;--glass:#1a3830;--ink:#edf6ee;--muted:#acc6b8;--line:#315147;--olive:#a3dfbd;--olive-light:#24493b;--coral:#ebcf91;--coral-deep:#ebcf91;--holiday:#ffb2a1;--button-ink:#113426;--panel:#102820;--shadow:0 15px 45px #0002;color-scheme:dark}
body{background:radial-gradient(ellipse at 90% 0,#26736518,transparent 55%),var(--bg);color:var(--ink);font-size:14px;line-height:1.85}
button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--olive);outline-offset:3px}
::selection{background:var(--olive-light);color:var(--ink)}[hidden]{display:none!important}
.app-layout,html[dir=ltr] .app-layout{grid-template-columns:210px minmax(400px,1fr) 248px;gap:26px;max-width:1390px;padding:26px 28px 32px}
.rail,[data-theme=midnight] .rail{background:var(--panel);border:1px solid var(--line);box-shadow:none;border-radius:22px;top:26px;min-height:calc(100dvh - 52px);padding:24px 12px 18px}
.brand{padding:0 3px 23px;gap:8px}.brand-mark,[data-theme=midnight] .brand-mark{width:50px;height:50px;background:transparent;box-shadow:none;flex:none}.brand-mark img{width:56px;height:56px;object-fit:contain}.brand-name{font-size:18px!important;font-weight:750;letter-spacing:-.6px}.brand-sub{font-size:8px;color:var(--olive);letter-spacing:1.3px;margin-top:2px;direction:ltr}
.nav-label{font-size:10px;letter-spacing:0;color:var(--muted);padding:8px 12px}.rail-nav{gap:4px}.nav-item{min-height:43px;padding:9px 12px;font-size:12px;gap:10px;border:1px solid transparent}.nav-item .icon{width:19px;height:19px}.nav-item:hover{background:var(--glass)}.nav-item.active,[data-theme=midnight] .rail .active,[data-theme=midnight] .drawer .active,.drawer .nav-item.active{background:var(--olive-light);border-color:var(--line);color:var(--olive);box-shadow:none}.nav-item.active:after{content:'';width:5px;height:5px;border-radius:50%;background:var(--olive);margin-inline-start:auto}.nav-item .nav-badge{background:var(--glass);color:var(--olive);margin-inline-start:auto}.nav-item:has(.nav-badge):after{display:none}.nav-divider{margin:14px 10px 5px}.rail-bottom{padding:20px 8px 0}.rail-caption{font-size:10px}.rail-add{width:100%;margin-bottom:16px}.storage-label{font-size:10px;line-height:1.8}.storage-label .icon{color:var(--olive)}
.topbar{height:76px;margin-bottom:18px;padding:0 2px;gap:8px}.page-eyebrow{color:var(--muted);font-size:11px}.topbar h1{font-size:24px;font-weight:750}.top-actions{gap:7px}.icon-btn,.today-btn,[data-theme=midnight] .icon-btn,[data-theme=midnight] .today-btn{height:42px;min-width:42px;border:1px solid var(--line);background:var(--panel);border-radius:13px;color:var(--ink)}.icon-btn:hover,.today-btn:hover{background:var(--glass);border-color:var(--olive);transform:none}.today-btn{color:var(--olive);font-size:12px;padding:6px 13px}.primary,[data-theme=midnight] .primary{background:var(--olive);border:1px solid var(--olive);color:var(--button-ink);font-weight:650;border-radius:12px;min-height:44px}.primary .icon{width:19px;height:19px}.secondary{background:var(--panel);border-color:var(--line);color:var(--ink);min-height:44px}.ghost{color:var(--olive);min-height:36px}.danger{color:var(--holiday)}
.card,[data-theme=midnight] .card{border:1px solid var(--line);background:var(--paper);box-shadow:none}.card-pad{padding:24px}.section-head{gap:10px;flex-wrap:wrap}.section-head h2{font-size:17px}.tag{background:var(--panel);color:var(--muted);font-size:10px}.pill{background:var(--olive-light);color:var(--olive)}
.month-header,[data-theme=midnight] .month-header,[data-theme=forest] .month-header{background:var(--panel);padding:22px 24px 18px;border-bottom:1px solid var(--line)}.month-title{gap:12px;min-height:44px}.month-title h2{font-size:29px;font-weight:700;color:var(--ink)}.month-title .year,[data-theme=midnight] .month-title .year{font-size:18px;color:var(--muted)}.month-switch{gap:8px}.month-switch .icon-btn{width:40px;height:40px;border:1px solid var(--line);background:var(--paper);border-radius:12px}.alt-months,[data-theme=midnight] .alt-months{background:transparent;padding:11px 24px;font-size:11px;border-color:var(--line);gap:8px}.weekday-row{padding:12px 12px;font-size:11px}.month-grid{gap:5px;padding:0 14px 14px}.day-cell{min-height:79px;border-radius:13px;border:1px solid var(--line);background:var(--panel);padding:5px 4px}.day-cell:hover{background:var(--glass);border-color:var(--olive)}.day-cell.outside{opacity:.4;border-color:transparent;background:transparent}.day-cell.today:not(.selected){border-color:var(--coral);background:var(--panel);color:var(--coral)}.day-cell.selected,[data-theme=midnight] .day-cell.selected{background:var(--olive-light);color:var(--olive);border:2px solid var(--olive);box-shadow:none}.day-number{font-size:24px;font-weight:650;line-height:1.5}.day-secondary{font-size:10px;opacity:1;color:var(--muted);margin-top:1px}.day-dots{height:6px;gap:4px}.day-dots i{background:var(--coral);width:5px;height:5px}.day-dots i.note{background:#91baf0}.day-dots i.shift{background:var(--olive)}.day-cell.selected .day-dots i{background:var(--coral)}.calendar-foot{margin:0 22px;padding:12px 0;flex-wrap:wrap}.legend{font-size:10px;gap:12px}.selected-day-big{font-weight:650;color:var(--olive);font-size:38px}.selection-card{padding:22px}.selection-heading small{font-size:11px}.detail-row{padding:13px 0}.detail-row p{font-size:13px}.detail-row .event-text{margin-bottom:5px}.detail-row small{font-size:11px}.detail-label{font-size:11px}.event-edit{text-align:start;display:block;width:100%;padding:3px 0;color:var(--ink)}.event-edit:hover{color:var(--olive)}
.insights{top:26px;padding-top:94px;gap:16px}.insight-card,[data-theme=midnight] .insight-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;backdrop-filter:none;padding:20px}.date-widget,[data-theme=midnight] .date-widget{background:var(--olive-light);color:var(--ink);border-color:var(--line);padding:20px;text-align:start;min-height:0}.date-widget:after{display:none}.widget-weekday{color:var(--olive);font-size:12px}.widget-day{color:var(--olive);font-size:82px;line-height:1.2;letter-spacing:-3px;font-weight:600;margin:10px 0}.widget-date{font-size:14px;color:var(--ink)}.widget-greg{color:var(--muted);font-size:11px;margin-top:10px;text-align:start}.widget-clock{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:16px;padding-top:12px;color:var(--muted);font-size:10px}.widget-clock strong{font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums;direction:ltr;font-weight:550}.quote-card .icon{color:var(--coral)}.quote-card p{font-size:12px}.quote-card small{font-size:10px}.side-title{font-size:12px}.prayer-time{color:var(--olive)}.prayer-row{font-size:12px}.nowruz-row strong{color:var(--coral);font-size:34px}
.overview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.overview-tile{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:13px 15px;text-align:start;display:flex;align-items:center;gap:12px;min-width:0}.overview-tile .icon{color:var(--olive);width:22px;height:22px}.overview-tile:nth-child(2) .icon{color:var(--coral)}.overview-tile strong{display:block;font-size:20px;line-height:1.5;font-weight:650}.overview-tile small{display:block;color:var(--muted);font-size:10px;white-space:normal}.overview-tile:hover{border-color:var(--olive)}
.section-kicker{font-size:10px;color:var(--olive);margin-bottom:3px}.quick-tools{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 17px}.quick-tools button{font-size:11px;min-height:39px}.quick-tools .icon{width:16px;height:16px}.calendar-tail{display:grid;gap:16px;margin-top:18px}.agenda-card{padding:22px}.agenda-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:18px 0}.agenda-toolbar .segmented{margin:0;flex:1;min-width:190px}.agenda-toolbar select{width:130px;font-size:12px}.agenda-day{border-top:1px solid var(--line);padding:17px 0}.agenda-date{display:flex;align-items:center;gap:10px;margin-bottom:12px}.agenda-date strong{font-size:12px}.agenda-date .tag{margin-inline-start:auto}.agenda-item{display:flex;gap:11px;align-items:center;min-height:52px;margin:6px 0;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);text-align:start;width:100%;color:var(--ink)}.agenda-item:hover{border-color:var(--olive)}.agenda-item>svg{width:17px;height:17px;color:var(--coral);flex:none}.agenda-item>span{flex:1;min-width:0;overflow-wrap:anywhere;font-size:12px}.agenda-item small{font-size:10px;color:var(--muted);display:block}.agenda-item time{font-size:12px;font-variant-numeric:tabular-nums;color:var(--olive);white-space:nowrap}.agenda-shift{border-inline-start:3px solid var(--olive)}.agenda-empty{padding:26px 8px;text-align:center}.agenda-empty>.icon{color:var(--olive);width:32px;height:32px}.agenda-empty h3{font-size:14px;margin:9px 0 4px}.agenda-empty p{font-size:12px;color:var(--muted);margin-bottom:15px}.agenda-caption{color:var(--muted);font-size:11px;margin-top:14px}.progress-track{height:5px;background:var(--line);border-radius:5px;overflow:hidden;margin:16px 0 8px}.progress-track span{display:block;height:100%;background:var(--olive);border-radius:5px}.focus-count{font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.focus-count strong{color:var(--olive)}
.search-results{display:grid;gap:8px;margin-top:16px;max-height:50dvh;overflow:auto}.search-result{display:flex;text-align:start;align-items:center;gap:10px;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:12px;color:var(--ink)}.search-result .icon{width:18px;height:18px;color:var(--olive);flex:none}.search-result span{font-size:12px;overflow-wrap:anywhere}.search-result small{display:block;font-size:10px;color:var(--muted)}.search-result:hover{border-color:var(--olive)}
input,select,textarea,[data-theme=midnight] input,[data-theme=midnight] select,[data-theme=midnight] textarea{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:11px;min-height:44px;font-size:14px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input[type=checkbox]{min-height:20px;width:20px;accent-color:var(--olive);flex:none}.field label{font-size:12px}.note-paper,.note-paper:focus{background:repeating-linear-gradient(transparent,transparent 35px,var(--line) 36px);border:0;border-radius:0;padding:0 5px}.segmented{background:var(--panel);border:1px solid var(--line);padding:4px;gap:3px}.segmented button{min-height:36px;color:var(--muted);font-size:12px}.segmented button.active{background:var(--olive-light);color:var(--olive);box-shadow:none}.theme-grid{gap:10px}.theme-option{border:2px solid var(--line);background:var(--panel);padding:6px;border-radius:14px;color:var(--ink)}.theme-option.active{border-color:var(--olive)}.theme-preview{height:72px;background:#f5f4ee}.theme-preview.midnight{background:#0b1420}.theme-preview.forest{background:#0d201e}.theme-preview:after{inset:19px 19px auto auto;width:calc(100% - 38px);height:31px;border-radius:8px;background:#e4f1e8;border:1px solid #176a55;transform:none}.theme-preview.midnight:after{background:#183d37;border-color:#6ce3ba}.theme-preview.forest:after{background:#24493b;border-color:#a3dfbd}.theme-option span{display:block;padding:4px}.setting-text{font-size:13px}.setting-text small{font-size:11px}.version-line{font-size:11px}.hint,.notice,.section-intro{font-size:12px;line-height:2}.notice{background:var(--panel);border-color:var(--line)}.page-footer{font-size:11px;color:var(--muted);margin:25px 0 0}.page-footer strong{color:var(--olive);font-weight:550}.drawer{background:var(--paper-solid);border-inline-end:1px solid var(--line)}dialog{background:var(--paper-solid);border:1px solid var(--line);box-shadow:0 25px 90px #0006}dialog::backdrop{background:#050d18a8;backdrop-filter:blur(5px)}.dialog-head h2{font-size:17px}.dialog-head .icon-btn{width:40px;height:40px}.toast{background:var(--olive);color:var(--button-ink);font-size:13px}.update-notice{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--olive);background:var(--olive-light);border-radius:13px;font-size:12px;margin-bottom:16px}.update-notice button{flex:none;color:var(--olive);font-weight:650;min-height:36px}.empty strong{font-size:15px}.empty{font-size:12px}
.daily-hero{background:var(--paper);border:1px solid var(--line);border-radius:22px;margin-bottom:17px}.daily-lead{color:var(--muted);font-size:12px}.daily-day,[data-theme=midnight] .daily-day{border-radius:28px;background:var(--olive-light);color:var(--olive);box-shadow:none;border:1px solid var(--olive);font-weight:650}.daily-side small{color:var(--muted)}.dual-date,[data-theme=midnight] .dual-date{background:var(--panel);border:1px solid var(--line);color:var(--ink)}.alt-date:first-child{border-color:var(--line)}.alt-date strong{color:var(--olive)}.quote-wide,[data-theme=midnight] .quote-wide{background:var(--olive-light);color:var(--ink);border:1px solid var(--line)}.quote-wide .icon{color:var(--coral)}.metric{background:var(--paper);border:1px solid var(--line)}.metric strong,.metric .clock{color:var(--olive)}.prayer-card{background:var(--paper);border:1px solid var(--line)}.prayer-item strong{color:var(--olive)}.prayer-card .prayer-bottom{color:var(--muted)}.converted-label,[data-theme=midnight] .converted-label{background:var(--olive-light);color:var(--olive)}.converted-value{color:var(--ink)}.mini-day.today{background:var(--olive-light);color:var(--olive);border-radius:6px}.mini-day.holiday{color:var(--holiday)}.mini-day:hover{background:var(--glass)}.mini-month-title{color:var(--olive);min-height:36px}.item-title{font-size:13px}.item-subtitle{font-size:11px}.note-date{background:var(--olive-light);color:var(--olive)}.list-item .icon-btn{width:36px;height:36px;min-width:36px}.round-label{background:var(--olive-light);color:var(--olive)}.upcoming-shift{background:var(--panel)}.cycle-day{background:var(--panel)}.page-stage.turning:after{display:none}.page-stage.turning{animation:dochar-enter .18s ease-out}@keyframes dochar-enter{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.rail{top:26px;min-height:calc(100dvh - 52px)}.insights{top:26px}}
@media(max-width:1180px){.app-layout,html[dir=ltr] .app-layout{grid-template-columns:192px minmax(0,1fr);max-width:1020px;gap:22px;padding:22px}.insights{display:none}.rail{top:22px;min-height:calc(100dvh - 44px)}.brand-name{font-size:16px!important}.brand-mark{width:43px}.brand-mark img{width:49px;height:49px}.topbar{padding:0}}
@media(max-width:760px){.app-layout,html[dir=ltr] .app-layout{display:block;max-width:620px;padding:0}.rail,.insights{display:none}.workspace{padding:0 16px calc(98px + env(safe-area-inset-bottom))}.topbar,[data-theme=midnight] .topbar,[data-theme=forest] .topbar{height:calc(80px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;margin:0 -16px 18px;background:var(--bg);border-radius:0;border-bottom:1px solid var(--line);box-shadow:none;backdrop-filter:none}.topbar h1{font-size:19px}.mobile-title{font-size:10px;color:var(--muted);opacity:1}.topbar .row{gap:8px}.top-actions{gap:5px}.top-actions .icon-btn{width:38px;height:40px;min-width:38px;background:var(--panel);border-color:var(--line);border-radius:11px}.top-actions .icon-btn .icon{width:19px;height:19px}.top-actions .today-btn{height:40px;min-width:45px;padding:5px 10px;background:var(--panel);border-color:var(--line);border-radius:11px}.mobile-menu-btn{width:38px;min-width:38px;height:40px}.top-actions .desktop-add{display:none}.top-actions .search-top{display:none}.overview-strip{gap:7px;margin-bottom:15px}.overview-tile{padding:11px 9px;gap:7px;border-radius:13px}.overview-tile>.icon{width:17px;height:17px}.overview-tile strong{font-size:18px}.overview-tile small{font-size:9px}.quick-tools{gap:7px;margin-bottom:15px}.quick-tools button{min-height:38px;font-size:10px;padding:6px 10px}.month-header{padding:16px 15px 12px}.month-title h2{font-size:25px}.month-title .year{font-size:17px}.month-switch{gap:6px}.month-switch .icon-btn{min-width:38px;width:38px;height:40px}.alt-months{padding:10px 16px;font-size:10px}.weekday-row{font-size:9px;padding:10px 7px}.month-grid{gap:4px;padding:0 8px 9px}.day-cell{min-height:65px;border-radius:10px;padding:4px 2px}.day-number{font-size:22px}.day-secondary{font-size:8px}.calendar-foot{margin:0 13px;padding:9px 0;gap:5px}.legend{font-size:9px;gap:9px}.calendar-foot .ghost{font-size:10px}.selection-card,.agenda-card{padding:17px}.selection-heading h3{font-size:14px}.selection-heading small{font-size:10px}.selected-day-big{font-size:34px}.detail-row{gap:8px}.detail-row p{font-size:12px}.detail-label{font-size:10px;min-width:60px}.detail-row .right-action{font-size:11px;min-width:42px}.bottom-nav,[data-theme=midnight] .bottom-nav{background:var(--paper-solid);border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;box-shadow:0 -8px 24px #0001;padding:8px 6px calc(8px + env(safe-area-inset-bottom));width:min(100%,620px);backdrop-filter:none}.bottom-item{min-width:0;min-height:56px;font-size:10px;gap:5px}.bottom-item .icon{width:22px;height:22px}.bottom-item.active{color:var(--olive);background:var(--olive-light)}.card-pad{padding:18px}.card{border-radius:18px}.section-head h2{font-size:16px}.section-head .primary{padding:9px 12px;font-size:12px}.agenda-toolbar select{width:120px}.agenda-item{padding:10px;gap:8px}.agenda-item>span{font-size:12px}.hint,.notice{font-size:11px}.theme-preview{height:64px}.theme-preview:after{inset:16px 12px auto auto;width:calc(100% - 24px)}.daily-hero{padding:22px 12px}.daily-day{width:110px;height:110px;font-size:68px;border-radius:24px}.daily-side{font-size:21px}.daily-side small{font-size:14px}.topbar .theme-top .icon{color:var(--coral)}.page-footer{font-size:10px}.setting-row{gap:10px}.setting-text{font-size:12px}.setting-row select{width:116px}.dialog-body{padding:18px}.dialog-head{padding:16px 18px 12px}.dialog-head h2{font-size:16px}.dialog-actions button{min-height:44px}.toast{bottom:calc(90px + env(safe-area-inset-bottom));font-size:12px}.drawer .brand-name{font-size:19px!important}.drawer .nav-item{min-height:46px}.drawer .rail-add{margin-top:15px}.update-notice{font-size:11px;padding:9px 12px}.form-grid input,.form-grid select{font-size:16px!important}input,textarea{font-size:16px}}
@media(max-width:370px){.workspace{padding-inline:10px}.topbar{padding-inline:10px;margin-inline:-10px}.topbar h1{font-size:17px}.top-actions{gap:4px}.top-actions .icon-btn{min-width:34px;width:34px}.overview-tile{padding:10px 7px;gap:5px}.overview-tile>.icon{display:none}.overview-tile small{font-size:9px}.day-cell{min-height:58px}.day-number{font-size:20px}.day-secondary{font-size:7px}.weekday-row{font-size:8px}.month-grid{gap:3px;padding-inline:6px}.detail-row{flex-wrap:wrap}.detail-row .grow{min-width:110px}.legend{font-size:8px;gap:7px}.daily-day{width:98px;height:98px;font-size:60px}.daily-side{font-size:18px}.agenda-toolbar{gap:8px}.agenda-toolbar select{width:100%}.agenda-toolbar .segmented{width:100%}.theme-option{font-size:10px}.quick-tools{gap:5px}.quick-tools button{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{html{color-scheme:light!important}body{background:white!important;color:#111!important}.card,.month-header,.alt-months,.day-cell,.agenda-item{background:white!important;color:#111!important;border-color:#ccc!important}.day-secondary,.year,.hint,.muted{color:#555!important}.day-cell.holiday,.mini-day.holiday{color:#a33!important}.day-cell.selected,.day-cell.today{border:2px solid #333!important;color:#111!important}.app-layout,html[dir=ltr] .app-layout{display:block;padding:0}.rail,.insights,.top-actions,.quick-tools,.overview-strip,.bottom-nav,.update-notice{display:none!important}.topbar{background:white!important;color:#111!important}.workspace{padding:0}.selection-card{break-inside:avoid}}
.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.tools-grid .nav-item{background:var(--panel);border-color:var(--line)}.tools-grid .nav-item:hover{border-color:var(--olive)}
.form-error{color:var(--holiday)}
