.calendar-studio{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 8px 30px #34204308}
.compact-app-menu{margin:0}.compact-app-menu>summary{display:none}
@media screen and (max-width:800px){.compact-app-menu>summary{display:block;padding:13px 16px;background:#f4edf8;border:1px solid var(--line);border-radius:10px;color:var(--accent)}.compact-app-menu{margin:8px 0}.compact-app-menu nav{margin:6px 0}}
.calendar-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--line)}
.calendar-top>div:first-child{flex:1}.calendar-top h2{font-size:1.7rem;margin:5px 0 0;letter-spacing:-.035em}.calendar-eyebrow{font-size:.68rem;font-weight:750;letter-spacing:.13em;color:var(--accent)}
.calendar-tools{display:flex;gap:5px}.calendar-tools button{min-width:44px}
.calendar-control-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:9px 0}.calendar-control-row label{max-width:180px;font-size:.75rem}
.calendar-modes{display:flex;gap:3px;flex-wrap:wrap;background:#f4f1f7;padding:5px;border-radius:12px}.calendar-modes button{border:0;background:transparent;font-size:.88rem}.calendar-modes button.primary{background:var(--accent);color:var(--on-accent);box-shadow:0 2px 6px #34204322}
.calendar-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;margin:9px 0 12px}
.calendar-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,240px);gap:14px;align-items:start}.calendar-split>*{min-width:0}
.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.calendar-month-week{grid-column:1/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:38px;grid-auto-rows:25px;gap:3px 0;padding-bottom:5px;min-height:95px}
.calendar-month-week .calendar-date{min-height:95px;justify-content:flex-start;margin:0 2px;padding-bottom:calc(var(--event-lanes)*25px);align-self:stretch}
.calendar-span-event{position:relative;z-index:1;min-height:23px;height:23px;font-size:.78rem;line-height:1.2;padding:2px 6px;margin:0 3px;background:color-mix(in srgb,var(--event-color) 18%,#f4f4f0)!important;border:1px solid var(--event-color);border-left:4px solid var(--event-color);border-radius:5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-align:left}
@media(max-width:600px){.calendar-span-event{font-size:.65rem;padding:2px;min-height:22px}.calendar-month-week .calendar-date{padding:3px;min-height:75px}.calendar-month-week{grid-auto-rows:23px;min-height:75px}.calendar-month-week .calendar-count{position:absolute;right:3px;top:5px}}
.calendar-weekday{text-align:center;font-size:.75rem;font-weight:700;color:var(--muted);padding:8px 0}
.calendar-date{position:relative;min-width:0;min-height:94px;padding:8px;text-align:left;display:flex;flex-direction:column;gap:5px;border-radius:12px;background:#fff;overflow-wrap:anywhere}
.calendar-date:hover{background:#f8f4fb;box-shadow:0 2px 8px #34204312}.calendar-date.is-selected{outline:2px solid var(--accent);outline-offset:-2px;background:#f4edf8}.calendar-date.is-today .calendar-date-number{background:var(--accent);color:var(--on-accent);border-radius:50%}
.calendar-date-number{display:grid;place-items:center;width:27px;height:27px;font-weight:700;font-size:.85rem}.calendar-count{position:absolute;right:5px;top:8px;font-size:.65rem;color:var(--muted)}
.calendar-mini-event{display:block;width:100%;font-size:.78rem;line-height:1.35;border-left:3px solid var(--accent);padding-left:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-more,.calendar-hint{font-size:.7rem;color:var(--muted)}.calendar-hint{padding:8px 0}
.calendar-day-detail{background:#faf8fc;border:1px solid #e9e2ef;border-radius:15px;padding:16px;min-width:0}
.calendar-day-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px;flex-wrap:wrap}.calendar-day-heading h3{margin:0}.calendar-day-heading .badge{font-size:.72rem}
.calendar-card{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;border:1px solid var(--line);border-left:4px solid var(--event-color);border-radius:12px;padding:15px;background:#fff;margin:10px 0;overflow-wrap:anywhere}
.calendar-card-time{font-size:1.05rem;font-weight:750}.calendar-card-time small{display:block;font-size:.68rem;font-weight:400;color:var(--muted);margin-top:4px}.calendar-card h3{margin:0 0 9px;font-size:1rem}.calendar-card-body>small{font-size:.7rem}
.calendar-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.calendar-badges span{background:#f4f1f7;border-radius:6px;padding:3px 7px;font-size:.75rem}
.calendar-card-actions{grid-column:2;display:flex;gap:8px;flex-wrap:wrap}.calendar-card-actions button{font-size:.75rem;padding:5px 9px;min-height:36px}
.calendar-empty{padding:25px 8px;text-align:center;color:var(--muted)}.calendar-empty strong{display:block;color:var(--ink);font-size:1rem}.calendar-empty p{font-size:.85rem}
.calendar-year{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.calendar-year button{text-align:left;padding:22px}.calendar-year small{display:block;margin-top:8px;color:var(--muted)}
.calendar-week{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.calendar-week .calendar-day-detail:last-child{grid-column:1/-1}
@media screen and (max-width:1100px){.calendar-split{grid-template-columns:minmax(0,1fr)}}
@media screen and (max-width:600px){
 .calendar-studio{padding:13px;border-radius:14px}.calendar-top{gap:12px}.calendar-top h2{font-size:1.35rem}.calendar-top>button{width:100%}.calendar-eyebrow{font-size:.6rem}
 .calendar-control-row{gap:10px}.calendar-control-row label{max-width:none;width:100%}.calendar-modes{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-modes button{padding:8px 4px}
 .calendar-filters{grid-template-columns:minmax(0,1fr);margin-bottom:16px}.calendar-month{gap:3px}
 .calendar-date{min-height:66px;padding:3px;border-radius:8px}.calendar-date-number{width:23px;height:23px;font-size:.75rem}.calendar-count{position:static;font-size:.65rem;text-align:center;background:#eee7f3;border-radius:6px}
 .calendar-mini-event,.calendar-more{display:none}.calendar-week,.calendar-year{grid-template-columns:minmax(0,1fr)}.calendar-week .calendar-day-detail:last-child{grid-column:auto}
 .calendar-card{grid-template-columns:55px minmax(0,1fr);padding:10px;gap:8px}.calendar-day-detail{padding:12px}.calendar-card-actions{grid-column:1/-1}
}
@media print{.calendar-top button,.calendar-control-row,.calendar-filters,.calendar-card-actions,.calendar-day-detail>button{display:none!important}.calendar-studio{border:0;box-shadow:none;padding:0}.calendar-split{display:block}.calendar-card{break-inside:avoid}.calendar-month{margin-bottom:20px}}
@media print{.compact-app-menu{display:none!important}.calendar-month .calendar-date,.calendar-year button{display:flex!important;break-inside:avoid}.calendar-mini-event{white-space:normal;overflow:visible}}
@media screen and (min-width:851px){.calendar-day-detail{padding:10px}.calendar-day-detail .calendar-card{grid-template-columns:1fr;padding:9px;gap:5px}.calendar-day-detail .calendar-card-actions{grid-column:1}.calendar-day-detail .calendar-card-time small{display:inline;margin-left:8px}}

/* Softer working surfaces, without changing print output or event colors. */
@media screen{
 :root{--bg:#eceef1;--line:#cfd4dc;--muted:#545f6d}
 .workspace>header,.shell>aside,.panel,.table-wrap,.login,dialog,.rich-toolbar,.rich-editor,.messenger-float-window{background:#f5f5f2}
 .workspace{background:color-mix(in srgb,var(--bg) 75%,#cdd6d8)}
 .messenger-float-window header,.message-item,.dialog-topbar{background-color:#f5f5f2}
 input,select,textarea,button:not(.primary):not(.active):not(.messenger-bubble):not(.calendar-date){background-color:#f7f7f4}
 nav button:not(.active){background:transparent}
 tr:nth-child(even) td{background:#eeefee}
 .calendar-studio{background:#eef1f3;border-color:#cbd4dc}
 .calendar-weekday{font-size:.9rem;color:#344c5e}
 .calendar-date{background:#e6edf0;border-color:#c1cdd5;min-height:100px;color:#243d4c}
 .calendar-date:hover{background:#dbe7ec}
 .calendar-date.is-selected{background:#e2dae9;border-color:#9a78ac}
 .calendar-date-number{width:32px;height:32px;font-size:1.05rem}
 .calendar-mini-event{font-size:.87rem;line-height:1.45}
 .calendar-count,.calendar-more{font-size:.78rem;color:#435662}
 .calendar-day-detail{background:#e8edef;border-color:#c5d2d8}
 .calendar-card{background:#f4f4f0}
 .messenger-float{padding:0;background:transparent;border:0;box-shadow:none}
 .messenger-bubble{position:relative;padding:0;border:0}
 .messenger-unread{position:absolute;right:-4px;top:-6px;display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border-radius:20px;background:#ad3348;color:white;border:2px solid var(--bg);font-size:12px;font-weight:750}
 .messenger-unread[hidden],[hidden]{display:none!important}
 .master-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .master-data-grid p{overflow-wrap:anywhere}.master-form-heading{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:8px;margin:8px 0}
 .attachment-print-preview{width:100%;height:55vh;border:1px solid var(--line);border-radius:8px;margin-top:16px}
 .direct-settings{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#e5eceb;border:1px solid #bdceca;border-radius:10px;padding:12px;width:100%}
 .direct-settings small{flex-basis:100%}.chat-group-picker{max-width:420px;margin:10px 0}
 .inline-review{align-items:center}.inline-review small{max-width:270px}
}
@media screen and (max-width:600px){.master-data-grid{grid-template-columns:minmax(0,1fr)}.calendar-date{min-height:73px}.calendar-date-number{font-size:1rem;width:29px;height:29px}.calendar-weekday{font-size:.85rem}.direct-settings{align-items:flex-start}.direct-settings>button{width:100%}}
