:root {
    --ink: #173233;
    --muted: #6f8180;
    --line: #dfe8e5;
    --surface: #ffffff;
    --canvas: #f4f7f5;
    --nav: #102a2a;
    --nav-soft: #1a3a39;
    --primary: #e76f51;
    --primary-dark: #cb5539;
    --mint: #2a9d8f;
    --mint-soft: #e4f4ef;
    --blue: #457b9d;
    --sand: #e9c46a;
    --danger: #c94b4b;
    --shadow: 0 16px 42px rgba(23, 50, 51, .08);
    --radius: 18px;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--canvas); }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 15px; line-height: 1.5; }
a { color: var(--mint); text-decoration: none; }
a:hover { color: #197d72; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 0; font-family: Georgia, "Times New Roman", serif; font-size: 29px; line-height: 1.12; letter-spacing: -.025em; }
h2 { margin-bottom: 8px; font-family: Georgia, "Times New Roman", serif; font-size: 24px; line-height: 1.2; }
h3 { margin-bottom: 5px; font-size: 16px; }
small { color: var(--muted); }
code, .mono { font-family: "SFMono-Regular", Consolas, monospace; }
.muted { color: var(--muted); }
.hidden { display: none !important; }
.eyebrow { margin: 0 0 6px; color: var(--primary); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.sidebar { position: fixed; z-index: 30; inset: 0 auto 0 0; width: 244px; display: flex; flex-direction: column; padding: 24px 16px 18px; color: #e9f1ef; background: radial-gradient(circle at 5% 0, #214845 0, var(--nav) 46%); }
.sidebar-brand { display: flex; align-items: center; gap: 12px; padding: 0 10px 30px; color: white; }
.sidebar-brand:hover { color: white; }
.sidebar-brand strong, .sidebar-brand small { display: block; line-height: 1.1; }
.sidebar-brand strong { font-family: Georgia, serif; font-size: 22px; }
.sidebar-brand small { margin-top: 3px; color: #99b5b1; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.brand-mark { width: 68px; height: 68px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 22px 5px 22px 5px; color: white; background: var(--primary); box-shadow: 0 12px 26px rgba(231, 111, 81, .25); font-family: Georgia, serif; font-weight: 700; }
.brand-mark-small { width: 44px; height: 44px; border-radius: 14px 4px 14px 4px; font-size: 13px; }
.main-nav { display: grid; gap: 3px; }
.nav-item { position: relative; min-height: 46px; display: flex; align-items: center; gap: 12px; padding: 0 13px; border-radius: 12px; color: #a9c1be; font-weight: 650; transition: .18s ease; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav-item.active { color: #fff; background: rgba(255,255,255,.1); box-shadow: inset 3px 0 var(--primary); }
.nav-icon { width: 23px; font-size: 20px; text-align: center; }
.nav-item em { min-width: 22px; margin-left: auto; padding: 1px 6px; border-radius: 99px; color: #fff; background: var(--primary); font-size: 10px; font-style: normal; text-align: center; }
.nav-item em.danger-counter { background: var(--danger); }
.sidebar-footer { display: flex; align-items: center; gap: 8px; margin-top: auto; padding: 16px 8px 0; border-top: 1px solid rgba(255,255,255,.09); }
.user-chip { min-width: 0; display: flex; align-items: center; gap: 9px; flex: 1; }
.user-chip > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--nav); background: #bde1d9; font-weight: 800; }
.user-chip div { min-width: 0; }
.user-chip strong, .user-chip small { display: block; max-width: 128px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-chip strong { font-size: 12px; }
.user-chip small { color: #8da8a5; font-size: 10px; }
.logout-button { padding: 8px; border: 0; color: #8da8a5; background: transparent; font-size: 19px; }

.app-shell { min-height: 100vh; margin-left: 244px; }
.topbar { position: sticky; z-index: 20; top: 0; min-height: 86px; display: flex; align-items: center; gap: 18px; padding: 14px clamp(22px, 3vw, 44px); border-bottom: 1px solid rgba(213,226,222,.8); background: rgba(244,247,245,.9); backdrop-filter: blur(14px); }
.topbar h1 { font-size: 27px; }
.topbar-actions { display: flex; align-items: center; gap: 9px; margin-left: auto; }
.menu-button, .icon-button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.menu-button { display: none; }
.icon-button { position: relative; color: var(--ink); font-size: 19px; }
.notification-button span { position: absolute; top: -5px; right: -5px; min-width: 19px; height: 19px; display: grid; place-items: center; padding: 0 4px; border: 2px solid var(--canvas); border-radius: 50px; color: white; background: var(--primary); font-size: 9px; font-weight: 800; }
.content { width: min(1480px, 100%); margin: 0 auto; padding: 30px clamp(20px, 3vw, 44px) 60px; }

.button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 15px; border: 1px solid transparent; border-radius: 11px; font-weight: 750; line-height: 1.2; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { color: white; background: var(--primary); box-shadow: 0 8px 18px rgba(231,111,81,.18); }
.button-primary:hover { color: white; background: var(--primary-dark); }
.button-secondary { color: #1d766c; border-color: #aed8d0; background: var(--mint-soft); }
.button-ghost { color: var(--ink); border-color: var(--line); background: white; }
.button-light { color: var(--nav); background: white; }
.button-danger-text { color: var(--danger); border-color: transparent; background: transparent; }
.button-large { min-height: 50px; font-size: 16px; }
.inline-form { display: inline-flex; margin: 0; }
.alert { margin-bottom: 18px; padding: 13px 16px; border-radius: 12px; border: 1px solid; box-shadow: var(--shadow); }
.alert-success { color: #176a60; border-color: #a7d6ce; background: #ecf8f4; }
.alert-error { color: #9c3434; border-color: #efbbbb; background: #fff0ef; }
.fine-print { color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }

.critical-strip { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; padding: 18px 20px; border-radius: var(--radius); color: white; background: linear-gradient(110deg, #b94740, #d8634f); box-shadow: 0 15px 35px rgba(185,71,64,.18); }
.critical-strip .critical-icon { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; font: 700 21px Georgia; }
.critical-strip div:nth-child(2) { flex: 1; }
.critical-strip p { margin: 3px 0 0; color: #ffe8e4; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; margin-bottom: 18px; }
.stat-card { display: flex; align-items: center; gap: 15px; min-height: 132px; padding: 21px; border: 1px solid #e5ece9; border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.stat-icon { width: 47px; height: 47px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 15px; font-size: 22px; }
.stat-icon.mint { color: #16786c; background: #ddf1eb; }.stat-icon.coral { color: #be4f37; background: #fde9e2; }.stat-icon.blue { color: #386f90; background: #e4eff6; }.stat-icon.sand { color: #946c11; background: #fff3d3; }
.stat-card small, .stat-card p { display: block; color: var(--muted); }
.stat-card strong { display: block; margin: 3px 0; font: 700 31px Georgia, serif; }
.stat-card strong em { color: #9baba8; font-size: 16px; font-style: normal; }
.stat-card p { margin: 0; font-size: 11px; }
.dashboard-grid, .detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.panel { border: 1px solid #e3ebe8; border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); overflow: hidden; }
.panel-span-2 { grid-column: span 2; }.panel-span-3 { grid-column: span 3; }
.panel-head { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 21px; border-bottom: 1px solid #edf1ef; }
.panel-head h2, .panel-head p { margin-bottom: 0; }
.panel-head a { font-size: 12px; font-weight: 750; }
.empty { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 270px; padding: 35px; color: var(--muted); text-align: center; }
.empty span { color: #a4bbb7; font-size: 36px; }.empty h3 { color: var(--ink); }.empty.small { min-height: 150px; }.empty-card { min-height: 300px; }
.task-list { display: grid; }
.task-row { position: relative; min-width: 0; display: flex; align-items: center; gap: 15px; padding: 16px 20px; border-bottom: 1px solid #edf2f0; color: var(--ink); }
.task-row:last-child { border-bottom: 0; }.task-row:hover { color: var(--ink); background: #fbfcfb; }
.task-state-line { width: 4px; height: 45px; flex: 0 0 auto; border-radius: 9px; background: #b4c0be; }
.task-state-line.positive { background: var(--mint); }.task-state-line.warning { background: var(--sand); }.task-state-line.danger { background: var(--danger); }
.task-main { min-width: 0; flex: 1; }.task-main strong, .task-title-line a { font-weight: 800; }.task-main p { margin: 3px 0 0; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.task-meta { display: grid; justify-items: end; gap: 6px; }.row-chevron { color: #9caaa8; font-size: 25px; }
.task-row.rich { min-height: 108px; padding: 20px 22px; }.task-title-line, .title-badges { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }.task-title-line a { color: var(--ink); font-size: 17px; }
.meta-row { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 9px; color: var(--muted); font-size: 11px; }.task-actions, .entity-actions, .heading-actions, .slot-actions, .notification-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.more-button { position: relative; width: 39px; height: 39px; border: 1px solid var(--line); border-radius: 10px; background: white; }.popover { position: absolute; z-index: 10; top: calc(100% + 6px); right: 0; min-width: 150px; display: none; padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--shadow); }.more-button.open .popover { display: grid; }.popover-action { width: 100%; justify-content: flex-start; padding: 9px 11px; border: 0; background: transparent; font-size: 12px; }
.badge { display: inline-flex; align-items: center; gap: 6px; width: max-content; padding: 4px 8px; border-radius: 100px; font-size: 10px; font-weight: 800; white-space: nowrap; }.badge-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }.badge-positive { color: #17796e; background: #e3f4ef; }.badge-warning { color: #8b6616; background: #fff2cf; }.badge-danger { color: #a63737; background: #ffe5e3; }.badge-neutral { color: #637371; background: #ebf0ef; }
.agent-mini-list { padding: 6px 18px 14px; }.agent-mini { display: flex; align-items: center; gap: 10px; padding: 13px 2px; border-bottom: 1px solid #edf2f0; }.agent-mini:last-child { border: 0; }.agent-mini > div:nth-child(2) { min-width: 0; flex: 1; }.agent-mini strong,.agent-mini small { display: block; }.agent-mini > div:last-child { display: grid; justify-items: end; gap: 4px; }.pulse { width: 9px; height: 9px; border-radius: 50%; background: #a6b2b0; }.pulse.positive { background: var(--mint); box-shadow: 0 0 0 4px #ddf2ed; }.pulse.danger { background: var(--danger); }.pulse.warning { background: var(--sand); }
.slot-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 18px; }.slot-cards.large { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0; }.slot-card { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: #fbfcfb; }.date-tile { width: 48px; height: 54px; display: grid; place-content: center; flex: 0 0 auto; border-radius: 13px; color: #a8422f; background: #fde8e1; text-align: center; }.date-tile strong,.date-tile span { display: block; line-height: 1; }.date-tile strong { font: 700 21px Georgia; }.date-tile span { margin-top: 4px; font-size: 9px; text-transform: uppercase; }.slot-card > div:nth-child(2) { min-width: 0; flex: 1; }.slot-card h3,.slot-card p { margin-bottom: 3px; }.slot-card p,.slot-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.slot-card p { color: var(--muted); font-size: 12px; }.slot-tail { display: grid; justify-items: end; gap: 7px; }.slot-main small { margin-top: 4px; }.slot-actions { justify-content: flex-end; }

.page-heading, .detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }.page-heading > p,.page-heading > div > p,.detail-heading p { max-width: 760px; margin: 0; color: var(--muted); }.detail-heading h2 { margin: 8px 0 4px; font-size: 31px; }
.table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; } th,td { padding: 15px 18px; border-bottom: 1px solid #edf1ef; text-align: left; vertical-align: middle; } th { color: var(--muted); background: #fafcfb; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; } tbody tr:last-child td { border-bottom: 0; } tbody tr:hover { background: #fcfdfc; }.muted-cell { max-width: 390px; color: var(--muted); }.actions-cell { text-align: right; white-space: nowrap; }.identity { display: flex; align-items: center; gap: 10px; }.identity span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: #14766b; background: var(--mint-soft); font-weight: 800; }.table-sub { display: block; margin-top: 4px; }.danger-text { color: var(--danger) !important; }
.filter-bar { display: flex; flex-wrap: wrap; gap: 8px; }.filter-bar input,.filter-bar select { min-width: 170px; }
.card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }.entity-card { padding: 22px; border: 1px solid #e1eae7; border-radius: var(--radius); background: white; box-shadow: var(--shadow); }.entity-card-head { display: flex; align-items: center; justify-content: space-between; }.entity-icon { width: 47px; height: 47px; display: grid; place-items: center; border-radius: 15px; color: #277d74; background: var(--mint-soft); font-size: 23px; }.entity-card h2 { margin: 16px 0 2px; }.entity-card > p { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.entity-card dl { margin: 18px 0; }.entity-card dl div { display: flex; justify-content: space-between; gap: 15px; padding: 8px 0; border-bottom: 1px solid #edf2f0; }.entity-card dt { color: var(--muted); }.entity-card dd { margin: 0; font-weight: 650; text-align: right; }
.credential-card { display: grid; grid-template-columns: minmax(220px,.7fr) 1.3fr; gap: 30px; margin-bottom: 20px; padding: 23px; border: 1px solid #efc46b; border-radius: var(--radius); background: #fff8e7; box-shadow: var(--shadow); }.credential-grid { display: grid; gap: 8px; }.credential-grid input { background: white; font-family: Consolas, monospace; font-size: 12px; }

label { display: grid; gap: 7px; color: #35504f; font-size: 12px; font-weight: 750; }
input, select, textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #cad8d5; border-radius: 10px; outline: none; color: var(--ink); background: white; transition: border-color .15s, box-shadow .15s; }
textarea { resize: vertical; }.stack-form { display: grid; gap: 16px; }.stack-form label { gap: 8px; }.stack-form input { min-height: 49px; }
input:focus,select:focus,textarea:focus { border-color: var(--mint); box-shadow: 0 0 0 3px rgba(42,157,143,.11); }
input:invalid:not(:placeholder-shown) { border-color: #d56a62; }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; } legend { margin-bottom: 9px; color: #35504f; font-size: 12px; font-weight: 750; }
.form-grid { display: grid; gap: 14px; }.form-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }.form-actions { display: flex; justify-content: flex-end; padding-top: 20px; }
.info-box { padding: 13px 15px; border-radius: 11px; color: #2b6660; background: var(--mint-soft); }
.switch-card { position: relative; display: block; }.switch-card > input { position: absolute; opacity: 0; }.switch-card > span { min-height: 76px; display: grid; align-content: center; gap: 3px; padding: 14px 16px 14px 54px; border: 1px solid var(--line); border-radius: 13px; background: white; }.switch-card > span::before { position: absolute; left: 16px; top: 50%; width: 25px; height: 25px; display: grid; place-items: center; transform: translateY(-50%); border: 2px solid #aebfbc; border-radius: 8px; content: ''; }.switch-card input:checked + span { border-color: var(--mint); background: var(--mint-soft); }.switch-card input:checked + span::before { border-color: var(--mint); color: white; background: var(--mint); content: '✓'; }
dialog { width: min(560px,calc(100% - 28px)); padding: 0; border: 0; border-radius: 20px; color: var(--ink); box-shadow: 0 30px 90px rgba(10,36,35,.3); } dialog::backdrop { background: rgba(8,29,29,.55); backdrop-filter: blur(3px); }.dialog-card { display: grid; gap: 17px; padding: 25px; }.dialog-head { display: flex; justify-content: space-between; }.dialog-head button { width: 36px; height: 36px; border: 0; border-radius: 50%; background: #eef3f1; font-size: 21px; }.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 6px; }

.wizard-shell { min-width: 0; display: grid; grid-template-columns: 270px minmax(0,1fr); border: 1px solid #e1e9e7; border-radius: 22px; background: white; box-shadow: var(--shadow); overflow: hidden; }.wizard-steps { padding: 28px 19px; color: white; background: linear-gradient(160deg,var(--nav-soft),var(--nav)); }.wizard-steps h2 { margin-bottom: 24px; font-size: 21px; }.wizard-steps button { width: 100%; display: flex; align-items: center; gap: 11px; padding: 8px; border: 0; border-radius: 10px; color: #9eb7b4; background: transparent; text-align: left; }.wizard-steps button span { width: 29px; height: 29px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #486664; border-radius: 50%; font-size: 11px; }.wizard-steps button.active { color: white; background: rgba(255,255,255,.08); }.wizard-steps button.active span,.wizard-steps button.done span { border-color: var(--primary); color: white; background: var(--primary); }.wizard-form { min-width: 0; }.wizard-panel { min-width: 0; min-height: 565px; display: none; align-content: start; gap: 18px; padding: clamp(28px,5vw,54px); }.wizard-panel.active { display: grid; }.wizard-panel h2 { margin: 0; font-size: 31px; }.wizard-panel h3 { margin: 10px 0 -8px; }.section-intro { max-width: 670px; margin: -8px 0 5px; color: var(--muted); }.wizard-footer { min-width: 0; min-height: 76px; display: flex; align-items: center; gap: 12px; padding: 14px clamp(28px,5vw,54px); border-top: 1px solid var(--line); }.wizard-footer [data-wizard-progress] { margin: 0 auto; color: var(--muted); font-size: 12px; }.segmented { min-width: 0; display: flex; flex-wrap: wrap; gap: 7px; }.segmented label,.weekday-grid label,.choice-cards label { position: relative; }.segmented label,.weekday-grid label { display: block; }.segmented input,.weekday-grid input,.choice-cards input { position: absolute; opacity: 0; pointer-events: none; }.segmented span,.weekday-grid span { display: block; padding: 9px 13px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font-size: 12px; }.segmented input:checked + span,.weekday-grid input:checked + span { border-color: var(--mint); color: #19796f; background: var(--mint-soft); box-shadow: inset 0 0 0 1px var(--mint); }.weekday-grid { display: grid; grid-template-columns: repeat(7,1fr); gap: 7px; }.weekday-grid span { text-align: center; }.choice-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }.choice-cards label > span { min-height: 90px; display: grid; align-content: center; gap: 4px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: white; }.choice-cards small { font-weight: 400; }.choice-cards input:checked + span { border-color: var(--mint); background: var(--mint-soft); box-shadow: inset 0 0 0 1px var(--mint); }.repeat-list { display: grid; gap: 9px; }.repeat-row { display: grid; grid-template-columns: 1fr 1fr 38px; gap: 8px; align-items: end; }.repeat-row > button { width: 38px; height: 44px; border: 1px solid #efd0ca; border-radius: 9px; color: var(--danger); background: #fff5f3; }.time-row { grid-template-columns: 1fr auto 1fr 38px; }.summary-card { min-height: 210px; padding: 22px; border: 1px solid #b9dcd5; border-radius: 16px; background: #f0f9f6; }.summary-card h3 { font: 700 22px Georgia; }.summary-list { display: grid; gap: 8px; margin-top: 17px; }.summary-list div { display: grid; grid-template-columns: 110px 1fr; gap: 12px; }.summary-list span:first-child { color: var(--muted); }
.catalog-sync-card { display: grid; grid-template-columns: 12px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid #c7dfda; border-radius: 13px; background: #f1f8f6; }.catalog-sync-card strong,.catalog-sync-card small { display: block; }.catalog-sync-card small { margin-top: 2px; }.catalog-sync-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--sand); box-shadow: 0 0 0 4px rgba(233,196,106,.2); }.catalog-sync-card[data-state="completed"] .catalog-sync-dot { background: var(--mint); box-shadow: 0 0 0 4px rgba(42,157,143,.16); }.catalog-sync-card[data-state="failed"] { border-color: #efc3bd; background: #fff5f3; }.catalog-sync-card[data-state="failed"] .catalog-sync-dot { background: var(--danger); box-shadow: 0 0 0 4px rgba(201,75,75,.12); }.catalog-choice-list,.catalog-time-list { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; max-height: 285px; overflow-x: hidden; overflow-y: auto; padding: 2px; }.catalog-choice-list > label,.catalog-time-list > label { position: relative; min-width: 0; display: block; }.catalog-choice-list input,.catalog-time-list input { position: absolute; opacity: 0; pointer-events: none; }.catalog-choice-list span,.catalog-time-list span { min-width: 0; min-height: 68px; display: grid; align-content: center; gap: 2px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: white; overflow-wrap: anywhere; }.catalog-choice-list input:checked + span,.catalog-time-list input:checked + span { border-color: var(--mint); background: var(--mint-soft); box-shadow: inset 0 0 0 1px var(--mint); }.catalog-choice-list small,.catalog-time-list small { font-weight: 400; }
.rule-list { margin: 0; padding: 10px 22px 20px; }.rule-list > div { display: grid; grid-template-columns: 145px 1fr; gap: 15px; padding: 13px 0; border-bottom: 1px solid #edf1ef; }.rule-list dt { color: var(--muted); }.rule-list dd { margin: 0; font-weight: 650; }.rule-list dd small { display: block; font-family: Consolas,monospace; font-weight: 400; }.time-pill { display: inline-block; margin: 2px; padding: 4px 8px; border-radius: 7px; color: #1d746b; background: var(--mint-soft); font-size: 11px; }.time-pill.exclusion { color: #a13d36; background: #ffe8e4; }.health-block { display: grid; gap: 16px; padding: 22px; }.health-block div { padding: 14px; border-radius: 12px; background: #f7f9f8; }.health-block small,.health-block strong { display: block; }.health-block strong { margin-top: 4px; }

.notification-list { display: grid; }.notification-row { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 18px 21px; border-bottom: 1px solid var(--line); }.notification-row.read { opacity: .66; }.notification-symbol { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: #eef2f1; }.notification-symbol.success { color: #17796e; background: var(--mint-soft); }.notification-symbol.critical { color: #a63737; background: #ffe5e3; }.notification-row h3,.notification-row p { margin-bottom: 4px; }.notification-row p { color: var(--muted); }.settings-form { padding: 25px; }.settings-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px 16px; }.settings-grid label span { font-family: Consolas,monospace; font-size: 11px; }.settings-grid small { line-height: 1.35; }
.toast-stack { position: fixed; z-index: 100; right: 20px; bottom: 20px; width: min(380px,calc(100% - 40px)); display: grid; gap: 9px; }.toast { padding: 15px 17px; border: 1px solid #b8d9d3; border-radius: 13px; background: white; box-shadow: 0 18px 50px rgba(10,42,40,.2); animation: toast-in .25s ease-out; }.toast strong,.toast span { display: block; }.toast span { margin-top: 3px; color: var(--muted); font-size: 12px; }@keyframes toast-in { from { transform: translateY(15px); opacity:0; } }

.login-body { min-height: 100vh; display: grid; place-items: center; padding: 28px; background: linear-gradient(135deg,#0e2928 0,#173b39 52%,#f4f0e8 52%,#f7f6f1 100%); }.login-shell { width: min(1060px,100%); min-height: 610px; display: grid; grid-template-columns: 1.15fr .85fr; border: 1px solid rgba(255,255,255,.15); border-radius: 28px; background: white; box-shadow: 0 35px 100px rgba(4,28,27,.3); overflow: hidden; }.login-brand { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px,7vw,80px); color: white; background: radial-gradient(circle at 20% 15%,#28534f,var(--nav) 60%); }.login-brand .brand-mark { margin-bottom: 44px; }.login-brand h1 { max-width: 530px; margin-bottom: 20px; font-size: clamp(36px,4vw,55px); }.login-brand > p:not(.eyebrow) { max-width: 500px; color: #b8ceca; }.login-points { display: grid; gap: 8px; margin-top: 28px; color: #c7d9d6; font-size: 12px; }.login-card { min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 23px; padding: clamp(35px,6vw,68px); }.login-card h2 { font-size: 33px; }.login-card > div > p:last-child { margin-bottom: 0; }.error-card { width: min(520px,100%); padding: 45px; border-radius: 24px; background: white; box-shadow: var(--shadow); text-align: center; }.error-card .brand-mark { margin: 0 auto 20px; }.error-card p:not(.eyebrow) { color: var(--muted); }

.catalog-heading small { display: block; margin-top: 7px; }
.catalog-overview { display: grid; grid-template-columns: repeat(3,minmax(120px,.35fr)) minmax(280px,1.6fr); gap: 12px; margin-bottom: 18px; }
.catalog-overview > article,.catalog-search { min-height: 88px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: var(--shadow); }
.catalog-overview article strong,.catalog-overview article span { display: block; }
.catalog-overview article strong { font: 700 30px Georgia; }
.catalog-overview article span { color: var(--muted); font-size: 12px; }
.catalog-search { align-content: center; }
.catalog-search span { font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.catalog-search input { min-height: 40px; margin-top: 5px; }
.catalog-progress { display: flex; align-items: center; gap: 14px; margin-bottom: 15px; padding: 15px 18px; border: 1px solid #ead9aa; border-radius: 14px; background: #fff8e5; }
.catalog-progress strong,.catalog-progress small { display: block; }
.full-catalog { min-width: 0; display: grid; gap: 11px; }
.catalog-clinic,.catalog-direction { border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: var(--shadow); overflow: hidden; }
.catalog-clinic > summary,.catalog-direction > summary { min-width: 0; display: flex; align-items: center; gap: 13px; padding: 18px 20px; cursor: pointer; list-style: none; }
.catalog-clinic > summary::-webkit-details-marker,.catalog-direction > summary::-webkit-details-marker { display: none; }
.catalog-clinic > summary > span:nth-child(2),.catalog-direction > summary > span:first-child { min-width: 0; flex: 1; }
.catalog-clinic > summary strong,.catalog-clinic > summary small,.catalog-direction > summary strong,.catalog-direction > summary small { display: block; overflow-wrap: anywhere; }
.catalog-clinic > summary small { margin-top: 3px; }
.catalog-clinic-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; color: #17796e; background: var(--mint-soft); font-size: 20px; }
.catalog-clinic[open] .catalog-clinic-icon { color: white; background: var(--mint); }
.catalog-chevron { font-size: 20px; transition: transform .18s; }
.catalog-clinic[open] > summary .catalog-chevron,.catalog-direction[open] > summary .catalog-chevron { transform: rotate(180deg); }
.catalog-clinic-body { display: grid; gap: 10px; padding: 0 18px 18px 69px; }
.catalog-source { margin: 0; color: var(--muted); font-size: 11px; }
.catalog-direction { border-radius: 12px; box-shadow: none; }
.catalog-direction > summary { padding: 13px 15px; }
.catalog-direction > summary small { margin-top: 2px; }
.catalog-doctors { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; padding: 0 13px 13px; }
.catalog-doctors article { min-width: 0; display: grid; gap: 3px; padding: 13px 14px; border-radius: 10px; background: #f6f9f8; }
.catalog-doctors article strong,.catalog-doctors article span,.catalog-doctors article small { overflow-wrap: anywhere; }
.catalog-doctors article span { color: #35504f; font-size: 12px; }

@media (max-width: 1150px) { .catalog-overview { grid-template-columns: repeat(3,1fr); }.catalog-search { grid-column: 1 / -1; } }
@media (max-width: 860px) { .catalog-clinic-body { padding-left: 18px; }.catalog-doctors { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .catalog-heading .inline-form,.catalog-heading .button { width: 100%; }.catalog-overview { min-width: 0; grid-template-columns: minmax(0,1fr); }.catalog-search { min-width: 0; grid-column: auto; }.catalog-clinic > summary { padding: 15px 13px; }.catalog-clinic-icon { width: 36px; height: 36px; }.catalog-chevron { display: none; } }

.booking-proof { overflow: hidden; margin-top: 20px; border-color: rgba(35,146,105,.25); background: linear-gradient(145deg,#f3fbf7,#fff); }
.booking-proof-head { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.booking-proof-head h2 { margin: 2px 0 5px; }
.booking-proof-head p:last-child { margin: 0; color: var(--muted); }
.booking-proof-mark { display: grid; width: 52px; height: 52px; flex: 0 0 52px; place-items: center; border-radius: 50%; color: white; background: #239269; box-shadow: 0 10px 28px rgba(35,146,105,.24); font-size: 25px; font-weight: 800; }
.booking-proof-image { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #eef4f1; }
.booking-proof-image img { display: block; width: 100%; max-height: 780px; object-fit: contain; }

@media (max-width: 1150px) {
    .stats-grid { grid-template-columns: repeat(2,1fr); }.slot-cards { grid-template-columns: 1fr; }.card-grid { grid-template-columns: repeat(2,1fr); }.settings-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 860px) {
    .sidebar { transform: translateX(-100%); transition: transform .2s ease; }.sidebar.open { transform: none; box-shadow: 15px 0 50px rgba(0,0,0,.25); }.app-shell { margin-left: 0; }.menu-button { display: grid; }.topbar { min-height: 76px; }.topbar h1 { font-size: 22px; }.content { padding-top: 20px; }.dashboard-grid,.detail-grid { grid-template-columns: 1fr; }.panel-span-2,.panel-span-3 { grid-column: span 1; }.wizard-shell { grid-template-columns: 1fr; }.wizard-steps { display: flex; gap: 5px; padding: 13px; overflow-x: auto; }.wizard-steps > p,.wizard-steps > h2 { display: none; }.wizard-steps button { width: auto; flex: 0 0 auto; font-size: 0; }.wizard-steps button span { font-size: 11px; }.wizard-panel { min-height: 520px; }.slot-cards.large { grid-template-columns: 1fr; }.credential-card { grid-template-columns: 1fr; }.notification-row { grid-template-columns: 42px 1fr; }.notification-actions { grid-column: 2; }.login-shell { grid-template-columns: 1fr; }.login-brand { display: none; }.login-card { min-height: 550px; }
}
@media (max-width: 600px) {
    .hide-mobile { display: none; }.topbar { padding: 12px 15px; }.topbar .eyebrow { display: none; }.content { padding: 16px 12px 50px; }.stats-grid,.card-grid,.settings-grid,.form-grid.two,.choice-cards,.catalog-choice-list,.catalog-time-list { grid-template-columns: 1fr; }.stat-card { min-height: 105px; }.critical-strip { align-items: flex-start; flex-wrap: wrap; }.critical-strip .button { width: 100%; }.page-heading,.detail-heading { align-items: stretch; flex-direction: column; }.page-heading > .button,.detail-heading .heading-actions { width: 100%; }.task-row.rich { align-items: flex-start; flex-wrap: wrap; }.task-actions { width: 100%; margin-left: 20px; }.task-meta { display: none; }.slot-card { align-items: flex-start; flex-wrap: wrap; }.slot-actions { width: 100%; }.wizard-panel { min-height: 570px; padding: 27px 19px; }.wizard-footer { padding: 12px 16px; }.wizard-footer [data-wizard-progress] { display: none; }.weekday-grid { grid-template-columns: repeat(4,1fr); }.repeat-row { grid-template-columns: 1fr 36px; }.repeat-row input:nth-of-type(2) { grid-column: 1; }.time-row { grid-template-columns: 1fr auto 1fr 36px; }.catalog-sync-card { grid-template-columns: 12px minmax(0,1fr); }.catalog-sync-card .button { grid-column: 1 / -1; }.rule-list > div { grid-template-columns: 1fr; gap: 3px; }.slot-tail { width: 100%; align-items: start; justify-items: start; }.actions-cell { white-space: normal; }.filter-bar > * { flex: 1 1 140px; }.login-body { width: 100%; padding: 12px; overflow-x: hidden; background: var(--nav); }.login-card { width: 100%; padding: 32px 24px; }.login-shell { width: 100%; min-width: 0; min-height: calc(100vh - 24px); border-radius: 20px; }.dialog-card { padding: 20px; }
}
