:root{color-scheme:light;font-family:IBM Plex Sans,Segoe UI,sans-serif;--bg: #eaf4f2;--panel: #f8fcfb;--panel-strong: #ffffff;--ink: #143331;--muted: #52736f;--line: rgba(20, 51, 49, .14);--petrol: #0f766e;--petrol-dark: #0b5550;--teal-deep: #155e75;--alert: #b91c1c;--shadow: 0 18px 50px rgba(15, 64, 60, .12)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at top left,rgba(15,118,110,.22),transparent 28%),radial-gradient(circle at bottom right,rgba(21,94,117,.18),transparent 28%),linear-gradient(180deg,#f7fbfa 0%,var(--bg) 100%)}button,input,select,textarea{font:inherit}textarea{min-height:110px;resize:vertical}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card,.panel,.stats-grid article,.sidebar{background:#f8fcfbeb;border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.auth-card{width:min(520px,100%);padding:32px;border-radius:28px}.eyebrow{margin:0 0 8px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--petrol);font-weight:700}.auth-card h1,.sidebar h1,.panel h2{margin:0;font-family:Iowan Old Style,Palatino Linotype,serif;letter-spacing:-.03em}.sidebar h1{font-size:1.45rem;text-align:center;margin-top:12px}.sidebar .muted{text-align:center;margin-top:6px;margin-bottom:0}.muted,.panel p{color:var(--muted)}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;padding:18px}.sidebar{border-radius:28px;padding:24px;display:grid;gap:18px;align-content:start;position:sticky;top:18px;height:calc(100vh - 36px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.menu-toggle{display:none;width:auto;min-width:96px;height:52px;padding:0 16px;margin-bottom:14px;align-items:center;justify-content:center}.menu{display:grid;gap:8px}.menu-item,.secondary{border:1px solid var(--line);background:var(--panel-strong);color:var(--ink)}.menu-item.active,button,.role-admin,.role-secretary,.role-doctor,.role-patient{background:linear-gradient(135deg,var(--petrol) 0%,var(--petrol-dark) 100%);color:#fff;border:0}.secondary{background:var(--panel-strong);color:var(--ink);border:1px solid var(--line)}.danger{background:linear-gradient(135deg,#b91c1c,#8f1717);color:#fff;border:0}.sidebar-footer{display:grid;gap:10px;margin-top:auto}.role-badge{width:fit-content;padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:700}.public-shell .sidebar{align-content:start}.public-shell{grid-template-columns:minmax(0,1fr) 320px}.public-login{padding:0;background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.content{display:grid;gap:18px}.header-banner{display:none;overflow:hidden;border-radius:24px;border:1px solid var(--line);background:#f8fcfbeb;box-shadow:var(--shadow)}.header-banner img{display:block;width:100%;height:auto}.sidebar .header-banner{display:block}.stats-grid,.grid-2,.form-grid{display:grid;gap:16px}.stats-grid,.stats-grid-extended{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-grid article,.panel{border-radius:24px;padding:20px}.stats-grid article span{display:block;color:var(--muted);margin-bottom:8px}.stats-grid article strong{font-size:2rem}.grid-2,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>*,.filter-row>*,.calendar-controls>*,.form-actions>*,.related-grid>*{min-width:0}.panel-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;align-items:end}.panel-header h2{font-size:1.7rem}input,select,textarea{width:100%;border-radius:16px;border:1px solid var(--line);padding:12px 14px;background:var(--panel-strong)}input[type=date],input[type=time],input[type=datetime-local]{min-width:0;max-width:100%}button{width:100%;border-radius:16px;border:0;padding:12px 14px;background:linear-gradient(135deg,var(--petrol) 0%,var(--petrol-dark) 100%);cursor:pointer;font-weight:700;color:#fff;transition:transform .14s ease,filter .14s ease,background .14s ease,box-shadow .14s ease,border-color .14s ease;box-shadow:0 10px 22px #0a3d3a24}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}button:not(:disabled):hover{background:linear-gradient(135deg,#169489,#0f6862);box-shadow:0 14px 28px #0a3d3a33;transform:translateY(-2px)}.menu-item:not(.active):not(:disabled):hover,.secondary:not(:disabled):hover{background:#0f766e29;border-color:#0f766e6b;color:var(--petrol-dark);box-shadow:0 12px 26px #0a3d3a1f;transform:translateY(-2px)}.danger:not(:disabled):hover{background:linear-gradient(135deg,#d12828,#a31d1d);box-shadow:0 14px 28px #7f1d1d38;transform:translateY(-2px)}button:not(:disabled):active{background:linear-gradient(135deg,#0c625c,#094844);transform:translateY(1px) scale(.985);box-shadow:0 6px 12px #0a3d3a2e}.menu-item:not(.active):not(:disabled):active,.secondary:not(:disabled):active{background:#0f766e3d;border-color:#0f766e80;transform:translateY(1px) scale(.985);box-shadow:0 6px 12px #0a3d3a1f}.danger:not(:disabled):active{background:linear-gradient(135deg,#961717,#7f1d1d);transform:translateY(1px) scale(.985);box-shadow:0 6px 12px #7f1d1d2e}.stack,.list{display:grid;gap:12px}.list-item{display:grid;gap:5px;padding:14px;border-radius:18px;border:1px solid var(--line);background:var(--panel-strong);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.clickable{cursor:pointer}.clickable:hover{transform:translateY(-3px);border-color:#0f766e7a;background:linear-gradient(180deg,#fff,#e1f4f1f5);box-shadow:0 16px 28px #0a3d3a1f}.clickable:active{transform:translateY(1px) scale(.992);border-color:#0f766e8a;background:linear-gradient(180deg,#e9f7f4,#d6eeeafa);box-shadow:0 6px 12px #0a3d3a1a}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto}.filter-row,.import-box{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.field{display:grid;gap:6px}.field-label{display:block;color:var(--ink);font-size:.88rem;font-weight:700}.field-help{color:var(--muted);font-size:.78rem;line-height:1.25}.slot-info,.group-title{padding:12px 14px;border-radius:14px;background:#0f766e14;color:var(--petrol-dark);border:1px solid rgba(15,118,110,.16)}.calendar-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.group-block{display:grid;gap:12px;margin-bottom:12px}.compact-list .list-item{padding:10px 12px}.campaign-filter-box{display:grid;gap:10px}.selection-chip-row{display:flex;flex-wrap:wrap;gap:8px}.selection-chip{width:auto;padding:8px 12px;border-radius:999px;background:#0f766e1a;color:var(--petrol-dark);border:1px solid rgba(15,118,110,.18)}.selection-chip span{font-weight:800}.campaign-search-results{display:grid;gap:8px;max-height:220px;overflow-y:auto}.campaign-search-result{width:100%;text-align:left;background:var(--panel-strong);color:var(--ink);border:1px solid var(--line)}.blacklist-search-result{display:flex;justify-content:space-between;align-items:center;gap:12px}.blacklist-search-result div{display:grid;gap:4px}.blacklist-search-add{color:var(--petrol);font-weight:700;white-space:nowrap}.blacklist-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%}.blacklist-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blacklist-chip-remove{font-size:1rem;line-height:1}.campaign-region-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.compact-checkbox{font-size:.94rem}.campaign-inline-fields{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px}.related-panel{display:grid;gap:14px;margin-top:18px;padding:18px;border-radius:22px;border:1px solid var(--line);background:#f8fcfbd1}.related-panel-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.related-panel-meta{display:grid;justify-items:end;gap:4px}.related-panel-header h3{margin:0;font-size:1.05rem}.related-panel-header span{color:var(--muted);font-size:.92rem}.debug-meta{grid-column:1 / -1;display:inline-flex;align-items:center;width:fit-content;padding:4px 10px;border-radius:999px;background:#0f766e14;color:#0f5f59;font-size:.78rem;font-weight:700;letter-spacing:.01em}.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.related-block{display:grid;gap:10px}.related-item:hover{background:#0f766e29}.selected-related-item{border-color:#0f766e73;background:#0f766e1a}.patient-summary-card{gap:6px}.compact-button{width:auto;min-width:150px}.whatsapp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.whatsapp-main-column{display:grid;gap:16px;min-width:0}.whatsapp-thread-panel{min-width:0}.whatsapp-thread-stack{min-height:100%}.whatsapp-thread{max-height:720px;overflow-y:auto}.whatsapp-message{gap:6px}.whatsapp-message-error{font-size:.84rem;color:#b91c1c;line-height:1.25}.whatsapp-message-in{border-left:4px solid rgba(15,118,110,.5)}.whatsapp-message-out{border-left:4px solid rgba(194,65,12,.5)}.whatsapp-inbox-tabs{align-items:stretch}.whatsapp-inbox-tabs button{display:inline-flex;align-items:center;gap:10px}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#1433311f;color:var(--ink);font-size:.84rem;font-weight:700}.tab-badge-danger{background:#dc262629;color:#b91c1c}.whatsapp-inbox-tabs .menu-item.active .tab-badge{background:#ffffff38;color:#fff}.whatsapp-inbox-tabs .menu-item.active .tab-badge-danger{background:#ffffff47;color:#ffe4e6}.whatsapp-conversation-item{gap:8px}.whatsapp-conversation-failed{border-color:#dc26266b;background:#dc262614}.whatsapp-conversation-failed strong,.whatsapp-conversation-failed .whatsapp-preview-line{color:#991b1b}.whatsapp-conversation-unread{border-color:#0f766e61;background:#0f766e14}.whatsapp-conversation-unread strong{font-weight:800}.whatsapp-conversation-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.whatsapp-conversation-head span{color:var(--muted);font-size:.82rem;white-space:nowrap}.whatsapp-preview-line{color:var(--muted);line-height:1.25}.audit-log-admin{border-left:4px solid rgba(100,116,139,.85);background:#64748b14}.audit-log-secretary{border-left:4px solid rgba(147,51,234,.9);background:#9333ea14}.audit-log-doctor{border-left:4px solid rgba(22,163,74,.9);background:#16a34a14}.event-detail-item{transition:background-color .16s ease,border-color .16s ease}.event-detail-item:hover{background:#0f766ec7;border-color:#0f766ee6;color:#fff}.dashboard-action-item{transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.dashboard-action-item:hover{background:#0f766e2e;border-color:#0f766e80}.dashboard-inline-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;text-align:left;padding:6px 8px;margin:0;border-radius:10px;cursor:pointer;transition:background-color .16s ease,color .16s ease;font:inherit}.dashboard-inline-link:hover{background:#0f766e80;color:#fff}.reminder-list-item{display:grid;gap:10px}.reminder-open-link{display:grid;gap:6px;justify-items:start;text-align:left;width:100%}.reminder-open-link span,.reminder-open-link strong{width:100%}.reminder-done-toggle{display:inline-flex;align-items:center;justify-self:start;gap:4px;font-weight:700;color:var(--muted);cursor:pointer}.reminder-done-toggle input{margin:0}.duplicate-warning{grid-column:1 / -1;display:grid;gap:10px;padding:14px;border-radius:18px;border:1px solid rgba(15,118,110,.24);background:#0f766e14}.duplicate-list{display:grid;gap:10px}.duplicate-action{display:grid;gap:4px;justify-items:start;text-align:left}.duplicate-action span{color:var(--muted)}.patient-phone-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.contact-type-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1;border:1px solid transparent}.contact-type-badge.mobile{background:#0f766e1f;color:var(--petrol-dark);border-color:#0f766e38}.contact-type-badge.landline{background:#c2410c1f;color:#9a3412;border-color:#c2410c38}.contact-type-badge.missing{background:#52736f1f;color:var(--muted);border-color:#52736f2e}.calendar-panel .fc{--fc-border-color: var(--line);--fc-page-bg-color: transparent;--fc-neutral-bg-color: rgba(255, 255, 255, .52);--fc-today-bg-color: rgba(15, 118, 110, .08)}.calendar-panel .fc .fc-event-title,.calendar-panel .fc .fc-event-main{white-space:normal}.calendar-event-stack{display:grid;gap:2px;line-height:1.05}.calendar-event-stack-month{gap:1px}.calendar-event-time,.calendar-event-city,.calendar-event-title-text{display:block;min-width:0}.calendar-event-time{font-size:.88rem;font-weight:700;overflow:hidden;text-overflow:ellipsis}.calendar-event-city,.calendar-event-title-text{font-size:.84rem}.calendar-event-title-text,.calendar-event-city{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}.calendar-event-city-badge{width:100%;max-width:100%;padding:3px 8px;border-radius:8px;background:var(--petrol-dark);color:#fff;font-weight:700}.calendar-panel .calendar-schedule-event{font-weight:700;background:var(--petrol-dark)!important;border-color:var(--petrol-dark)!important;color:#fff!important}.calendar-panel .calendar-surgical-session-event{font-weight:700;background:#7ec8e3!important;border-color:#7ec8e3!important;color:#fff!important}.calendar-panel .calendar-doctor-agenda-event{background:#ec4899!important;border-color:#ec4899!important;color:#fff!important}.calendar-panel .fc-daygrid-event.calendar-surgical-session-event,.calendar-panel .fc-timegrid-event.calendar-surgical-session-event{background:#7ec8e3!important;border-color:#7ec8e3!important;color:#fff!important}.calendar-panel .fc-daygrid-event.calendar-doctor-agenda-event,.calendar-panel .fc-timegrid-event.calendar-doctor-agenda-event{background:#ec4899!important;border-color:#ec4899!important;color:#fff!important}.calendar-panel .fc-daygrid-event.calendar-visit-event{background:#0f766e24!important;border-color:#0f766e4d!important;padding:4px 6px!important}.calendar-panel .fc-daygrid-event.calendar-intervention-event,.calendar-panel .fc-timegrid-event.calendar-intervention-event{background:#7e9ce3!important;border-color:#7e9ce3!important;color:#fff!important}.calendar-panel .fc-daygrid-event.calendar-intervention-event{padding:4px 6px!important}.calendar-panel .fc-daygrid-event.calendar-intervention-event .fc-event-main{padding:0}.calendar-panel .fc-daygrid-event.calendar-intervention-event,.calendar-panel .fc-timegrid-event.calendar-intervention-event{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.calendar-panel .fc-daygrid-event.calendar-intervention-event:hover{background:#6686d6!important;border-color:#5878ca!important;box-shadow:inset 0 0 0 1px #4a62b352;transform:translateY(-1px)}.calendar-panel .fc-daygrid-event.calendar-visit-event{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.calendar-panel .fc-daygrid-event.calendar-visit-event:hover{background:#0f766e52!important;border-color:#0f766ebf!important;box-shadow:inset 0 0 0 1px #0f766e59}.calendar-panel .fc-daygrid-event.calendar-schedule-event .calendar-event-city-badge{background:transparent;padding:0;border-radius:0}.calendar-panel .fc-daygrid-event.calendar-schedule-event .calendar-event-time,.calendar-panel .fc-daygrid-event.calendar-schedule-event .calendar-event-city,.calendar-panel .fc-daygrid-event.calendar-schedule-event .calendar-event-title-text{color:#fff!important}.calendar-panel .fc-daygrid-event.calendar-surgical-session-event .fc-event-main,.calendar-panel .fc-timegrid-event.calendar-surgical-session-event .fc-event-main,.calendar-panel .fc-daygrid-event.calendar-doctor-agenda-event .fc-event-main,.calendar-panel .fc-timegrid-event.calendar-doctor-agenda-event .fc-event-main{background:transparent!important;color:#fff!important}.calendar-panel .fc-daygrid-event.calendar-surgical-session-event .calendar-event-time,.calendar-panel .fc-daygrid-event.calendar-surgical-session-event .calendar-event-city,.calendar-panel .fc-daygrid-event.calendar-surgical-session-event .calendar-event-title-text,.calendar-panel .fc-timegrid-event.calendar-surgical-session-event .calendar-event-time,.calendar-panel .fc-timegrid-event.calendar-surgical-session-event .calendar-event-city,.calendar-panel .fc-timegrid-event.calendar-surgical-session-event .calendar-event-title-text,.calendar-panel .fc-daygrid-event.calendar-doctor-agenda-event .calendar-event-time,.calendar-panel .fc-daygrid-event.calendar-doctor-agenda-event .calendar-event-city,.calendar-panel .fc-daygrid-event.calendar-doctor-agenda-event .calendar-event-title-text,.calendar-panel .fc-timegrid-event.calendar-doctor-agenda-event .calendar-event-time,.calendar-panel .fc-timegrid-event.calendar-doctor-agenda-event .calendar-event-city,.calendar-panel .fc-timegrid-event.calendar-doctor-agenda-event .calendar-event-title-text{color:#fff!important}.calendar-panel .fc-daygrid-event.calendar-visit-event .calendar-event-time,.calendar-panel .fc-daygrid-event.calendar-visit-event .calendar-event-city,.calendar-panel .fc-daygrid-event.calendar-visit-event .calendar-event-title-text{color:var(--ink)!important}.calendar-panel .fc-daygrid-event.calendar-intervention-event .calendar-event-time,.calendar-panel .fc-daygrid-event.calendar-intervention-event .calendar-event-city,.calendar-panel .fc-daygrid-event.calendar-intervention-event .calendar-event-title-text,.calendar-panel .fc-timegrid-event.calendar-intervention-event .calendar-event-time,.calendar-panel .fc-timegrid-event.calendar-intervention-event .calendar-event-city,.calendar-panel .fc-timegrid-event.calendar-intervention-event .calendar-event-title-text,.calendar-panel .fc-daygrid-event.calendar-schedule-event .calendar-event-time{color:#fff!important}.calendar-panel .fc-daygrid-event.calendar-schedule-gap{margin-top:8px}.calendar-panel .fc-timegrid-event-harness{inset-inline-end:0!important}.calendar-panel .fc-timegrid-col-events{margin-inline:0!important}.calendar-panel .fc-timegrid-slot{height:3.1rem}.public-calendar-panel .fc-timegrid-slot{height:1.6rem}.calendar-panel .fc-timegrid-axis-cushion,.calendar-panel .fc-timegrid-slot-label-cushion{font-weight:700}.calendar-panel .fc-timegrid-event{inset-inline-start:0!important;inset-inline-end:0!important}.calendar-panel .fc-timegrid-event.calendar-schedule-event{z-index:1}.calendar-panel .fc-timegrid-event.calendar-schedule-event .fc-event-main{padding:4px 6px}.calendar-panel .fc-timegrid-event.calendar-surgical-session-event,.calendar-panel .fc-timegrid-event.calendar-doctor-agenda-event{z-index:2}.calendar-panel .fc-timegrid-event.calendar-surgical-session-event .fc-event-main,.calendar-panel .fc-timegrid-event.calendar-doctor-agenda-event .fc-event-main{padding:4px 6px}.calendar-panel .fc-daygrid-event.calendar-surgical-session-event .calendar-event-time-badge,.calendar-panel .fc-daygrid-event.calendar-surgical-session-event .calendar-event-city-badge,.calendar-panel .fc-timegrid-event.calendar-surgical-session-event .calendar-event-time-badge,.calendar-panel .fc-timegrid-event.calendar-surgical-session-event .calendar-event-city-badge,.calendar-panel .fc-daygrid-event.calendar-doctor-agenda-event .calendar-event-time-badge,.calendar-panel .fc-daygrid-event.calendar-doctor-agenda-event .calendar-event-city-badge,.calendar-panel .fc-timegrid-event.calendar-doctor-agenda-event .calendar-event-time-badge,.calendar-panel .fc-timegrid-event.calendar-doctor-agenda-event .calendar-event-city-badge{background:transparent!important;color:#fff!important}.calendar-panel .fc-timegrid-event .fc-event-main{padding:3px 4px}.calendar-panel .fc-timegrid-event.calendar-visit-event{z-index:3;min-height:0;box-shadow:0 4px 12px #09334133;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.calendar-panel .fc-timegrid-event.calendar-visit-event .fc-event-main{padding:4px 6px}.calendar-panel .fc-timegrid-event.calendar-visit-event .calendar-event-title-text{font-weight:700}.calendar-panel .fc-timegrid-event.calendar-visit-event:hover{background:#0f766e!important;border-color:#0b5550!important;box-shadow:0 0 0 2px #0f766e59,0 8px 18px #0933413d;transform:translate(1px)}.calendar-panel .fc-timegrid-event.calendar-intervention-event:hover{background:#6686d6!important;border-color:#5878ca!important;box-shadow:0 0 0 2px #607bd257,0 8px 18px #374d9938;transform:translate(1px)}.calendar-event-stack-visit{gap:1px}.calendar-event-time-range{display:grid;gap:1px}.calendar-event-time-range span{display:block}.toast-error,.error{color:var(--alert)}.toast-notice,.toast-error{position:fixed;right:16px;bottom:16px;padding:12px 14px;border-radius:14px;box-shadow:var(--shadow);z-index:50}.toast-error{background:#fef2f2;border:1px solid #fecaca}.toast-notice{color:#fff}.toast-create{background:linear-gradient(135deg,#16803c,#166534)}.toast-update{background:linear-gradient(135deg,#1d4ed8,#1e3a8a)}.toast-delete{background:linear-gradient(135deg,#db2777,#9d174d)}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar .header-banner{display:none}.content>.header-banner{display:block}.authenticated-shell .sidebar .header-banner{display:block}.authenticated-shell .content>.header-banner{display:none}.stats-grid,.stats-grid-extended{grid-template-columns:repeat(2,minmax(0,1fr))}.public-shell{grid-template-columns:1fr}.menu-toggle{display:inline-grid;width:100%;min-width:0;height:40px;margin-bottom:0;border-radius:12px;position:relative}.authenticated-shell .sidebar .header-banner+.menu-toggle{margin-top:14px}.authenticated-shell .sidebar .header-banner+.menu-toggle:before{content:"";position:absolute;left:0;right:0;top:-8px;height:1px;background:#ffffffeb}.sidebar{gap:14px}.sidebar .menu,.sidebar .sidebar-footer{display:none}.sidebar.mobile-open .menu,.sidebar.mobile-open .sidebar-footer{display:grid}}@media(min-width:721px){.calendar-panel .fc-daygrid-event.calendar-schedule-event{background:var(--petrol-dark)!important;border-color:var(--petrol-dark)!important;box-shadow:none!important}.calendar-panel .fc-daygrid-event.calendar-schedule-event .fc-event-main{padding:0;width:100%}.calendar-panel .fc-daygrid-event.calendar-schedule-event .calendar-event-stack-schedule-daygrid{width:100%;gap:2px;padding:4px 8px}.calendar-panel .fc-daygrid-event.calendar-schedule-event .calendar-event-time-badge,.calendar-panel .fc-daygrid-event.calendar-schedule-event .calendar-event-city-badge{width:100%;background:transparent;color:#fff!important;padding:0}.calendar-panel .fc-daygrid-event.calendar-schedule-event .calendar-event-time-badge{font-size:.82rem;line-height:1.05;overflow:visible;text-overflow:clip}.calendar-panel .fc-daygrid-event.calendar-schedule-event .calendar-event-city-badge{font-size:.82rem;line-height:1.05}}@media(max-width:720px){.app-shell{padding:12px}.grid-2,.form-grid,.stats-grid,.stats-grid-extended,.filter-row,.import-box,.calendar-controls,.form-actions,.whatsapp-layout{grid-template-columns:1fr}.whatsapp-main-column{gap:12px}.whatsapp-thread{max-height:none}.sidebar,.panel,.stats-grid article{border-radius:20px}.related-grid,.campaign-region-grid,.campaign-inline-fields{grid-template-columns:1fr}.related-panel-header{align-items:start;flex-direction:column}.compact-button{width:100%}.calendar-panel .fc .fc-daygrid-event{padding:4px 6px}.calendar-panel .fc .fc-daygrid-event .fc-event-main{padding:0}.calendar-panel .fc .fc-daygrid-event{overflow:visible}.calendar-event-time{font-size:.66rem}.calendar-event-city,.calendar-event-title-text{font-size:.62rem}.calendar-event-stack-month .calendar-event-city{line-height:.95}.calendar-event-city-vertical{writing-mode:vertical-rl;text-orientation:mixed;white-space:normal;overflow:visible;text-overflow:clip;max-height:100%;align-self:start;justify-self:start;margin-left:0}.calendar-event-stack-week{grid-template-columns:1fr;align-items:start;justify-content:start;justify-items:start;row-gap:2px}.calendar-event-stack-week .calendar-event-time-range{line-height:.92}.calendar-event-stack-week .calendar-event-time{overflow:visible;text-overflow:clip}.calendar-event-stack-week-visit .calendar-event-time{font-size:.6rem;line-height:.9;font-weight:700}.calendar-event-stack-week-visit .calendar-event-title-text{font-size:.66rem;line-height:.92;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}}
