:root{font-family:Rubik,Arial Hebrew,Arial,sans-serif;color:#17324d;background:#f6f4ed;font-synthesis:none;--navy: #17324d;--ink: #24384b;--muted: #718092;--cream: #f6f4ed;--paper: #fffdfa;--coral: #f26b5e;--sun: #f8c24e;--shadow: 0 14px 38px rgba(23, 50, 77, .1)}*{box-sizing:border-box}html{background:var(--cream);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 20% 15%,rgba(248,194,78,.09),transparent 30%),var(--cream)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(47,157,146,.35);outline-offset:2px}.app-shell{min-height:100vh;padding-bottom:8rem}.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(145deg,#183650,#17324d 54%,#244b62);border-radius:0 0 30px 30px;box-shadow:0 12px 30px #17324d2e}.hero:before{content:"";position:absolute;inset:auto -80px -130px auto;width:310px;height:310px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 38px #ffffff08,0 0 0 82px #ffffff06}.hero__glow{position:absolute;top:-90px;left:-60px;width:280px;height:280px;background:radial-gradient(circle,rgba(248,194,78,.18),transparent 68%)}.hero__inner{position:relative;max-width:1180px;margin:0 auto;padding:max(1.1rem,env(safe-area-inset-top)) 1.15rem 1.25rem}.hero__eyebrow{display:flex;align-items:center;gap:.55rem;color:#bbd2dc;font-size:.75rem;letter-spacing:.06em;direction:ltr;justify-content:flex-end}.hero__eyebrow i{width:18px;height:1px;background:#f8c24e}.hero__title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.4rem}.hero__kicker{margin:0 0 .2rem;font-size:.74rem;font-weight:700;letter-spacing:.08em;color:#f8c24e}.hero h1{margin:0;font-size:clamp(1.65rem,7vw,3rem);line-height:1.18;letter-spacing:-.04em}.hero h1 span{display:none}.hero__subtitle{max-width:560px;margin:.55rem 0 0;color:#c9d9df;line-height:1.55;font-size:.88rem}.summer-mark{display:none;flex:0 0 auto;width:88px;height:88px;border:1px solid rgba(248,194,78,.32);border-radius:50%;place-items:center;box-shadow:inset 0 0 0 11px #f8c24e0f}.summer-mark span{font-size:2.2rem;color:var(--sun)}.hero__actions{display:flex;gap:.55rem;margin-top:1.2rem;align-items:center}.view-switch{display:flex;flex:1;padding:3px;border:1px solid rgba(255,255,255,.13);background:#ffffff12;border-radius:12px}.view-switch button{flex:1;min-height:42px;border:0;border-radius:9px;color:#c9d8de;background:transparent;display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.81rem;font-weight:700}.view-switch button.is-active{color:var(--navy);background:#fff;box-shadow:0 5px 16px #00000021}.icon-action{min-height:48px;min-width:50px;border:1px solid rgba(255,255,255,.13);border-radius:12px;color:#fff;background:#ffffff12;display:grid;place-items:center;padding:.35rem .65rem}.icon-action span{font-size:.64rem;margin-top:1px}.print-action{display:none}main{max-width:1180px;margin:0 auto;padding:1rem}.filter-panel{position:relative;margin:0 0 1.5rem}.search-field{height:50px;display:flex;align-items:center;background:var(--paper);border:1px solid #e8e4db;border-radius:15px;box-shadow:0 6px 20px #17324d0f;padding:0 .9rem}.search-field svg{width:21px;height:21px;stroke:#82909c;fill:none;stroke-width:1.8;margin-left:.65rem}.search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}.search-field input::placeholder{color:#98a1aa}.search-field button{border:0;background:transparent;color:#7d8993;font-size:1.4rem}.filter-row{display:flex;gap:.45rem;overflow-x:auto;padding:.8rem .1rem .3rem;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter-chip{flex:0 0 auto;min-height:36px;padding:.35rem .72rem;border:1px solid var(--tone-border, #dedbd4);color:var(--tone-text, #657482);background:var(--tone-bg, #fff);border-radius:999px;display:flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:700;transition:.16s ease}.filter-chip.is-active{color:#fff;background:var(--navy);border-color:var(--navy);box-shadow:0 5px 14px #17324d2e}.result-count{display:none;position:absolute;left:.2rem;bottom:.25rem;color:var(--muted);font-size:.72rem}.tone-pink{--tone-bg: #fff0f3;--tone-border: #f6cdd7;--tone-text: #a33d5d;--tone-accent: #dd6687}.tone-blue{--tone-bg: #edf5ff;--tone-border: #cbdff3;--tone-text: #376f9f;--tone-accent: #5c94c0}.tone-green{--tone-bg: #eef8f2;--tone-border: #c9e6d4;--tone-text: #35755a;--tone-accent: #55a27c}.tone-purple{--tone-bg: #f5effc;--tone-border: #decff0;--tone-text: #72519a;--tone-accent: #8c68b4}.tone-orange{--tone-bg: #fff3e9;--tone-border: #f1d5bd;--tone-text: #a35f31;--tone-accent: #db8a50}.tone-cyan{--tone-bg: #eaf8f8;--tone-border: #c3e5e4;--tone-text: #357d7c;--tone-accent: #55a5a4}.section-heading{margin:.5rem 0 1rem;display:flex;align-items:flex-end;justify-content:space-between}.section-heading>div{display:flex;align-items:center;gap:.65rem}.section-heading__line{display:block;height:30px;width:4px;border-radius:4px;background:var(--coral)}.section-heading h2{margin:0;font-size:1.35rem;letter-spacing:-.025em}.section-heading p{margin:0 0 .15rem;color:var(--muted);font-size:.72rem}.day-group{margin-bottom:1.3rem}.day-date{display:flex;align-items:center;min-height:42px;gap:.55rem;margin:0 .2rem .55rem}.day-date__number{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--navy);color:#fff;font-size:1.05rem;font-weight:800;box-shadow:0 5px 13px #17324d29}.day-date>div{display:flex;flex-direction:column}.day-date strong{font-size:.86rem}.day-date small{color:var(--muted);font-size:.68rem}.day-add{margin-right:auto;width:33px;height:33px;border-radius:50%;border:1px solid #dcd9d1;background:transparent;color:#71808c;font-size:1.25rem}.day-events{display:grid;gap:.5rem}.event-card{position:relative;width:100%;min-height:68px;padding:.72rem .78rem;border:1px solid var(--tone-border);border-right:4px solid var(--tone-accent);border-radius:14px;background:var(--tone-bg);color:var(--tone-text);text-align:right;display:grid;grid-template-columns:auto 1fr auto auto;gap:.65rem;align-items:center;transition:transform .15s ease,box-shadow .15s ease}.event-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px #17324d14}.event-card__emoji{width:32px;height:32px;display:grid;place-items:center;background:#ffffffa6;border-radius:10px}.event-card__content{display:flex;flex-direction:column;min-width:0}.event-card__content strong{color:var(--ink);font-size:.82rem;line-height:1.4}.event-card__content small{margin-top:.15rem;font-size:.65rem;color:var(--tone-text)}.event-card time{font-size:.71rem;font-weight:800;direction:ltr;white-space:nowrap}.event-card__chevron{font-size:1.35rem;opacity:.5}.empty-state{margin:2rem 0;padding:3rem 1rem;text-align:center;background:var(--paper);border:1px dashed #d8d4ca;border-radius:20px}.empty-state>span{font-size:2.4rem}.empty-state h3{margin:.8rem 0 .3rem}.empty-state p{margin:0 auto 1rem;color:var(--muted);font-size:.84rem}.empty-state button{border:0;border-bottom:1px solid;background:transparent;color:#287e77;font-weight:700}.calendar-scroll{overflow-x:auto;padding-bottom:.75rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));min-width:945px;border:1px solid #dedbd3;border-radius:18px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow)}.calendar-weekday{padding:.8rem .4rem;text-align:center;color:var(--muted);background:#f0eee8;border-left:1px solid #dedbd3;font-size:.74rem;font-weight:800}.calendar-cell{min-height:150px;padding:.5rem;border-left:1px solid #e5e1da;border-top:1px solid #e5e1da}.calendar-cell--empty,.calendar-cell--weekend{background:#f7f5f0}.calendar-cell__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.45rem}.calendar-cell__header time{font-size:.76rem;font-weight:800;color:var(--ink)}.calendar-cell__header button{border:0;background:transparent;color:#7c8994;font-size:1rem}.calendar-cell__events{display:grid;gap:.3rem}.event-card--compact{min-height:48px;padding:.4rem;grid-template-columns:1fr;gap:.15rem;border-right-width:3px;border-radius:8px}.event-card--compact .event-card__emoji{display:none}.event-card--compact .event-card__content strong{font-size:.67rem}.event-card--compact time{font-size:.6rem;grid-row:1;color:var(--tone-text)}.weekend-label{display:block;margin-top:2.6rem;text-align:center;color:#a1a7aa;font-size:.68rem}.restore-button{display:block;margin:2.5rem auto 0;border:0;border-bottom:1px solid #ac7f79;padding:.15rem;background:transparent;color:#a15e57;font-size:.72rem}.fab{position:fixed;z-index:20;bottom:max(1rem,env(safe-area-inset-bottom));right:50%;transform:translate(50%);min-width:170px;height:52px;padding:0 1.2rem;border:0;border-radius:16px;background:var(--coral);color:#fff;box-shadow:0 12px 30px #f26b5e61;font-weight:800}.fab span{display:inline-block;margin-left:.35rem;font-size:1.3rem;vertical-align:-1px}footer{display:flex;justify-content:center;align-items:center;gap:.55rem;margin-top:2.5rem;color:#8b969e;font-size:.65rem}footer i{width:3px;height:3px;border-radius:50%;background:#aeb5ba}.print-title{display:none}.dialog-backdrop{position:fixed;z-index:100;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#0d1f2f9e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fade-in .16s ease-out}.event-dialog,.confirm-dialog{width:100%;max-height:92vh;overflow-y:auto;background:var(--paper);color:var(--ink);box-shadow:0 -10px 50px #0a1d2d3d}.event-dialog{border-radius:24px 24px 0 0;padding:.65rem 1.15rem max(1.2rem,env(safe-area-inset-bottom));animation:slide-up .22s ease-out}.dialog-handle{width:42px;height:4px;margin:0 auto .75rem;border-radius:4px;background:#d8d4cc}.event-dialog__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.1rem}.event-dialog__header span{color:var(--coral);font-size:.68rem;font-weight:800;letter-spacing:.05em}.event-dialog__header h2{margin:.15rem 0 0;font-size:1.45rem}.event-dialog__header button{border:0;background:#f0ede6;width:36px;height:36px;border-radius:50%;color:#78858e;font-size:1.35rem}.event-dialog form{display:grid;gap:1rem}.event-dialog label{display:grid;gap:.38rem;color:#5c6a75;font-size:.72rem;font-weight:800}.event-dialog input,.event-dialog select{min-height:48px;width:100%;border:1px solid #dad6cd;border-radius:12px;padding:.65rem .8rem;background:#fff;color:var(--ink);outline:0}.event-dialog input:focus,.event-dialog select:focus{border-color:#4c9c95;box-shadow:0 0 0 3px #4c9c951f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.duplicate-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:end;padding:.8rem;border-radius:13px;background:#f2f0e9}.duplicate-row button{height:48px;border:1px solid #c8c3b9;border-radius:11px;background:#fff;color:var(--navy);font-weight:800}.duplicate-row button:disabled{opacity:.45;cursor:not-allowed}.dialog-actions{display:flex;justify-content:center;gap:.55rem;margin-top:.5rem}.dialog-actions--spread{justify-content:space-between;align-items:center;padding-top:.8rem;border-top:1px solid #ebe7df}.dialog-actions--spread>div{display:flex;gap:.55rem}.button-primary,.button-danger,.button-quiet,.delete-button{min-height:44px;border-radius:11px;padding:.6rem 1rem;font-weight:800;border:0}.button-primary{color:#fff;background:var(--navy)}.button-danger{color:#fff;background:#c84e4e}.button-quiet{color:#64727d;background:#eeebe5}.delete-button{color:#ae4d4a;background:#fff0ef}.confirm-dialog{max-width:calc(100% - 2rem);margin-bottom:1rem;padding:1.6rem;border-radius:20px;text-align:center;animation:slide-up .2s ease-out}.confirm-dialog__icon{display:grid;place-items:center;margin:0 auto .7rem;width:47px;height:47px;border-radius:50%;background:#fff0ef;color:#bd514b;font-size:1.4rem;font-weight:900}.confirm-dialog h2{margin:0;font-size:1.2rem}.confirm-dialog p{margin:.55rem 0 1rem;color:var(--muted);line-height:1.55;font-size:.82rem}.toast{position:fixed;z-index:120;bottom:5rem;right:50%;transform:translate(50%);padding:.8rem 1rem;border-radius:10px;color:#fff;background:var(--navy);box-shadow:var(--shadow);font-size:.8rem}.toast--error{background:#ad4946}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(22px);opacity:.5}}@media(min-width:700px){.app-shell{padding-bottom:2rem}.hero{border-radius:0 0 42px 42px}.hero__inner{padding:1.6rem 2rem 1.8rem}.hero__title-row{margin-top:.8rem}.hero__kicker{font-size:.8rem}.hero h1 span{display:inline}.hero__subtitle{font-size:.95rem}.summer-mark{display:grid}.hero__actions{max-width:560px}.print-action{display:grid}main{padding:1.5rem 2rem}.filter-panel{display:grid;grid-template-columns:minmax(230px,320px) 1fr;align-items:start;gap:1rem;margin-bottom:2rem}.search-field{grid-column:1}.filter-row{grid-column:2;grid-row:1;padding:.35rem 0}.result-count{display:block}.day-group{display:grid;grid-template-columns:128px 1fr;gap:1rem;margin-bottom:1rem}.day-date{align-items:flex-start;padding-top:.5rem}.day-events{grid-template-columns:repeat(2,minmax(0,1fr))}.event-card{min-height:76px}.fab{position:fixed;right:1.75rem;transform:none;min-width:158px}.dialog-backdrop{align-items:center;padding:1rem}.event-dialog{max-width:560px;border-radius:22px;padding:1.25rem 1.45rem 1.45rem;box-shadow:0 22px 70px #0a1d2d4d}.dialog-handle{display:none}.confirm-dialog{margin:0;max-width:390px}}@media(min-width:1000px){.hero__inner{padding-left:1rem;padding-right:1rem}.day-events{grid-template-columns:repeat(3,minmax(0,1fr))}.section-heading h2{font-size:1.55rem}}@media print{@page{size:landscape;margin:10mm}body{background:#fff}.no-print,.filter-panel,.restore-button,footer{display:none!important}.app-shell{padding:0}.print-title{display:block;text-align:center;margin-bottom:10px}.print-title h1{margin:0;font-size:20px}.print-title p{margin:2px;font-size:10px}main{max-width:none;padding:0}.agenda .section-heading,.calendar-section .section-heading{display:none}.day-group{display:grid;grid-template-columns:85px 1fr;gap:6px;margin-bottom:6px;break-inside:avoid}.day-date__number{width:28px;height:28px;font-size:12px;box-shadow:none}.day-events{grid-template-columns:repeat(3,1fr);gap:4px}.event-card{min-height:42px;padding:4px 6px;box-shadow:none}.event-card__emoji,.event-card__chevron{display:none}.calendar-scroll{overflow:visible}.calendar-grid{min-width:0;box-shadow:none;grid-template-columns:repeat(7,1fr)}.calendar-cell{min-height:95px;padding:3px}}
