:root{--purple:#7054b5;--line:#e8e5ed;--muted:#687287;--r:18px;--theme-contrast:#fff;--theme-soft:color-mix(in srgb,var(--purple) 12%,white);--theme-wash:color-mix(in srgb,var(--purple) 6%,white);--theme-line:color-mix(in srgb,var(--purple) 30%,white);--theme-strong:color-mix(in srgb,var(--purple) 70%,#26334d);--app-background:#faf8f4;--app-background-image:none;--background-opacity:.2;--font-text:"Segoe UI",system-ui,sans-serif;--font-title:"KOMTIT","Segoe UI",system-ui,sans-serif;--surface-rgb:255 255 255;--surface-alpha:1;--text-color:#26334d;--control-bg:#fff;--control-min-height:44px;--radius-control:11px }:root{color:#26334d;background:#faf8f4;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid var(--purple)}button{border:1px solid var(--line);background:#fff;color:inherit;border-radius:var(--radius-control);padding:10px 15px;min-height:var(--control-min-height);transition:background .15s,transform .15s}button:hover{background:var(--theme-wash)}button.primary{background:var(--purple);border-color:var(--purple);color:#fff;font-weight:600;box-shadow:0 4px 10px #7054b51c}button.primary:hover{background:var(--theme-strong)}button.quiet{background:transparent;border-color:transparent}button.danger{color:#a53b4e;background:#fff5f6}button.icon{padding:10px;line-height:1;width:44px;flex-shrink:0}svg.icon-svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button .icon-svg{vertical-align:middle}h1,h2,h3,p{margin-top:0}h1{font-size:2.2rem;letter-spacing:-1px;margin-bottom:8px}h2{font-size:1.2rem;letter-spacing:-.3px}h3{font-size:1rem}p{line-height:1.6}.muted{color:var(--muted);font-size:.9rem}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.shell{display:flex;min-height:100vh}.sidebar{width:238px;flex-shrink:0;padding:30px 20px;background:#fdfcf9;border-right:1px solid var(--line);position:fixed;height:100vh;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-size:1.02rem;font-weight:750;line-height:1.3}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:15px;background:var(--theme-soft);color:var(--purple);font-size:30px;flex-shrink:0}.nav{display:grid;gap:8px}.nav button{display:flex;align-items:center;gap:12px;text-align:left;border:0;background:transparent;padding:13px 15px}.nav button.active{background:var(--theme-soft);color:var(--theme-strong);font-weight:650}.roles{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.roles .eyebrow{margin:0 12px 12px}.role-nav{width:100%;border:0;background:none;display:flex;align-items:center;gap:10px;text-align:left;padding:9px 12px;font-size:.88rem;min-height:39px}.role-nav.selected{font-weight:700;background:#f0edf4}.dot{height:12px;width:12px;display:inline-block;border-radius:50%;background:var(--dot);flex-shrink:0}.sidebar-foot{margin-top:auto;padding:20px 10px 0;line-height:1.6;font-size:.8rem;color:var(--muted)}.sidebar-foot strong{color:var(--purple)}.main{margin-left:238px;width:calc(100% - 238px);padding:35px 34px;max-width:1800px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.topbar .muted{margin:0}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.week-control{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--line);padding:4px;border-radius:13px}.week-label{min-width:195px;font-size:.94rem;font-weight:650;text-align:center;padding:0 10px}.focus{border-radius:var(--r);background:linear-gradient(110deg,#edf3ed,#eef0fa);display:flex;align-items:center;gap:18px;padding:21px 24px;margin-bottom:24px;border:1px solid #e1e8e0}.focus-mark{font-size:32px;color:var(--theme-line)}.focus label{display:block;font-size:.8rem;font-weight:700;color:#637c6a;margin-bottom:6px}.focus input{font-size:1.12rem;font-weight:600;border:0;background:transparent;width:100%;padding:4px 0;color:#26334d;border-bottom:1px solid transparent}.focus input:focus{outline:0;border-bottom-color:var(--purple)}.focus-grow{flex:1}.focus button{background:#ffffff90;font-size:.88rem}.workspace{display:flex;gap:20px;align-items:stretch}.board-area{min-width:0;flex:1}.board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.board.calendar{grid-template-columns:repeat(5,minmax(0,1fr))}.day{min-height:340px;border:1px solid var(--line);background:#ffffffb8;border-radius:16px;padding:12px 10px;transition:background .2s}.day.dragover{background:var(--theme-soft);border-color:var(--purple)}.day h2{font-size:.95rem;margin:3px 3px 17px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.day .date-number{font-size:.85rem;color:var(--muted);font-weight:500}.day.today h2 .date-number{background:var(--purple);color:#fff;border-radius:50%;padding:4px 7px}.day .add,.reminder-create .add{width:100%;border-style:dashed;background:transparent;padding:9px 5px;font-size:.85rem;color:var(--muted);margin-top:9px}.event{display:block;width:100%;text-align:left;border:1px solid transparent;background:var(--tint,#eee7fa);border-radius:12px;padding:13px 12px;margin-bottom:10px;min-height:134px}.event:hover{background:var(--tint);border-color:var(--dot);transform:translateY(-1px)}.event.chosen{border-color:var(--purple);box-shadow:0 0 0 1px var(--purple)}.event-time{display:flex;align-items:center;justify-content:space-between;gap:5px;font-weight:650;font-size:.82rem;margin-bottom:10px}.event h3{line-height:1.35;font-size:.95rem;margin-bottom:8px;overflow-wrap:anywhere}.event .responsible{font-size:.8rem;line-height:1.4;color:#536077;overflow-wrap:anywhere}.event .meta{display:flex;gap:7px;align-items:center;margin-top:16px;color:var(--theme-strong);font-size:.75rem}.event .meta .icon-svg{width:15px;height:15px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;border-radius:6px;padding:3px 6px;background:#ffffff8f;color:#4b6071}.unplaced{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;margin-top:18px}.unplaced-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.unplaced h2{font-size:1rem;margin-bottom:12px}.unplaced .tray{display:flex;flex-wrap:wrap;gap:9px;min-height:55px;padding:10px;border:1px dashed var(--theme-line);border-radius:10px}.unplaced .event{width:250px;min-height:0;margin:0}.sharebar{margin-top:20px;border-radius:16px;padding:19px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.sharebar strong{font-size:.95rem}.sharebar p{font-size:.82rem;margin:5px 0 0}.detail{width:340px;flex-shrink:0;border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:23px;align-self:flex-start;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 8px 25px #26334d06}.detail .head{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail h2{margin-bottom:6px}.detail .intro{font-size:.8rem;margin-bottom:18px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px;font-size:.9rem;font-weight:600}.field input,.field select,.field textarea{font-weight:400;width:100%;border:1px solid #ddd7e9;border-radius:10px;padding:11px 12px;color:#26334d;background:#fff;min-height:var(--control-min-height)}.field textarea{resize:vertical;min-height:84px;line-height:1.55}.field textarea:focus,.field input:focus,.field select:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px var(--theme-line)}.field small{font-weight:400;color:var(--muted);font-size:.79rem;line-height:1.5}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-label{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:550;margin:16px 0}.check-label input{width:19px;height:19px;accent-color:var(--purple);flex-shrink:0}.form-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:22px}.form-actions .primary{flex:1}.detail details{border-top:1px solid var(--line);padding-top:13px;margin:6px 0 18px}.detail summary{cursor:pointer;font-size:.87rem;font-weight:600;margin-bottom:15px;line-height:1.5}.section{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:24px;margin-bottom:20px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.section-header h2{margin:0}.list{display:grid;gap:10px}.list-item{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:13px;padding:15px 17px;background:#fff}.list-item .grow{flex:1;min-width:0}.list-item h3{margin:0 0 6px;overflow-wrap:anywhere}.list-item p{margin:0}.list-item.done h3{text-decoration:line-through;color:var(--muted)}.list-item.overdue{border-left:4px solid #c35f6d}.list-item input[type=checkbox]{width:21px;height:21px;accent-color:var(--purple);flex-shrink:0}.empty{text-align:center;color:var(--muted);padding:28px 12px;line-height:1.6;font-size:.9rem}.notice{border:1px solid #e6d8a5;border-radius:12px;padding:13px 17px;background:#fff9e9;font-size:.87rem;line-height:1.5;margin-bottom:18px}.notice.error{border-color:#e6b3bb;background:#fff1f3;color:#98364a}.status{display:flex;align-items:center;gap:7px;font-size:.8rem;color:var(--muted)}.status-dot{width:7px;height:7px;background:#6f927f;border-radius:50%}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#23304b55;backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px}.modal{width:560px;overflow:auto;background:#fff;border-radius:23px;padding:27px;box-shadow:0 20px 90px #18274433}.modal.wide{width:780px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}.modal-header h2{margin:0}.modal pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.9rem;line-height:1.9;background:#f8f6fc;border:1px solid var(--line);border-radius:12px;padding:20px}.modal .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.teams-table{width:100%;border-collapse:collapse;font-size:.88rem}.teams-table td,.teams-table th{text-align:left;padding:13px 9px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.teams-table th{color:var(--muted);font-size:.8rem}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:200;background:#26334d;color:#fff;padding:13px 23px;border-radius:12px;box-shadow:0 8px 30px #0002;max-width:90vw}.mobile-header{display:none}.filter-pill{display:flex;align-items:center;gap:9px;margin-bottom:18px;font-size:.9rem}.loading{margin:10vh auto;text-align:center}.calendar .event{padding:12px 9px;min-height:115px}.calendar .day{min-height:430px}.saved-label{font-size:.8rem;margin-top:16px;color:var(--muted)}.reminder-chip{border-radius:13px;background:#fff7dd;border:1px solid #efe2b7;padding:15px 18px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.reminder-chip p{margin:0;font-size:.88rem}.reminder-chip strong{display:block;margin-bottom:4px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.rule-note{margin-top:18px;line-height:1.6;font-size:.85rem;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:9px}.role-chip{background:var(--tint);border:1px solid transparent;border-radius:20px;padding:9px 14px;font-size:.87rem}.role-chip.active{border-color:var(--purple)}.detail-mobile-title{display:none}@media(min-width:1500px){.main{padding:40px}.day{min-height:380px}.detail{width:360px}.event h3{font-size:1rem}}@media(max-width:1350px){.sidebar{width:205px;padding:25px 13px}.main{margin-left:205px;width:calc(100% - 205px);padding:28px 24px}.topbar{align-items:flex-start;flex-direction:column}.detail{width:300px;padding:19px}.board{gap:8px}.day{padding:12px 7px}.event{padding:11px 8px}.board.calendar{grid-template-columns:repeat(5,minmax(0,1fr))}.calendar .day:nth-child(n+6){min-height:180px}}@media(max-width:1150px)and (min-width:761px){.workspace.with-detail{display:block}.with-detail .detail{position:static;width:100%;max-height:none;margin-top:22px}.with-detail .detail form{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.with-detail .detail .head,.with-detail .detail .intro,.with-detail .detail .check-label,.with-detail .detail .form-actions,.with-detail .detail .rule-note{grid-column:1/-1}.with-detail .detail textarea{min-height:90px}.with-detail .detail-mobile-title{display:block}}@media(max-width:760px){h1{font-size:1.8rem}.sidebar{position:fixed;transform:translate(-100%);transition:transform .2s;box-shadow:12px 0 30px #26334d20}.sidebar.open{transform:translate(0)}.main{margin-left:0;width:100%;padding:19px 16px 40px}.mobile-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.mobile-header .brand{margin:0;font-size:.9rem}.brand-mark{width:35px;height:35px;font-size:25px}.topbar{gap:14px;margin-bottom:18px}.toolbar{width:100%}.week-control{flex:1;justify-content:space-between}.week-label{min-width:0;font-size:.87rem;padding:0 5px}.focus{padding:15px;gap:10px}.focus input{font-size:1rem}.focus button{padding:9px 10px}.focus-mark{display:none}.workspace{display:block}.board,.board.calendar{grid-template-columns:1fr}.day,.calendar .day{min-height:100px;padding:15px}.day h2{font-size:1rem;margin-bottom:15px}.day .event{min-height:90px}.day .add{margin-top:3px}.event-time{justify-content:flex-start;gap:14px}.event .meta{margin-top:10px}.sharebar{align-items:stretch;flex-direction:column;padding:18px}.sharebar button{width:100%}.unplaced{padding:17px}.unplaced-head{align-items:flex-start;flex-direction:column;gap:0;margin-bottom:10px}.unplaced-head .muted{font-size:.8rem}.unplaced .event{width:100%}.detail{position:fixed;inset:0;z-index:70;border-radius:0;width:100%;max-height:100vh;height:100dvh;overflow:auto;padding:24px 20px;box-shadow:none}.detail .head{margin-bottom:10px}.detail .head h2{font-size:1.4rem}.detail .field textarea{min-height:110px}.section{padding:18px}.section-header{flex-wrap:wrap}.list-item{padding:13px 11px;gap:10px}.modal-backdrop{padding:10px}.modal{padding:20px;max-height:94dvh;border-radius:17px}.teams-table{font-size:.79rem}.teams-table td,.teams-table th{padding:10px 5px}.modal .actions button{flex:1}.filter-pill{flex-wrap:wrap}.sidebar-foot{padding-bottom:18px}.reminder-chip{flex-direction:column;align-items:flex-start}.status{font-size:.75rem}.field-row{gap:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media print{.sidebar,.mobile-header,.toolbar,.detail,.sharebar,.unplaced,.modal-backdrop,#toast{display:none!important}.main{margin:0;width:100%;padding:0}.board{grid-template-columns:repeat(5,1fr)}.event{break-inside:avoid}}.modal.activity-modal{width:640px}.activity-modal .intro{margin-bottom:20px}.activity-modal details{border-top:1px solid var(--line);padding-top:13px;margin:6px 0 18px}.activity-modal summary{cursor:pointer;font-size:.87rem;font-weight:600;margin-bottom:15px;line-height:1.5}.modal.activity-modal{margin:0;justify-self:center;align-self:center;min-height:0;max-height:calc(100dvh - 40px);overflow:auto}@media(max-width:760px){.modal.activity-modal{max-height:calc(100dvh - 20px)}}@media screen and (min-width:2038px){.shell{max-width:2038px;margin-inline:auto}.sidebar{left:calc((100vw - 2038px)/2)}.main{max-width:none}}.modal.activity-modal{display:flex;flex-direction:column;overflow:hidden}.activity-modal .modal-header{flex-shrink:0}.activity-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 10px 4px 4px;scrollbar-width:thin;scrollbar-color:#b6afc4 transparent}.activity-scroll::-webkit-scrollbar{width:6px}.activity-scroll::-webkit-scrollbar-track{background:transparent}.activity-scroll::-webkit-scrollbar-thumb{background:#b6afc4;border-radius:999px}.roles[hidden]{display:none}.directory-form{display:flex;align-items:flex-end;gap:12px;margin-bottom:20px}.directory-form .field{flex:1;margin:0}.directory-form button{margin-bottom:0}@media(max-width:760px){.directory-form{flex-direction:column;align-items:stretch}}.activity-row{width:100%;text-align:left}.activity-symbol{display:grid;place-items:center;background:var(--theme-soft);color:var(--purple);border-radius:12px;width:44px;height:44px;flex-shrink:0}.activity-summary{margin-top:8px!important;font-size:.9rem;line-height:1.5;white-space:pre-line}.activity-date{font-size:.85rem;color:var(--muted);text-align:right;flex-shrink:0;line-height:1.6}.activity-section{margin-top:20px}@media(max-width:760px){.activity-row{flex-wrap:wrap}.activity-row .grow{flex-basis:calc(100% - 60px)}.activity-date{margin-left:54px;text-align:left}.activity-row>.icon-svg{margin-left:auto}}.event-category{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:650;line-height:1.4;margin-bottom:10px}.event-category .icon-svg{width:15px;height:15px}.event.event-activity{background:#e5f2ec;border:1px solid #c8e2d5;border-left:4px solid #6eaa8b}.event.event-activity:hover{background:#dceee4;border-color:#6eaa8b}.event-activity .event-category,.event-activity .meta{color:#37654d}.event.event-personal{background:#eee6fa;border:1px solid #d6c5ee;border-left:4px solid #a486d0}.event.event-personal:hover{background:#e5d8f5;border-color:#a486d0}.event-personal .event-category{color:#61447f}.event.chosen{outline:2px solid var(--purple);outline-offset:1px}.planner-basics{display:grid;grid-template-columns:2fr 1fr;gap:18px}.planner-writing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.planner-writing textarea{min-height:180px}.planner-schedule{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.planner-workspace .form-actions{justify-content:flex-end}.planner-workspace .form-actions .primary{flex:0 1 auto;min-width:180px}@media(max-width:1000px){.planner-writing{grid-template-columns:1fr}.planner-writing textarea{min-height:110px}}@media(max-width:760px){.planner-basics,.planner-schedule{grid-template-columns:1fr;gap:0}}.calendar-tasks{border-top:1px dashed var(--line);margin-top:16px;padding-top:12px}.calendar-tasks .eyebrow{font-size:.65rem;letter-spacing:.04em}.calendar-task{display:flex;align-items:flex-start;gap:7px;margin:8px 0;border-left:3px solid var(--dot);padding-left:7px}.calendar-task input{margin-top:10px;width:18px;height:18px;accent-color:var(--purple);flex-shrink:0}.calendar-task button{min-width:0;flex:1;text-align:left;padding:7px;border:0;background:transparent;font-size:.83rem;overflow-wrap:anywhere}.calendar-task span{display:block;color:var(--muted);font-size:.75rem;margin-top:5px}.calendar-task.done strong{text-decoration:line-through;color:var(--muted)}.reminder-fields{padding:14px;border:1px solid var(--line);border-radius:12px;margin-bottom:18px}.reminder-fields .muted{margin:10px 0 0;font-size:.8rem}.repeat-fields{padding:14px;border:1px solid var(--line);border-radius:12px;margin-bottom:18px}.repeat-fields .check-label{margin:0}.repeat-options{padding-top:16px}.repeat-options[hidden]{display:none}.repeat-options .muted{margin-bottom:0;font-size:.8rem}.staff-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:20px 0}.staff-card{text-align:left;display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:16px}.staff-card.selected{border-color:var(--purple);background:var(--theme-wash)}.staff-card small{color:var(--muted)}.profile-card{align-items:center;text-align:center;padding:24px}.employee-avatar{width:76px;height:76px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--theme-soft);color:var(--purple);font-size:1.5rem;font-weight:700;flex-shrink:0}.employee-avatar.large{width:100px;height:100px;font-size:2rem}.profile-heading{display:flex;align-items:center;gap:22px;margin-bottom:28px}.profile-heading h2{font-size:1.7rem;margin-bottom:0}.profile-heading .eyebrow{margin-bottom:7px}.employee-profile{margin-top:18px;max-width:900px}.employee-profile .form-actions{justify-content:flex-end}.employee-profile .form-actions .primary{flex:0 1 auto}@media(max-width:760px){.profile-heading{gap:15px}.employee-avatar.large{width:80px;height:80px}.profile-heading h2{font-size:1.4rem}}.profile-photo-button{position:relative;border:0;border-radius:50%;padding:0;background:transparent;line-height:1;flex-shrink:0}.profile-photo-button .employee-avatar{transition:filter .15s}.profile-photo-button:hover .employee-avatar{filter:brightness(.92)}.photo-edit-badge{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--purple);color:#fff;border:3px solid white}.photo-edit-badge .icon-svg{width:15px;height:15px}.event.event-birthday{background:#fff1dc;border:1px solid #eed1a3;border-left:4px solid #d49b42;min-height:110px}.event.event-birthday:hover{background:#ffe9c7;border-color:#d49b42}.event-birthday .event-category,.event-birthday .meta{color:#805824}.weekend-birthdays{margin-top:18px}.weekend-birthdays .tray{display:flex;flex-wrap:wrap;gap:12px}.weekend-birthdays .event{max-width:280px}.profile-photo-menu{position:relative;flex-shrink:0}.profile-photo-menu>summary{display:block;cursor:pointer;list-style:none;outline-offset:4px}.profile-photo-menu>summary::-webkit-details-marker{display:none}.profile-photo-menu>summary:focus-visible{outline:3px solid var(--purple)}.photo-menu-options{position:absolute;top:calc(100% + 10px);left:0;z-index:25;min-width:190px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:7px;box-shadow:0 10px 30px #26334d25;display:grid;gap:4px}.photo-menu-options button{text-align:left;border:0}.photo-menu-options button .icon-svg{margin-right:7px}.crop-stage{width:min(100%,320px);aspect-ratio:1;margin:0 auto 24px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 5px var(--theme-soft)}.crop-stage canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.crop-stage canvas:active{cursor:grabbing}.modal input[type=range]{padding:0;accent-color:var(--purple)}.date-picker-trigger{font-weight:650;cursor:pointer}.date-picker-trigger:hover{background:var(--theme-soft)}.modal.date-picker-modal{width:480px}.date-picker-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}.date-picker-month{font-size:.78rem;color:var(--muted);display:flex;flex-direction:column;gap:5px;flex:1;max-width:260px}.date-picker-month input{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 12px;color:#26334d;background:#fff;min-height:var(--control-min-height)}.date-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.date-picker-weekday{text-align:center;font-size:.77rem;color:var(--muted);padding:8px 0}.date-picker-day{padding:6px 0;min-width:0;border:0;border-radius:9px;min-height:var(--control-min-height);font-size:.92rem}.date-picker-day.outside-month{color:#9096a4}.date-picker-day.selected-week{background:var(--theme-soft);color:var(--theme-strong)}.date-picker-day.is-today{outline:2px solid var(--purple);outline-offset:-2px;font-weight:700}.date-picker-day:hover{background:var(--theme-line)}.date-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.date-picker-footer .muted{font-size:.78rem}@media(max-width:400px){.date-picker-grid{gap:2px}.date-picker-footer{align-items:stretch;flex-direction:column}}.plantime-bar{margin:20px 0;padding:20px 24px;border:1px solid #d9e6db;background:#f0f6f0;border-radius:18px}.plantime-bar-header,.plantime-bar-footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.plantime-bar-header h2{margin:0 0 5px}.plantime-bar-header p{margin:0}.plantime-progress{height:14px;border-radius:999px;background:#dae7dd;overflow:hidden;margin:17px 0 12px}.plantime-progress span{display:block;height:100%;border-radius:inherit;background:#6eaa8b;transition:width .25s}.plantime-quick{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:22px}.plantime-bar-footer{font-size:.9rem}#plant-form{max-width:760px}@media(max-width:760px){.plantime-bar{padding:18px}.plantime-bar-header,.plantime-bar-footer{align-items:flex-start;flex-direction:column}}:root{background:var(--app-background)}html{scrollbar-gutter:stable}body{isolation:isolate}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100lvh;z-index:0;background-image:var(--app-background-image);background-size:cover;background-position:center;opacity:var(--background-opacity);pointer-events:none}#app{position:relative;z-index:1}.sidebar{background:#fffffff2;backdrop-filter:blur(8px)}.section,.day,.unplaced{background:#fffffff2}.modal{background:#fff}.primary,.day.today h2 .date-number,.photo-edit-badge{color:var(--theme-contrast)!important}button.primary:hover{background:color-mix(in srgb,var(--purple) 85%,#26334d)}.brand-mark,.nav button.active,.employee-avatar{background:var(--theme-soft);color:var(--theme-strong)}.nav button:hover{background:var(--theme-wash)}.sharebar{background:var(--theme-soft)}.sharebar p{color:var(--theme-strong)}.profile-photo-button:hover{background:transparent}.appearance-colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-colors input[type=color]{width:90px;height:48px;padding:5px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.background-strength{margin-top:20px;max-width:560px}.background-strength input{width:100%;accent-color:var(--purple)}.background-strength output{font-size:.85rem;font-weight:400;color:var(--muted)}.appearance-settings .form-actions{justify-content:flex-end}.appearance-settings .form-actions .primary{flex:0 1 auto}.roles-settings>summary{cursor:pointer;display:flex;align-items:center;gap:15px;list-style:none}.roles-settings>summary::-webkit-details-marker{display:none}.roles-settings>summary:before{content:"\25b8";color:var(--theme-strong)}.roles-settings[open]>summary:before{transform:rotate(90deg)}.roles-settings>p{margin-top:18px}.roles-settings>.section{border:0;padding:0;margin:0;background:transparent}.roles-settings>.section>h2{display:none}.rule-skips{margin-top:22px}.rule-skips>summary{cursor:pointer;margin-bottom:12px}@media print{body:before{display:none}}body{background:var(--app-background)}.main{background:transparent}.main>.topbar{color:var(--background-text,#26334d)}.main>.topbar .muted,.main>.topbar .eyebrow{color:var(--background-muted,#687287)}.topbar button,.topbar .week-control{color:#26334d}.color-picker{position:relative;width:90px}.color-picker>summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:7px;background:#fff}.color-picker>summary::-webkit-details-marker{display:none}.color-preview{display:block;height:30px;border-radius:4px}.color-picker>summary:focus-visible{outline:2px solid var(--purple);outline-offset:3px}.color-picker-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:40;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px #17233726}.color-swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.color-swatches button{padding:0;width:34px;height:34px;border-radius:50%;background:var(--swatch);border:1px solid #17233726;box-shadow:none}.color-swatches button[aria-pressed=true]{outline:2px solid var(--purple);outline-offset:3px}.custom-color{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:.85rem}.custom-color input[type=color]{width:65px;height:38px}.appearance-color-field{margin-bottom:24px}@media(max-width:600px){.appearance-colors{grid-template-columns:1fr}}.color-picker-panel{width:280px;padding:18px;border-radius:18px;box-shadow:0 16px 48px #17233724}.color-swatches{justify-items:center;margin-bottom:20px}.color-swatches button{transition:transform .15s}.color-swatches button:hover{transform:scale(1.12)}.color-plane{height:170px;position:relative;border-radius:10px;touch-action:none;cursor:crosshair;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent),var(--hue)}.color-plane:focus-visible{outline:2px solid var(--purple);outline-offset:3px}.color-cursor{position:absolute;width:15px;height:15px;transform:translate(-50%,-50%);border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #17233799;pointer-events:none}.color-hue-label{display:block;font-size:.8rem;margin-top:18px}.color-hue{appearance:none;width:100%;height:12px;padding:0;border:0;border-radius:20px;margin:10px 0 18px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);cursor:pointer}.color-hue::-webkit-slider-thumb{appearance:none;width:20px;height:20px;background:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 5px #17233780}.color-hue::-moz-range-thumb{width:16px;height:16px;background:#fff;border:2px solid white;border-radius:50%;box-shadow:0 1px 5px #17233780}.color-footer{display:flex;align-items:flex-end;gap:14px;justify-content:space-between}.color-footer label{font-size:.75rem;color:var(--muted)}.color-footer .color-hex{display:block;width:125px;margin-top:5px;font-size:.95rem;text-transform:uppercase}.color-hex[aria-invalid=true]{border-color:#c33}.color-footer button{font-size:.85rem}.appearance-colors{gap:32px;max-width:640px}@media(max-width:600px){.color-picker-panel{width:min(280px,calc(100vw - 70px))}}#user-settings-form{max-width:560px;display:flex;align-items:flex-end;gap:12px}#user-settings-form .field{flex:1;min-width:0;margin:0}#user-settings-form .form-actions{margin:0;flex:0 0 auto}#user-settings-form .primary{flex:0 1 auto}[data-greeting]{text-transform:none;letter-spacing:-.03em;font-size:clamp(2.5rem,4vw,3.4rem);font-weight:700;margin-bottom:14px;overflow-wrap:anywhere}.calendar-mode{display:flex;gap:3px;border:1px solid var(--line);border-radius:12px;padding:4px;background:#fff}.calendar-mode button{border:0;background:transparent;padding:8px 14px}.calendar-mode button[aria-pressed=true]{background:var(--theme-soft);color:var(--theme-strong);font-weight:650}.event.compact-event{min-height:0;padding:12px;margin-bottom:8px}.compact-event h3{display:flex;gap:7px;align-items:flex-start;margin:0 0 6px;font-size:.9rem}.compact-event h3 .icon-svg{width:16px;height:16px;margin-top:2px}.compact-event .event-time{margin:0;font-size:.8rem;font-weight:500}.board.calendar.calendar-day{grid-template-columns:minmax(0,1fr)}.calendar-day>.day{padding:22px}.calendar-day>.day>h2{font-size:1.2rem;margin-bottom:22px;text-transform:capitalize}.detailed-event{min-height:0;padding:22px;cursor:default}.detailed-event:hover{transform:none}.day-event-heading{display:flex;justify-content:space-between;gap:16px}.detailed-event h3{font-size:1.2rem;margin-bottom:10px}.day-event-detail{margin-top:18px}.day-event-detail h4{margin:0 0 6px;font-size:.9rem}.day-event-detail p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.95rem}.day-event-note{display:flex;gap:7px;align-items:center;font-size:.8rem;margin:16px 0 0;color:#536077}.calendar-day .calendar-task button span{white-space:normal}@media(max-width:600px){.calendar-day>.day,.detailed-event{padding:16px}.week-label{min-width:0}.toolbar .week-control{max-width:100%}}.topbar .toolbar{align-items:center}.topbar .toolbar>.calendar-mode,.topbar .toolbar>.week-control{height:52px;padding:4px}.topbar .toolbar>.calendar-mode button,.topbar .toolbar>.week-control button{height:42px;min-height:42px}.topbar .toolbar>.calendar-mode button{padding:8px 15px}.topbar .toolbar>.week-control .icon{width:42px;padding:10px}.topbar .toolbar>.week-control .week-label{padding:8px 12px}.topbar .toolbar>[data-action=today],.topbar .toolbar>[data-action=new-event]{height:52px;min-height:52px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.topbar .toolbar>[data-action=today][hidden],.topbar .toolbar>[data-action=new-event][hidden]{display:none}.pedagogical-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}.pedagogical-fields .field textarea{min-height:110px}.pedagogical-fields .field small{min-height:38px}.planning-extras{margin:8px 0 22px;padding:16px 18px;background:var(--theme-wash);border:1px solid var(--line);border-radius:12px}.planning-extras>summary{cursor:pointer;font-size:.9rem;font-weight:600}.planning-extras[open]>summary{margin-bottom:16px}.planning-extras .field:last-child{margin-bottom:0}.detail .pedagogical-fields{grid-template-columns:1fr}.detail .pedagogical-fields .field small{min-height:0}@media(max-width:760px){.pedagogical-fields{grid-template-columns:1fr}.pedagogical-fields .field small{min-height:0}}.day-edit-button{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;flex-shrink:0}.planner-workspace .planning-extras{max-width:none}h1{line-height:1.25}[data-greeting]{line-height:1.2}@font-face{font-family:KOMTIT;src:url(/fonts/KOMTIT__.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{font-family:var(--font-text)}body,button,input,select,textarea{font-family:var(--font-text);font-style:normal}h1,h2,h3,h4,h5,h6,[data-greeting]{font-family:var(--font-title);font-weight:400;font-style:normal;letter-spacing:.015em}.reminders-intro{color:var(--background-text,#26334d);margin-bottom:24px}.reminder-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.reminder-groups>.section{margin:0}.reminder-groups>.reminder-create{padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}.reminder-count{font-family:var(--font-text);font-size:.8rem;color:var(--muted);margin-left:8px}[data-calendar-feed]>p{max-width:75ch}[data-feed-link]{max-width:560px;margin-top:18px}[data-feed-link] input{width:100%;min-width:0}.summary-week{max-width:280px}.summary-day{border:1px solid var(--line);border-radius:var(--radius-control);padding:12px;margin:16px 0;min-width:0}.summary-day legend{font-weight:600}.summary-day .check-label{margin:10px 0;align-items:flex-start}.summary-day .check-label small{display:block}.summary-day textarea{min-height:64px}.modal .summary-preview{background:var(--control-bg);color:var(--text-color);font-family:var(--font-text);white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;border:1px solid var(--line);border-radius:var(--radius-control)}.reminder-cards{display:grid;gap:10px}.reminder-card{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.reminder-card>input{margin-top:8px;width:21px;height:21px;flex-shrink:0;accent-color:var(--purple)}.reminder-card>button{border:0;padding:3px 0;background:transparent;text-align:left;flex:1;min-width:0}.reminder-card strong{display:block;overflow-wrap:anywhere}.reminder-card span{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:.85rem;color:var(--muted)}.reminder-card span svg{width:15px;height:15px}.reminder-card small{display:block;margin-top:6px;color:var(--muted)}.reminder-card.done strong{text-decoration:line-through;color:var(--muted)}.completed-reminders{margin-top:20px}.completed-reminders>summary{cursor:pointer;font-weight:600}.completed-reminders[open]>summary{margin-bottom:18px}@media(max-width:900px){.reminder-groups{grid-template-columns:1fr}}.app-clock{font-family:var(--font-title);font-size:2rem;font-weight:400;line-height:1.2;color:var(--background-text,#26334d);white-space:nowrap;flex-shrink:0;margin-left:28px}.topbar .toolbar>.app-clock{align-self:center}@media(max-width:760px){.app-clock{margin-left:auto}}@media print{.app-clock{display:none}}.calendar-header{margin-bottom:25px;color:var(--background-text,#26334d)}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.calendar-heading [data-greeting]{margin:0}.calendar-heading .app-clock{margin-left:0}.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:18px}.calendar-controls>.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-controls .calendar-mode,.calendar-controls .week-control{height:52px;padding:4px;color:#26334d}.calendar-controls .calendar-mode button,.calendar-controls .week-control button{height:42px;min-height:42px}.calendar-controls .week-control .icon{width:42px}.calendar-controls [data-action=today],.calendar-controls [data-action=new-event]{height:52px;min-height:52px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.calendar-controls [data-action=today]{color:#26334d}.calendar-controls>[data-action=new-event]{flex-shrink:0}@media(max-width:760px){.calendar-heading{gap:16px;margin-bottom:18px}.calendar-controls{flex-wrap:wrap}.calendar-controls>.toolbar{width:100%}.calendar-controls>[data-action=new-event]{margin-left:auto}.calendar-heading .app-clock{margin-left:0}}@media print{.calendar-controls{display:none}}.calendar-heading [data-greeting]{color:var(--background-text,#26334d)}.appearance-options{max-width:640px;margin-bottom:28px}.surface-strength{max-width:560px}.surface-strength input{padding:0;accent-color:var(--purple)}.surface-strength output{font-weight:400;color:var(--muted)}.sidebar,.section,.day,.unplaced,.modal,.detail,.week-control,.calendar-mode,.color-picker-panel,.photo-menu-options{background:rgb(var(--surface-rgb) / var(--surface-alpha));color:var(--text-color)}:root[data-glass=true] :is(.sidebar,.section,.day,.unplaced,.modal,.detail,.week-control,.calendar-mode,.color-picker-panel,.photo-menu-options){backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);box-shadow:inset 0 1px #ffffff30,0 8px 28px #17233710}:root[data-mode=dark]{--surface-rgb:29 35 48;--text-color:#edf0f6;--control-bg:#242d3d;--line:#465063;--muted:#b8c3d3;--theme-soft:color-mix(in srgb,var(--purple) 24%,#1d2330);--theme-wash:color-mix(in srgb,var(--purple) 12%,#1d2330);--theme-line:color-mix(in srgb,var(--purple) 50%,#465063);--theme-strong:color-mix(in srgb,var(--purple) 45%,white);color:var(--text-color);background:color-mix(in srgb,var(--app-background) 15%,#101621)}:root[data-mode=dark] body{background:color-mix(in srgb,var(--app-background) 15%,#101621)}:root[data-mode=dark] :is(button,.list-item,.reminder-card,.staff-card,.field input,.field select,.field textarea,.date-picker-month input,.color-picker>summary){background:var(--control-bg);color:var(--text-color);border-color:var(--line)}:root[data-mode=dark] :is(.calendar-heading [data-greeting],.main>.topbar,.app-clock,.reminders-intro){color:#edf0f6}:root[data-mode=dark] :is(.main>.topbar .eyebrow,.main>.topbar .muted){color:var(--muted)}:root[data-mode=dark] :is(.calendar-controls .week-control,.calendar-controls .calendar-mode,.calendar-controls [data-action=today],.topbar button,.topbar .week-control){color:var(--text-color)}:root[data-mode=dark] :is(.quiet,.nav button,.calendar-mode button,.reminder-card>button,.calendar-task button,.day .add){background:transparent}:root[data-mode=dark] .nav button.active,:root[data-mode=dark] .calendar-mode button[aria-pressed=true]{background:var(--theme-soft);color:var(--theme-strong)}:root[data-mode=dark] button.primary{background:var(--purple);color:var(--theme-contrast)}:root[data-mode=dark] .event.event-activity{background:#23473d;border-color:#578f73;border-left-color:#91d4ab}:root[data-mode=dark] .event.event-personal{background:#3b304f;border-color:#80689e;border-left-color:#c2a0ec}:root[data-mode=dark] .event.event-activity:hover{background:#2d5949;border-color:#91d4ab}:root[data-mode=dark] .event.event-personal:hover{background:#4c3c63;border-color:#c2a0ec}:root[data-mode=dark] .event-birthday{background:#493923;border-color:#87653b}:root[data-mode=dark] :is(.responsible,.event-category,.event .meta,.day-event-note,.event-birthday .meta,.event-birthday .event-category){color:#cad5e3}:root[data-mode=dark] .event.event-activity .event-category,:root[data-mode=dark] .event.event-activity .meta{color:#c1efd4}:root[data-mode=dark] .event.event-personal .event-category,:root[data-mode=dark] .event.event-personal .meta{color:#e2d1fa}:root[data-mode=dark] .plantime-bar{background:rgb(29 48 39 / var(--surface-alpha));border-color:#435e4e;color:var(--text-color)}:root[data-glass=true] .plantime-bar{backdrop-filter:blur(18px) saturate(135%)}:root[data-mode=dark] .plantime-progress{background:#3a5044}:root[data-mode=dark] .notice,:root[data-mode=dark] .reminder-chip{background:#493f25;color:#f4ecd5;border-color:#796b44}:root[data-mode=dark] button.danger{background:#482b35;color:#ffb3c4}:root[data-mode=dark] .calendar-task span,:root[data-mode=dark] .day .add,:root[data-mode=dark] .reminder-create .add{color:var(--muted)}:root[data-mode=dark] .brand-mark{background:var(--theme-soft);color:var(--theme-strong)}:root[data-mode=dark] .field .color-hue{background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}:root[data-mode=dark] .color-swatches button{background:var(--swatch)}.brand{justify-content:center;margin-bottom:26px}.brand-logo{display:block;width:100%;height:170px;object-fit:contain}.mobile-header .brand-logo{width:110px;height:92px}.brand-logo-dark{display:none}:root[data-mode=dark] .brand-logo-light{display:none}:root[data-mode=dark] .brand-logo-dark{display:block}.calendar-controls [data-action=export-activities]{width:52px;height:52px;min-height:52px;padding:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.planner-workspace .planner-basics{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.planner-workspace .planner-schedule{grid-template-columns:minmax(0,1fr) minmax(0,.5fr) minmax(0,.5fr)}@media(max-width:760px){.planner-workspace .planner-basics,.planner-workspace .planner-schedule{grid-template-columns:1fr;gap:0}}.planner-workspace .planner-schedule{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.planner-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}@media(max-width:760px){.planner-workspace .planner-schedule{grid-template-columns:1fr;gap:0}}.reminder-card{min-height:108px}.reminder-card strong{line-height:1.4;min-height:1.4em}.reminder-card .reminder-role{min-height:1.4em;line-height:1.4}.calendar-clear-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.calendar-clear-options button{display:grid;gap:10px;text-align:left}.calendar-clear-options span,.calendar-clear-options small{font-size:.85rem;color:var(--muted)}@media(max-width:520px){.calendar-clear-options{grid-template-columns:1fr}}.calendar-controls [data-action=clear-calendar]{height:52px;min-height:52px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.calendar-more{display:none}@media(max-width:760px){.calendar-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px 8px}.calendar-controls>.toolbar{display:contents}.calendar-controls>.toolbar>.week-control{grid-column:1/-1;grid-row:1;width:100%;justify-content:space-between}.calendar-controls .week-label{min-width:0;flex:1;white-space:normal}.calendar-controls>.toolbar>.calendar-mode{grid-column:1;grid-row:2;justify-self:start}.calendar-controls>.toolbar>:is([data-action=today],[data-action=export-activities],[data-action=clear-calendar]){display:none}.calendar-controls>[data-action=new-event]{grid-column:2;grid-row:2;margin:0;padding:10px 12px}.calendar-more{display:block;position:relative;grid-column:3;grid-row:2}.calendar-more>summary{height:52px;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--control-bg);color:var(--text-color);cursor:pointer;list-style:none}.calendar-more>summary::-webkit-details-marker{display:none}.calendar-more>summary:focus-visible{outline:3px solid var(--purple);outline-offset:4px}.calendar-more-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:230px;padding:6px;display:grid;gap:4px;border:1px solid var(--line);border-radius:13px;background:rgb(var(--surface-rgb));color:var(--text-color);box-shadow:0 8px 24px #0003}.calendar-controls .calendar-more-menu button{width:100%;height:auto;min-height:var(--control-min-height);justify-content:flex-start;text-align:left;border:0;padding:10px 12px;gap:8px}}@media(max-width:380px){.calendar-controls>[data-action=new-event]{font-size:.85rem;padding:10px 8px}.calendar-more>summary{padding:10px 8px}.calendar-controls .calendar-mode button{padding:8px 10px}}@media print{.calendar-more{display:none}}.plantime-quick-mobile{display:none}@media(max-width:760px){.plantime-quick-mobile{display:flex}.plantime-quick-desktop{display:none}}.plantime-duration-menu{position:relative}.plantime-duration-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 15px;min-height:var(--control-min-height);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--control-bg);color:var(--text-color)}.plantime-duration-menu>summary::-webkit-details-marker{display:none}.plantime-duration-menu>summary:focus-visible{outline:3px solid var(--purple);outline-offset:4px}.plantime-duration-menu .photo-menu-options{top:calc(100% + 8px);left:0;right:auto;z-index:30;min-width:180px}.plantime-duration-menu .photo-menu-options button{display:flex;align-items:center;gap:10px;width:100%;text-align:left}@media(max-width:760px){.plantime-quick-mobile{align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}}@media(hover:hover)and (pointer:fine){.field input:not(:disabled):hover,.field select:not(:disabled):hover,.field textarea:not(:disabled):hover{border-color:var(--purple);box-shadow:0 0 0 2px var(--theme-line)}}.completed-reminders{width:calc((100% - 20px)/2);min-width:0}.reminder-groups>.section{min-width:0}@media(max-width:900px){.completed-reminders{width:100%}}.mobile-menu-close{display:none}@media(max-width:760px){.sidebar{inset:0;width:100%;height:100dvh;padding:19px 16px 28px;z-index:50;border:0;overflow-y:auto;visibility:hidden;background:rgb(var(--surface-rgb));transform:none;transition:none;box-shadow:none}.sidebar.open{visibility:visible;transform:none}.sidebar .brand{justify-content:flex-start;margin:0 70px 24px 0}.sidebar .brand-logo{width:110px;height:92px}.mobile-menu-close{display:flex;align-items:center;justify-content:center;position:absolute;right:16px;top:24px;width:44px;height:44px}.sidebar .nav{gap:10px}.sidebar .nav button{min-height:54px;padding:15px 18px}}@media(max-width:760px){.sidebar{background:rgb(var(--surface-rgb) / .65);backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%)}}.planium-pet{position:fixed;bottom:env(safe-area-inset-bottom,0px);width:72px;height:72px;z-index:15;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;--pet-facing:1;--pet-lift:0px}.planium-pet[hidden]{display:none}.planium-pet canvas{width:72px;height:72px;image-rendering:pixelated;transform:translateY(calc(-1 * var(--pet-lift))) scaleX(var(--pet-facing));transform-origin:50% 100%}.planium-pet:focus-visible{outline:2px solid var(--purple);outline-offset:3px;border-radius:10px}.pet-heart{display:none;position:absolute;top:-12px;left:30px;color:#e99fba;text-shadow:0 1px 2px #172337;font-weight:700}.planium-pet[data-mood=happy] .pet-heart{display:block}.pet-choice{max-width:340px;margin-top:20px}.sprite-credit{font-size:.8rem;margin-top:12px}.sprite-credit a{color:inherit}@media print{.planium-pet{display:none}}.appearance-settings:has(.color-picker[open]){position:relative;z-index:2}.brand-logo-light{filter:drop-shadow(0 0 1px #18364b90) drop-shadow(0 2px 4px #18364b38)}.modal-backdrop{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.modal{min-width:0;min-height:0;max-width:100%;max-height:calc(100dvh - 40px)}.modal .field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.modal .field,.modal form,.modal .field input,.modal .field select,.modal .field textarea{min-width:0}@media(max-width:600px){.modal{width:100%;max-height:calc(100dvh - 20px);padding:18px}.modal .field-row{grid-template-columns:minmax(0,1fr)}.modal .field input,.modal .field select,.modal .field textarea{font-size:16px}.modal .form-actions{flex-wrap:wrap}.modal .form-actions button{min-width:0}}button.brand-home{padding:0;border:0;background:transparent;min-height:0;width:100%;box-shadow:none}button.brand-home:hover{background:transparent;transform:none}.mobile-header button.brand-home{width:auto;flex-shrink:0}:root[data-mode=dark] button.brand-home{background:transparent;border:0}.sidebar-foot .sidebar-logout{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;margin-top:18px;font-size:.95rem}[data-web-account] .form-actions{flex-wrap:wrap;align-items:flex-start}[data-web-account] .form-actions .field{flex-basis:100%;min-width:0;margin-bottom:0}.mobile-settings .form-actions{flex-wrap:wrap}.mobile-settings [data-mobile-code]{overflow-wrap:anywhere}.startup-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:var(--background-text,#26334d)}.startup-screen img{width:170px;height:140px;object-fit:contain}.startup-screen p{margin:20px 0 0}.personal-settings>.account-subsection{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.personal-settings .roles-settings{max-width:560px}.personal-settings .roles-settings summary{display:flex;align-items:center;justify-content:flex-start;gap:12px;cursor:pointer}.personal-settings .roles-settings summary .muted{margin-left:auto}.personal-settings .roles-settings .account-subsection{margin-top:16px}.personal-settings .directory-form{flex-direction:row;align-items:flex-end;gap:12px;margin-bottom:12px}.personal-settings .directory-form .field{min-width:0}.personal-settings .roles-settings .list{gap:6px}.personal-settings .roles-settings .list-item{padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--control-bg);gap:12px}.personal-settings .roles-settings .list-item .danger{min-height:36px;padding:6px 10px}.background-photo-row{display:flex;align-items:flex-end;gap:12px;max-width:560px;margin-bottom:20px}.background-photo-row .field{flex:1;min-width:0;margin:0}.background-photo-row input{min-width:0;width:100%}.background-photo-row>button{flex:0 0 auto}.entry-kind-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.entry-kind-options button{display:flex;flex-direction:column;gap:8px;padding:20px;text-align:left}.entry-kind-options button span{font-size:.9rem;color:var(--muted)}@media(max-width:480px){.entry-kind-options{grid-template-columns:1fr}}.background-photo-row input[type=file],.background-photo-row>button{height:48px;min-height:48px}@media(max-width:760px){.personal-settings .roles-settings .list-item .danger{min-height:44px}}.startup-logo-dark,html[data-mode=dark] .startup-logo-light{display:none}html[data-mode=dark] .startup-logo-dark{display:block}
