:root{--bg:#f5f4f0;--surface:#fff;--surface-2:#faf9f6;--border:#e2dfd7;--text:#1f1d1a;--muted:#6d6860;--accent:#6b3fa0;--accent-text:#fff;--danger:#b3261e;--warn-bg:#fff4d6;--warn-border:#e8c766;--ok:#2e7d32;--type-group:#2f6fd0;--type-individual:#2e8b57;--type-birthday:#d0457a;--type-none:#8a857c;--type-other:#b8742a;--status-new:#d97706;--status-in_progress:#2f6fd0;--status-agreed:#7b5ac8;--status-handled:#2e7d32;--status-cancelled:#8a857c;--radius:10px;--shadow:0 1px 2px #0000000f, 0 2px 8px #0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 16px;font-size:22px}h2{margin:0 0 12px;font-size:17px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 20px;display:flex;position:sticky;top:0}.brand{color:var(--text);font-weight:700}.nav{flex-wrap:wrap;gap:4px;display:flex}.nav a{color:var(--text);border-radius:8px;padding:6px 12px}.nav a:hover{background:var(--surface-2);text-decoration:none}.nav a.active{background:var(--accent);color:var(--accent-text)}.nav .badge{margin-left:6px}.topbar .spacer{flex:1}.user{color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.page{width:100%;margin:0 auto;padding:14px clamp(14px,2vw,32px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.button,button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;display:inline-flex}.button:hover,button:hover{background:var(--surface-2);text-decoration:none}.button.primary,button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.button.primary:hover,button.primary:hover{filter:brightness(1.08)}button.danger{color:var(--danger);border-color:#e8b4b0}button.link{color:var(--accent);background:0 0;border:none;padding:0}button:disabled{opacity:.6;cursor:default}label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;padding:7px 10px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 40%, transparent);border-color:var(--accent)}textarea{resize:vertical;min-height:80px}.checkbox{color:var(--text);flex-direction:row;align-items:center;gap:8px;font-size:14px}.checkbox input{width:auto}.grid{gap:12px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span-all{grid-column:1/-1}@media (max-width:760px){.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.page{padding:12px}}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--danger)}.notice{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:8px;padding:10px 14px}.notice.ok{background:#e8f5e9;border-color:#a5d6a7}.badge{color:#fff;background:var(--type-none);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.t-group{background:var(--type-group)}.badge.t-individual{background:var(--type-individual)}.badge.t-birthday{background:var(--type-birthday)}.badge.t-other{background:var(--type-other)}.badge.s-new{background:var(--status-new)}.badge.s-in_progress{background:var(--status-in_progress)}.badge.s-agreed{background:var(--status-agreed)}.badge.s-handled{background:var(--status-handled)}.badge.s-cancelled{background:var(--status-cancelled)}.badge.count{background:var(--danger)}.badge.payment-paid{background:#26734a}.badge.payment-partial{background:#c07814}.badge.payment-unpaid{background:#b23b35}.badge.payment-unknown{background:#77746d}.table{border-collapse:collapse;background:var(--surface);width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}.table th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--surface-2);font-size:12px}.table tr:hover td{background:var(--surface-2)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.filters{grid-template-columns:minmax(200px,1.6fr) repeat(4,minmax(120px,1fr)) repeat(2,minmax(130px,.9fr)) repeat(2,minmax(90px,.6fr));align-items:end;gap:8px;width:100%;margin-bottom:16px;display:grid}.filters label{min-width:0}.filters>button,.filters>.button{white-space:nowrap;width:100%}@media (max-width:1180px){.filters{grid-template-columns:repeat(4,minmax(0,1fr))}.filters label:first-of-type{grid-column:span 2}}@media (max-width:760px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters label:first-of-type{grid-column:1/-1}}@media (max-width:480px){.filters{grid-template-columns:minmax(0,1fr)}.filters label:first-of-type{grid-column:auto}}.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.segmented a{color:var(--text);border-right:1px solid var(--border);background:var(--surface);padding:6px 12px}.segmented a:last-child{border-right:none}.segmented a.active{background:var(--accent);color:var(--accent-text)}.segmented a:hover{text-decoration:none}.cal-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.cal-head h1{min-width:220px;margin:0}.cal-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:12px;display:grid}@media (min-width:1001px) and (min-height:650px){.cal-layout>div:first-child{max-height:calc(100dvh - 195px);overflow-y:auto}}.month-agenda{gap:8px;display:grid}.month-agenda-summary{color:var(--muted);padding:0 2px;font-size:13px}.month-empty{color:var(--muted);text-align:center;padding:24px}.month-agenda-day{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.month-agenda-day.today{border-color:var(--accent)}.month-agenda-date{background:var(--surface-2);justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;font-size:13px;display:flex}.month-agenda-date a{color:var(--text);font-weight:700}.month-agenda-day.today .month-agenda-date a{color:var(--accent)}.month-agenda-date span{color:var(--muted);white-space:nowrap;font-size:12px}.month-agenda-events{display:grid}.month-agenda-booking{border-top:1px solid var(--border);border-left:4px solid var(--chip);min-width:0;min-height:43px;color:var(--text);grid-template-columns:90px minmax(170px,1.25fr) minmax(135px,1fr) auto auto;align-items:center;gap:10px;padding:5px 10px;font-size:12px;display:grid}.month-agenda-booking:hover,.month-agenda-booking:focus-visible{background:color-mix(in srgb, var(--chip) 7%, white);text-decoration:none}.month-agenda-time{white-space:nowrap;font-weight:700}.month-agenda-client{flex-wrap:wrap;gap:2px 8px;min-width:0;display:flex}.month-agenda-client strong{font-size:13px}.month-agenda-client span{color:var(--muted);overflow-wrap:anywhere}.month-agenda-type{color:var(--muted)}.month-agenda-booking .cal-status,.month-agenda-booking .cal-payment{margin-left:0}@media (max-width:760px){.month-agenda-booking{grid-template-columns:76px minmax(0,1fr) auto;gap:4px 8px}.month-agenda-client{grid-column:2/-1}.month-agenda-type{grid-column:1/-1}.month-agenda-booking .cal-status{grid-column:1/2}.month-agenda-booking .cal-payment{grid-column:2/-1}}.chip{color:var(--text);background:color-mix(in srgb, var(--chip) 14%, white);border-left:3px solid var(--chip);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:2px 6px;font-size:12px;line-height:1.3;display:block;overflow:hidden}.chip:hover{filter:brightness(.97);text-decoration:none}.chip.cancelled{opacity:.5;text-decoration:line-through}.chip.new{font-weight:700}.t-group-c{--chip:var(--type-group)}.t-individual-c{--chip:var(--type-individual)}.t-birthday-c{--chip:var(--type-birthday)}.t-none-c{--chip:var(--type-none)}.t-other-c{--chip:var(--type-other)}.week{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:grid;overflow:hidden}.week .col-head{border-bottom:1px solid var(--border);border-left:1px solid var(--border);background:var(--surface-2);padding:8px;font-size:13px;font-weight:600}.week .col-head.today{color:var(--accent)}.week .col-head a{color:inherit}.week .allday{border-left:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:3px;min-height:30px;padding:4px;display:flex}.week .gutter{color:var(--muted);text-align:right;padding-right:6px;font-size:11px}.week .gutter-cell{position:relative}.week .gutter-cell span{color:var(--muted);font-size:11px;position:absolute;top:-7px;right:6px}.week .col{border-left:1px solid var(--border);position:relative}.week .hour-line{border-top:1px solid #efede8;position:absolute;left:0;right:0}.week .event{color:var(--text);background:color-mix(in srgb, var(--chip) 16%, white);border-left:3px solid var(--chip);border-radius:6px;padding:2px 6px;font-size:12px;position:absolute;left:3px;right:3px;overflow:hidden}.week .event:hover{z-index:2;box-shadow:var(--shadow);text-decoration:none}.week .event.cancelled{opacity:.5}.week .event b{display:block}.side-list{flex-direction:column;gap:6px;display:flex}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.legend span:before{content:"";background:var(--chip);vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.booking-layout{grid-template-columns:minmax(0,1.65fr) minmax(360px,1fr);align-items:start;gap:12px;display:grid}@media (max-width:1000px){.booking-layout{grid-template-columns:1fr}}.status-bar{flex-wrap:wrap;gap:6px;display:flex}.booking-layout>.grid{align-content:start;gap:10px;min-width:0}.card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.booking-layout .card{padding:12px}.booking-layout .feed{max-height:220px}.booking-layout .status-bar{flex-wrap:nowrap;overflow-x:auto}.booking-layout .status-bar button{white-space:nowrap;padding:6px 10px}.status-bar button.current{outline:2px solid var(--accent);font-weight:700}.feed{flex-direction:column;gap:10px;max-height:520px;display:flex;overflow:auto}.feed .item{border-bottom:1px solid var(--border);padding-bottom:8px;font-size:14px}.feed .item:last-child{border-bottom:none}.feed .meta{color:var(--muted);font-size:12px}.feed .vk:before{content:"ВК · ";color:#07f;font-weight:600}.pre{white-space:pre-wrap}.money{gap:16px;font-size:14px;display:flex}.money b{font-size:16px}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login form{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.messengers{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.day-hint{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;gap:4px;padding:8px 12px;font-size:14px;display:grid}.day-hint.warn{background:var(--warn-bg);border-color:var(--warn-border)}.phone-matches{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:14px}.phone-matches.warn{background:var(--warn-bg);border-color:var(--warn-border)}.phone-matches ul{margin:4px 0 0;padding-left:18px}.phone-matches li.same{font-weight:600}.contact-links{flex-wrap:wrap;gap:6px;display:flex}.contact-links a{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:4px 10px;font-size:13px}.contact-links a:hover{background:var(--surface-2);text-decoration:none}.loadbar{background:#e7f4ea;border-radius:3px;height:6px;margin:2px 0 3px;position:relative;overflow:hidden}.loadbar span{background:#57a86b;position:absolute;top:0;bottom:0}.loadbar.mid span{background:#e0a526}.loadbar.high span{background:#d1453b}.loadbar.off{background:repeating-linear-gradient(45deg,#ece9e2,#ece9e2 3px,#f6f4ef 3px 6px)}.month .day-top{justify-content:space-between;align-items:baseline;gap:4px;display:flex}.week .head-free{margin-top:2px;font-weight:400;line-height:1.3}.week .head-free a{color:var(--ok)}.week .off-hours{background:repeating-linear-gradient(45deg,#f1efe9,#f1efe9 4px,#f8f7f3 4px 8px);position:absolute;left:0;right:0}.week .event span{display:block}.week .event.new,.chip b{font-weight:700}.chip{white-space:normal;text-overflow:clip;line-height:1.25;overflow:visible}.week .event{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:11.5px;line-height:1.25}.week .event b{font-size:11px}.crm-dialog{border:1px solid var(--border);background:var(--surface);width:min(460px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);border-radius:16px;padding:0;box-shadow:0 24px 70px #1d16263d}.crm-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#16121e85}.crm-dialog-content{gap:18px;padding:24px;display:grid}.crm-dialog-heading{align-items:flex-start;gap:12px;display:flex}.crm-dialog-heading h2{margin:0 0 4px;font-size:19px}.crm-dialog-heading p{color:var(--muted);margin:0;font-size:14px}.crm-dialog-icon{height:30px;color:var(--danger);background:#fff0ed;border-radius:50%;flex:0 0 30px;place-items:center;font-weight:800;display:grid}.crm-dialog textarea{resize:vertical;min-height:90px}.crm-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.crm-dialog .danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.crm-dialog .danger-solid:hover{background:#922018}@media (max-width:480px){.crm-dialog-content{padding:18px}.crm-dialog-actions button{flex:1}}.calendar-tasks{align-self:start}.calendar-tasks h2{align-items:center;gap:8px;margin-bottom:4px;display:flex}.task-count{min-width:22px;height:22px;color:var(--accent);background:#eee5f7;border-radius:999px;place-items:center;padding:0 6px;font-size:12px;font-weight:700;display:inline-grid}.calendar-tasks .task-intro{margin:0 0 16px}.task-group+.task-group{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.task-group h3{justify-content:space-between;margin:0;font-size:14px;display:flex}.task-group h3 span{color:var(--accent)}.task-group>p{margin:3px 0 10px}.task-list{gap:7px;display:grid}.task-link{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:9px;gap:2px;padding:10px 11px;display:grid}.task-link:hover,.task-link:focus-visible{border-color:var(--accent);background:#f7f1fd;text-decoration:none}.task-title{overflow-wrap:anywhere;font-size:13px;font-weight:650}.task-title .muted{font-weight:400}.task-meta{color:var(--muted);font-size:12px}.task-action{color:var(--accent);font-size:12px;font-weight:600}.task-empty{background:var(--surface-2);color:var(--muted);border-radius:8px;margin:0;padding:12px;font-size:13px}.calendar-task-popover{z-index:5;width:max-content;max-width:100%;margin:0 0 10px;position:relative}.calendar-task-popover summary{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:600;list-style:none;display:flex}.calendar-task-popover summary::-webkit-details-marker{display:none}.calendar-task-popover summary:hover,.calendar-task-popover summary:focus-visible,.calendar-task-popover[open] summary{border-color:var(--accent)}.calendar-task-popover .task-chevron{color:var(--muted);font-size:18px;line-height:1;transition:transform .15s}.calendar-task-popover[open] .task-chevron{transform:rotate(180deg)}.calendar-task-popover .calendar-tasks{width:min(430px,100vw - 32px);max-height:min(560px,100dvh - 170px);position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 14px 36px #20182c29}.week .missing-time{white-space:normal;flex-direction:column;gap:2px;display:flex}.week .missing-time strong{color:var(--accent);font-size:11px}@media (max-width:1180px){.cal-layout{grid-template-columns:1fr}.activity-panel{max-height:none}}.activity-panel{min-width:0;padding:14px}.activity-head{gap:2px;margin-bottom:9px;display:grid}.activity-head h2{margin:0}.activity-list{max-height:calc(100dvh - 225px);display:grid;overflow-y:auto}.activity-item{border-bottom:1px solid var(--border);color:var(--text);gap:3px;min-width:0;padding:9px 2px;display:grid}.activity-item:last-child{border-bottom:0}.activity-item:hover{background:var(--surface-2);text-decoration:none}.activity-name{overflow-wrap:anywhere;font-size:13px;font-weight:650}.activity-name .muted{font-weight:400}.activity-change{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.activity-meta{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.35}@media (max-width:1180px){.activity-list{max-height:220px}}.cal-status{white-space:nowrap;vertical-align:1px;border-radius:4px;align-items:center;width:max-content;max-width:100%;margin-left:4px;padding:1px 5px;font-size:10px;font-style:normal;font-weight:700;line-height:1.25;display:inline-flex}.cal-status-new{color:#8c5100;background:#fff0d5}.cal-status-in_progress{color:#24569d;background:#e5efff}.cal-status-agreed{color:#6847a1;background:#efe9fb}.cal-status-handled{color:#23643b;background:#e1f2e6}.cal-status-cancelled{color:#5c5954;background:#ededeb}.week .event .event-top{flex-wrap:wrap;align-items:center;gap:1px 3px;display:flex}.week .event .cal-status{margin-left:0;display:inline-flex}.week .event .event-title{display:block}.week .missing-time .cal-status{margin-left:0}.calendar-task-popover summary{color:#744100;background:#fff1d9;border-color:#e4ad57;gap:10px;padding:9px 13px;font-size:14px;box-shadow:0 2px 7px #a460121f}.calendar-task-popover summary:hover,.calendar-task-popover summary:focus-visible,.calendar-task-popover[open] summary{background:#ffe9c2;border-color:#bf7821}.calendar-task-popover .task-count{color:#fff;background:#a95b10;min-width:25px;height:25px;font-size:13px}.task-alert-icon{color:#fff;background:#a95b10;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:14px;font-weight:800;display:inline-grid}.cal-layout{display:block}@media (min-width:1001px) and (min-height:650px){.cal-layout>div:first-child{max-height:calc(100dvh - 150px)}.page:has(.attention-panel) .cal-layout>div:first-child{max-height:calc(100dvh - 325px)}.page:has(.reminders-strip) .cal-layout>div:first-child{max-height:none}}.attention-panel{background:#fff8ec;border:1px solid #e6bd78;border-radius:12px;margin-bottom:12px;padding:12px 14px}.attention-heading h2{align-items:center;gap:8px;margin:0;font-size:17px;display:flex}.attention-heading h2 span{color:#fff;background:#aa5d13;border-radius:999px;place-items:center;min-width:25px;height:25px;padding:0 7px;font-size:12px;display:inline-grid}.attention-heading p{color:#775f43;margin:2px 0 10px;font-size:12px}.attention-list{grid-template-columns:repeat(auto-fill,minmax(280px,320px));gap:8px;max-height:160px;padding-right:3px;display:grid;overflow-y:auto}.attention-card{width:100%;min-width:0;max-width:320px;color:var(--text);background:#fff;border:1px solid #e6d5bb;border-radius:9px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:4px 7px;padding:6px 9px;display:grid}.attention-card:hover,.attention-card:focus-visible{border-color:#aa5d13;text-decoration:none;box-shadow:0 2px 9px #854e141f}.attention-card>strong{white-space:nowrap;font-size:13px}.attention-date,.attention-type{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.attention-date{color:var(--muted)}.attention-card .attention-tags{grid-column:1/-1;min-width:0}.attention-tags{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.attention-tag{border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1.25}.attention-tag.new{color:#8c5100;background:#fff0d5}.attention-tag.missing{color:#a03c2f;background:#fce5df}.attention-overflow{color:var(--muted);margin:8px 0 0;font-size:12px}.cal-payment{white-space:nowrap;border-radius:4px;align-items:center;width:max-content;max-width:100%;margin-left:4px;padding:1px 5px;font-size:10px;font-weight:700;line-height:1.25;display:inline-flex}.cal-payment-paid{color:#21633b;background:#dff2e5}.cal-payment-partial{color:#8c5100;background:#fff0d5}.cal-payment-unpaid{color:#a32c27;background:#fbe3e1}.cal-payment-unknown{color:#5c5954;background:#ededeb}.week .event .cal-payment{margin-left:0;display:inline-flex}.week .missing-time .cal-payment{margin-left:0}.activity-drawer{background:var(--surface);width:min(410px,100vw - 16px);height:100dvh;max-height:100dvh;color:var(--text);border:0;border-radius:16px 0 0 16px;margin:0;padding:0;position:fixed;inset:0 0 0 auto;box-shadow:-12px 0 40px #14111a33}.activity-drawer::backdrop{background:#19142059}.activity-drawer-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;font-weight:700;display:flex}.activity-drawer-top button{width:32px;height:32px;padding:0;font-size:24px;line-height:1}.activity-drawer .activity-panel{box-shadow:none;border:0;border-radius:0;padding:14px 16px}.activity-drawer .activity-list{max-height:calc(100dvh - 130px)}@media (max-width:760px){.attention-list{grid-template-columns:1fr;max-height:180px}}.activity-drawer .activity-head h2{display:none}.cal-help{z-index:12;position:relative}.cal-help summary{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;font-weight:700;list-style:none;display:grid}.cal-help summary::-webkit-details-marker{display:none}.cal-help summary:hover,.cal-help summary:focus-visible{border-color:var(--accent);outline-offset:2px}.cal-help-content{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:min(340px,100vw - 32px);padding:16px;font-size:13px;line-height:1.45;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #0002}.cal-help-content strong{font-size:14px}.cal-help-content p{margin:8px 0 0}.delete-booking-trigger{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));color:var(--danger);background:var(--surface);margin-left:auto}.delete-booking-trigger:hover{background:#fff0ed}.cal-chip-main{display:block}.cal-client{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:11px;line-height:1.3;display:block}.cal-client strong{font-weight:700}.cal-client>span:before{content:" · "}.week .event .cal-client>span{display:inline}.week .event .cal-client{margin:2px 0}.day-line{padding:12px 16px}.day-line-head{gap:4px;margin-bottom:8px;display:grid}.day-line-scroll{overflow-x:auto}.day-line-grid{min-width:760px}.day-line-hours{border-bottom:1px solid var(--border);height:22px;position:relative}.day-line-hours span{color:var(--muted);font-size:12px;position:absolute;transform:translate(-50%)}.day-line-hours span:first-child{transform:none}.day-line-body{position:relative}.day-line-tick{border-left:1px solid #efede8;position:absolute;top:0;bottom:0}.day-line .off-hours{background:repeating-linear-gradient(45deg,#f1efe9,#f1efe9 4px,#f8f7f3 4px 8px);position:absolute;top:0;bottom:0}.day-line-event{height:100px;color:var(--text);background:color-mix(in srgb, var(--chip) 16%, white);border-left:4px solid var(--chip);z-index:1;border-radius:8px;align-content:start;gap:1px;padding:4px 8px;font-size:12px;line-height:1.3;display:grid;position:absolute;overflow:hidden}.day-line-event:hover{box-shadow:var(--shadow);z-index:2;text-decoration:none}.day-line-event.cancelled{opacity:.5}.day-line-event.new{font-weight:700}.day-line-event .event-top{white-space:nowrap;align-items:center;gap:6px;display:flex}.day-line-free{height:30px;color:var(--ok);white-space:nowrap;background:#f2faf3;border:1px dashed #9fd0a8;border-radius:8px;align-items:center;padding:0 8px;font-size:12px;display:flex;position:absolute;overflow:hidden}.day-line-free:hover{background:#e3f4e6;text-decoration:none}.day-line-untimed{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}:root{--type-newyear:#0f8b8d;--type-question:#8a6d3b}.t-newyear-c{--chip:var(--type-newyear)}.t-question-c{--chip:var(--type-question)}.badge.t-newyear{background:var(--type-newyear)}.badge.t-question{background:var(--type-question)}.card .grid.four{align-items:start}.calc-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);margin:0;padding:8px 12px 12px}.calc-box legend{color:var(--muted);padding:0 6px;font-size:13px}.draft-banner{background:#eef4ff;border:1px solid #bcd0f5;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.payments-list{gap:4px;margin:0;padding-left:18px;font-size:14px;display:grid}.payments-list li.refund{color:var(--danger)}.status-bar{align-items:center}.status-divider{background:var(--border);align-self:stretch;width:1px;margin:0 6px}.status-bar button.final{color:var(--status-handled);border-color:#a5d6a7}.guest-message{width:fit-content;max-width:min(760px,100%);margin-bottom:12px}.guest-message h2{margin-bottom:6px;font-size:15px}.booking-actions{justify-content:flex-start;margin-bottom:12px}.booking-actions>button{white-space:nowrap}.booking-editor-warning{border:1px solid var(--warn-border);background:var(--warn-bg);border-radius:8px;margin:0 0 8px;padding:8px 10px}.booking-section-title{border-top:1px solid var(--border);margin:8px 0 0;padding-top:10px;font-size:15px}.booking-fields{gap:10px}@media (max-width:1200px) and (min-width:761px){.booking-fields.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.booking-layout{flex-direction:column;display:flex}.booking-layout>.grid{width:100%}.booking-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.booking-actions>button{white-space:normal;width:100%;min-height:42px}.guest-message{width:100%;max-width:none}.booking-fields.grid.four{grid-template-columns:minmax(0,1fr)}.booking-layout input,.booking-layout select,.booking-layout textarea{min-width:0}.booking-layout .status-bar{flex-wrap:wrap;padding:3px;overflow-x:visible}.booking-layout .status-bar button{min-height:40px}.booking-layout input,.booking-layout select,.booking-layout textarea{font-size:16px}.booking-layout .messengers{align-items:flex-start}.booking-layout .messengers>input{flex-basis:100%!important}.contact-links a{overflow-wrap:anywhere}}.recalculate-action{align-self:start;padding-top:21px}@media (max-width:760px){.recalculate-action{padding-top:0}.recalculate-action button{width:100%;min-height:40px}}.payment-list-line{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.payment-edit-form{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;margin:9px 0 10px;padding:12px}.payment-edit-actions{flex-wrap:wrap;align-items:end;gap:8px;display:flex}@media (max-width:760px){.payment-edit-form .grid.three,.payment-edit-form .grid.four{grid-template-columns:1fr}.payment-edit-actions button{flex:1;min-height:40px}}.payment-history-old{color:var(--muted)}.booking-layout .guest-message{width:100%;max-width:none;margin-bottom:0}.booking-layout .booking-actions{margin-bottom:0}.booking-layout .contact-links{margin-bottom:0!important}.booking-actions .delete-booking-trigger{margin-left:0}.booking-notices{margin-bottom:12px}.booking-quick{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.booking-quick.no-message{grid-template-columns:1fr}.booking-quick-side{gap:8px;min-width:0;display:grid}.booking-quick .booking-actions{margin:0}.booking-quick .contact-links{justify-content:flex-start}@media (max-width:900px){.booking-quick{grid-template-columns:1fr}}.payments-list{font-size:inherit;gap:0;padding:0;list-style:none}.payments-list>li{border-bottom:1px solid var(--border);padding:8px 0}.payments-list>li:last-child{border-bottom:0}.payment-list-line{align-items:center}.payment-list-line>span{flex:280px}.payment-list-line .link{font-size:14px}.payment-delete-link{color:var(--danger)!important}.payment-delete-form{background:#fff8f7;border:1px solid #e8b4b0;border-radius:8px;gap:8px;margin:10px 0;padding:12px;display:grid}.payment-delete-form label{max-width:520px}.payment-refund-hint{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.payment-comment-field{grid-column:span 2}@media (max-width:760px){.payment-comment-field{grid-column:auto}}button.payment-add-button{color:#185a37;background:#e8f5ed;border-color:#84bd99;font-weight:600}button.payment-add-button:hover{background:#d8eddf}button.payment-refund-button{color:#805214;background:#fff2df;border-color:#dfb56f;font-weight:600}button.payment-refund-button:hover{background:#ffe9c8}@media (max-width:760px){button.payment-add-button,button.payment-refund-button{width:100%;min-height:42px}}.booking-layout input:not([type=checkbox]),.booking-layout select,.booking-layout textarea,.booking-layout .checkbox,.booking-layout .payment-list-line .link{font-size:15px}@media (max-width:760px){.booking-layout input:not([type=checkbox]),.booking-layout select,.booking-layout textarea{font-size:16px}}.booking-breadcrumbs{margin-bottom:10px}.booking-heading{margin-bottom:12px}@media (max-width:760px){.topbar{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:7px 12px;display:grid}.topbar .brand{white-space:nowrap;grid-area:1/1;align-self:center;font-size:14px}.topbar .user{white-space:nowrap;grid-area:1/2;gap:6px;font-size:12px}.topbar .user button{font-size:12px}.topbar .spacer{display:none}.topbar .nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;grid-area:2/1/auto/-1;gap:2px;width:100%;overflow-x:auto}.topbar .nav::-webkit-scrollbar{display:none}.topbar .nav a{white-space:nowrap;flex:none;padding:5px 10px;font-size:13px}.page:has(.booking-layout){padding:10px}.booking-breadcrumbs{margin-bottom:7px;font-size:13px}.booking-heading{gap:4px 6px;margin-bottom:10px}.booking-heading h1{width:100%;font-size:20px}.booking-heading>.muted{width:100%;font-size:12px}.booking-layout>.grid{gap:8px}.booking-layout .guest-message{padding:11px 12px}.booking-layout .guest-message h2{margin-bottom:4px}.booking-layout .status-bar{gap:5px;padding:0}.booking-layout .status-bar button{min-height:38px;padding:6px 9px}.booking-layout .status-divider,.booking-layout .status-bar>.small.muted{display:none}.topbar .user{min-width:0}.topbar .user-name{text-overflow:ellipsis;white-space:nowrap;max-width:100px;display:block;overflow:hidden}}.mobile-agenda{display:none}@media (max-width:760px){.calendar-desktop-grid{display:none}.mobile-agenda{gap:8px;display:grid}.mobile-agenda-day{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.mobile-agenda-day.today{border-color:var(--accent)}.mobile-agenda-head{justify-content:space-between;align-items:center;gap:8px;padding:8px 11px 4px;display:flex}.mobile-agenda-head>a:first-child{color:var(--text);font-weight:700}.mobile-agenda-day.today .mobile-agenda-head>a:first-child{color:var(--accent)}.mobile-agenda-add{white-space:nowrap;font-size:13px}.mobile-agenda-availability{color:var(--ok);padding:0 11px 8px;font-size:13px;line-height:1.35}.mobile-agenda-event{border-top:1px solid var(--border);border-left:3px solid var(--chip);background:color-mix(in srgb, var(--chip) 6%, white);color:var(--text);grid-template-columns:74px minmax(0,1fr);gap:8px;padding:9px 11px;display:grid}.mobile-agenda-event:hover{text-decoration:none}.mobile-agenda-time{font-size:14px;font-weight:700}.mobile-agenda-details{gap:2px;min-width:0;font-size:13px;display:grid}.mobile-agenda-details strong{overflow-wrap:anywhere;font-size:14px}.mobile-agenda-details>span:not(.mobile-agenda-marks){color:var(--muted);overflow-wrap:anywhere}.mobile-agenda-marks{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.mobile-agenda-marks .cal-status,.mobile-agenda-marks .cal-payment{margin:0}}.cal-primary,.cal-views,.cal-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (max-width:760px){.cal-head{gap:8px;margin-bottom:10px;display:grid}.cal-primary{flex-wrap:nowrap;justify-content:space-between;gap:6px;min-width:0}.cal-primary>.row{flex-wrap:nowrap;gap:5px}.cal-primary .button{white-space:nowrap;padding:6px 10px}.cal-primary select{min-width:0;max-width:145px}.cal-head h1{min-width:0;font-size:20px;line-height:1.2}.cal-head>.spacer{display:none}.cal-views{flex-wrap:nowrap;justify-content:space-between;gap:6px}.cal-views .segmented a{padding:6px 10px}.cal-views>.button{white-space:nowrap;padding:6px 10px}.cal-tools{flex-wrap:nowrap;gap:6px}.cal-tools .button,.cal-tools .activity-trigger{white-space:nowrap;padding:6px 9px;font-size:13px}.cal-tools .cal-help summary{width:32px;height:32px}.month-agenda-booking{grid-template-columns:70px minmax(0,1fr);gap:4px 8px;font-size:13px}.month-agenda-client,.month-agenda-type,.month-agenda-booking .cal-status,.month-agenda-booking .cal-payment{grid-column:2}.month-agenda-booking .cal-status,.month-agenda-booking .cal-payment{justify-self:start}.cal-layout .legend{display:none}}@media (max-width:360px){.cal-primary select{max-width:120px}.cal-tools{flex-wrap:wrap}.cal-views .segmented a{padding-inline:7px}}.card-actions .delete-booking-trigger{margin-left:0}.custom-types{container-type:inline-size}.custom-type-row{grid-template-columns:minmax(0,1fr) 80px 112px;align-items:end;gap:10px;display:grid}.custom-type-row button{width:100%}@container (max-width:380px){.custom-type-row{grid-template-columns:minmax(0,1fr) 112px}.custom-type-row>:first-child{grid-column:1/-1}}.custom-type-name{min-width:0;min-height:38px;color:var(--text);flex-direction:column;justify-content:flex-end;gap:2px;font-size:14px;display:flex}.custom-type-name b{overflow-wrap:break-word}.custom-type-remove{color:var(--muted);align-self:flex-start}.custom-type-remove.confirm{color:var(--danger);font-weight:600}.custom-type-name.off b{opacity:.5}.custom-type-row input,.custom-type-row button{min-height:38px}.custom-type-row .custom-type-remove{width:auto;min-height:0;padding:0}.week .event .event-number,.day-line-event .event-number{color:var(--muted);margin-right:3px;font-size:11px;font-weight:700;display:inline}.week .event .event-top b{display:inline}.week .event:hover,.day-line-event:hover{box-shadow:0 0 0 2px var(--chip), var(--shadow);filter:none}.day-line-event .event-top{white-space:normal;flex-wrap:wrap;gap:1px 6px}.day-line-event .cal-client{white-space:normal;text-overflow:clip;overflow:visible}.day-line-event .cal-client>span{white-space:nowrap}.settings-tabs{justify-self:start;max-width:100%;overflow-x:auto}.settings-tabs a{white-space:nowrap}.nav-sep{background:var(--border);flex:none;align-self:stretch;width:1px;margin:4px 8px}.user-settings{color:var(--text);white-space:nowrap;border-radius:8px;padding:6px 10px}.user-settings:hover{background:var(--surface-2);text-decoration:none}.user-settings.active{background:var(--accent);color:var(--accent-text)}.reminder-list{gap:8px;display:grid}.reminder-item{border:1px solid var(--border);border-left:4px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 12px;display:grid}.reminder-item.u-overdue{border-left-color:var(--danger);background:#fdf1f0}.reminder-item.u-today{background:var(--warn-bg);border-left-color:#d98a00}.reminder-item.u-tomorrow{border-left-color:var(--accent)}.reminder-item.done{opacity:.6}.reminder-item.done .reminder-text{text-decoration:line-through}.reminder-check input{width:18px;height:18px;accent-color:var(--ok);cursor:pointer;margin:2px 0 0}.reminder-when{flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;font-weight:600;display:flex}.reminder-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:3px 0}.reminder-badge{color:#fff;background:var(--accent);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.reminder-badge.u-overdue{background:var(--danger)}.reminder-badge.u-today{background:#d98a00}.reminder-delete{color:var(--muted);background:0 0;border:0;padding:0 8px;font-size:18px;line-height:1}.reminder-delete:hover{color:var(--danger);background:0 0}.reminder-form{grid-template-columns:minmax(0,1fr) minmax(0,120px);align-items:end;gap:8px;display:grid}.reminder-form-text{grid-column:1/-1}.reminder-form button{justify-self:start}.reminder-form .error{grid-column:1/-1}@media (max-width:760px){.reminder-form button{grid-column:1/-1}}.reminder-group.u-overdue{color:var(--danger)}.reminder-group.u-today{color:#a86a00}.reminder-popup{border:1px solid var(--border);background:var(--bg);width:min(560px,100vw - 24px);max-height:calc(100dvh - 40px);color:var(--text);border-radius:12px;padding:0}.reminder-popup::backdrop{background:#0006}.reminder-popup-box{padding:18px}.reminder-popup h2{margin:0 0 12px}.reminders-strip{background:#f6f1fc;border:1px solid #d9c9ef;border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.reminders-strip-title{color:var(--accent);font-weight:700}.reminders-strip-day{flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0;display:flex}.reminders-strip-date{font-weight:600}.reminders-strip-item{text-overflow:ellipsis;white-space:nowrap;background:var(--surface);border:1px solid var(--border);max-width:420px;color:var(--text);border-radius:6px;padding:2px 8px;overflow:hidden}.reminders-strip-item.u-overdue{border-color:var(--danger);color:var(--danger)}.reminders-strip-item.u-today{background:var(--warn-bg);border-color:#d98a00}.reminders-strip-item.done{opacity:.6;text-decoration:line-through}@media (max-width:760px){.reminders-strip-item{white-space:normal;max-width:100%}}.cal-reminder{-webkit-line-clamp:3;max-width:100%;color:var(--accent);white-space:normal;overflow-wrap:anywhere;background:#f6f1fc;border:1px solid #d9c9ef;border-radius:6px;-webkit-box-orient:vertical;padding:2px 6px;font-size:11px;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.cal-reminder b{font-weight:700}.month-agenda-booking .cal-reminder{grid-column:2/-1;justify-self:start}
