/* SMD contrast palette; layout stays in style/photos, user themes remain. */
:root{--ink:#172b4d;--muted:#59616d;--line:#cdd8e7;--smd-blue:#1557b0}
body{background:#edf2f8;color:var(--ink)}
.shell,header,nav,dialog{background:#fff}header,nav{border-color:var(--line)}
.demo{background:#edf3fc;color:#4b5563}header>button:last-child{background:#e8f0fd;color:#164f9f;font-size:13px}
.sub,small,.note,.memo,.date-heading,.service-meta{color:var(--muted)}
.sub,.note{font-size:13px;line-height:1.7}small,.memo,.source-tag,.eyebrow{font-size:12px}.eyebrow{color:#59616d;letter-spacing:1px}
.primary,.pillbar .active,.cal .selected{background:var(--smd-blue);color:#fff;box-shadow:none}.primary{font-size:14px;min-height:44px}.link,.welcome-login{color:#1557b0}
.panel,.calendar-panel,.search-field{background:#fff;border-color:var(--line);box-shadow:none}.search-field input{font-size:14px;color:var(--ink)}.search-field input::placeholder{color:var(--muted)}
.hero.theme-blue,.hero:not([class*="theme-"]){background:linear-gradient(120deg,#102e59,#1856a3);box-shadow:0 6px 16px #173b611a}
.theme-green{background:linear-gradient(120deg,#174e4c,#286b65)}.theme-purple{background:linear-gradient(120deg,#473361,#685080)}.theme-rose{background:linear-gradient(120deg,#743550,#96556e)}
.hero small,.hero.with-photo>small:last-of-type{color:#fff;font-size:13px;line-height:1.6}.hero h2{font-size:20px;line-height:1.45}.home-view .hero{padding:20px;min-height:166px;border-radius:22px}.home-view .hero strong{font-size:42px;color:#fff;letter-spacing:-1px}.home-view .hero.theme-blue strong{color:#a6f0dc}.hero:not(.with-photo)::after{content:"";position:absolute;width:100px;height:112px;right:16px;bottom:20px;border:2px solid #86acd055;border-radius:18px;transform:rotate(10deg);background:linear-gradient(to bottom,#ffffff15 28%,transparent 28%);pointer-events:none}.hero:not(.with-photo)::before{content:"";position:absolute;right:40px;bottom:53px;width:27px;height:16px;border-left:4px solid #96daca88;border-bottom:4px solid #96daca88;transform:rotate(-35deg);pointer-events:none}
.mini,.mini[data-kind]{background:#f0f5fc;border:1px solid #cddbed;box-shadow:none;color:var(--ink)}.home-view .mini h3,.mini.with-photo h3{font-size:16px;line-height:1.45}.mini small,.mini .service-meta{font-size:12px;color:var(--muted)}.home-view .mini b{font-size:22px;color:#1557b0}.add-mini{background:#fff!important;border-style:dashed;box-shadow:none}
.services button{font-size:12px;color:#344054}.services button:nth-child(n) i{width:42px;height:42px;border:0;box-shadow:inset 0 0 0 1px #102e590a}.services button:nth-child(1) i,.services button:nth-child(8) i{background:#fff0e4;color:#a75619}.services button:nth-child(2) i,.services button:nth-child(7) i{background:#e9f1fc;color:#1557b0}.services button:nth-child(3) i,.services button:nth-child(5) i{background:#e9f1fc;color:#1557b0}.services button:nth-child(4) i,.services button:nth-child(6) i{background:#e4f5ef;color:#137464}
nav{box-shadow:0 -3px 10px #173b6108}nav button{font-size:12px;color:#59616d}nav button.active{background:#e8f0fd;color:#154f9f;font-weight:700}
.pillbar button:not(.active),.categories button{background:#eef2f7;color:#354d6b}.categories{margin:10px 0}.categories button,.pillbar button,.status-tabs button{min-height:44px}.pillbar{margin:12px 0}.categories .active{background:#dce9fb;color:#164b96;font-weight:700}
.planner-summary{background:linear-gradient(120deg,#173d64,#102c4b);border:0;padding:17px 18px;box-shadow:0 5px 15px #173d6412}.planner-summary small{color:#dfecfa;font-size:12px}.planner-summary b{font-size:15px;color:#fff}.planner-summary em{color:#9ae8d3;font-size:28px;margin-left:8px}.planner-summary button{font-size:12px;color:#fff;background:#264d74;border:1px solid #7892ae;border-radius:10px;padding:9px 10px}
.quick-add,.extra,.hint,.empty{background:#f0f4f9;color:#4b5563}.quick-add button{background:#fff;border-color:#cdd8e7;color:#173f79;font-size:13px}.quick-add p,.hint{font-size:13px;color:#4b5563}.empty b{font-size:16px;color:var(--ink)}.empty p{font-size:14px;color:#59616d}
.status-tabs{border-bottom-color:var(--line);margin:4px 0 14px}.status-tabs button{font-size:13px;color:#59616d}.status-tabs .active{color:#1557b0;border-bottom-color:#1557b0;font-weight:700}.date-heading{font-size:13px;font-weight:600}
.planner-view .event{background:#fff;border:1px solid var(--line);border-left:3px solid var(--event-color,#1557b0);box-shadow:none;gap:10px}.complete-toggle{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;cursor:pointer}.complete-toggle .check{margin:0;width:22px;height:22px;flex:none}.planner-view .event .body{color:var(--ink);padding:2px 0}.event .body>b{font-size:16px;line-height:1.5}.event .body>small{font-size:13px;color:#59616d}.event .source-tag{color:#59616d;font-size:12px}.event .memo{font-size:12px;color:#59616d}
.planner-view .event .dd,.planner-view .event[data-kind] .dd{font-size:15px;line-height:1.4;color:#124985;background:#e4effc;padding:7px 9px;font-weight:700}.date-tile{background:#edf3fc;color:#193c6b}.date-tile small{color:inherit;font-size:12px}.done b{color:#52637b}
.schedule-detail dt{font-size:13px;color:#59616d}.schedule-detail dd{font-size:15px;color:var(--ink)}.detail-days{color:#1557b0}.detail-actions .primary{background:#1557b0}.detail-actions .danger{color:#a12539;background:#fff0f2}
.widget .source-tag,.widget .memo{color:inherit}.widget.blue .body,.widget.blue .body>small{color:#fff}.widget.blue .date-tile{background:#244f89;color:#fff}.widget.blue .date-tile small,.widget.blue .source-tag{color:#fff}.widget.lilac .source-tag{color:#503c6f}.widget small{opacity:1}
.welcome h1{font-size:26px;color:#102e59;line-height:1.45;letter-spacing:-.9px}.welcome .sub{font-size:14px;color:#4b5563;line-height:1.7;margin-bottom:20px}.welcome-demo{background:linear-gradient(125deg,#173d64,#0e2844);border-radius:24px;padding:20px;color:#fff;box-shadow:0 10px 22px #1434571a;margin-bottom:22px}.welcome-demo-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.welcome-demo-top>b{font-size:17px}.welcome-demo-top>span{font-size:12px;color:#d9ebff;border:1px solid #69849f;padding:3px 9px;border-radius:20px}.welcome .demo-disclaimer{color:#dae6f4;font-size:12px;line-height:1.65;margin:10px 0 17px}.welcome-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px;margin:0}.welcome-features>div,.welcome-features>div:nth-child(2n){display:flex;align-items:center;gap:9px;background:none;border:0;padding:0;min-width:0}.feature-art{display:grid;place-items:center;width:44px;height:55px;flex:0 0 44px;background:#e9f2fc;color:#1e568d;border-radius:14px;box-shadow:inset 0 0 0 1px #fff5;font-style:normal}.welcome-features p{font-size:12px;color:#dce9f6;line-height:1.5;margin:0 0 4px;word-break:keep-all}.welcome-features b{font-size:18px;line-height:1.4;color:#fff;white-space:nowrap}.welcome-features>div:first-child b{font-size:25px;color:#9ae8d3;letter-spacing:-.5px}.welcome-actions{gap:10px}.welcome-actions .primary{display:flex;align-items:center;justify-content:center;gap:15px;min-height:49px;font-size:15px;background:#155bd0;box-shadow:0 4px 12px #155bd020}.welcome-login{border-color:#b7cae2;color:#164a8d;font-size:14px;background:#f2f6fc}.welcome-actions small{font-size:12px;color:#59616d;margin-top:3px}.welcome-actions .link{font-size:13px}
dialog label,.photo-widget-toggle{font-size:13px}.photo-editor .note,.day-options .note{font-size:12px}

.completion-tools{padding:14px;margin:14px 0;background:#edf3fc;border:1px solid #ccd9eb;border-radius:14px;color:#18345a}.completion-tools p{font-size:13px;margin:6px 0 10px;color:#425976}.completion-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.completion-actions span{font-size:14px;font-weight:700}.completion-tools button{min-height:44px;padding:10px 12px;white-space:normal}.completion-tools button:disabled{opacity:.55;cursor:default}.completion-message{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.completion-message:not(:empty){margin-top:10px}.completion-message button{margin:6px 6px 0 0}.complete-toggle{cursor:pointer}

.completion-tools.has-selection,.completion-tools.has-result{position:sticky;top:8px;z-index:2;box-shadow:0 3px 12px #18345a18;padding:10px}.completion-idle{padding:8px 12px}.completion-idle p{margin:0}.completion-idle .completion-message{margin:0}.completion-actions{gap:6px}.completion-actions button{font-size:13px}

.completion-result-text{display:block;word-break:keep-all;overflow-wrap:anywhere}
