:root{
  --bg:#f5f5f6;--shell:#0b0f16;--shell-2:#111722;--panel:#171d28;--panel-2:#202733;
  --ink:#f8fafc;--muted:#9aa3b2;--line:rgba(255,255,255,.08);--accent:#8cff00;--accent-rgb:140,255,0;--accent-contrast:#0b0f16;
  --light:#f8f9fb;--dark:#121722;--radius-xl:30px;--radius-lg:22px;--radius-md:16px;
  --action-color:#ff9f43;--action-color:color-mix(in srgb,var(--accent) 32%,#ff9f43 68%);--action-soft:color-mix(in srgb,var(--action-color) 12%,transparent);
  --success-color:#49d98a;--success-soft:rgba(73,217,138,.12);
  --shadow:0 28px 80px rgba(5,8,14,.28)
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);min-height:100vh;padding:24px}
a{color:inherit}.app-shell{min-height:calc(100vh - 48px);max-width:1760px;margin:auto;background:linear-gradient(145deg,#0a0e15,#101722);border:1px solid rgba(255,255,255,.08);border-radius:34px;overflow:hidden;box-shadow:var(--shadow);position:relative}.sidebar{position:fixed;z-index:20;left:44px;top:48px;bottom:48px;width:88px;background:transparent;padding:18px 12px;display:flex;flex-direction:column;align-items:center}.logo{width:52px;height:52px;border-radius:18px;background:var(--accent);color:var(--accent-contrast);text-decoration:none;font-weight:950;display:grid;place-items:center;font-size:18px;letter-spacing:-1px;box-shadow:0 12px 28px rgba(var(--accent-rgb),.18)}.logo span{display:none}.sidebar nav{display:grid;gap:10px;margin-top:40px}.sidebar nav a,.logout{width:48px;height:48px;border-radius:16px;color:#7d8797;text-decoration:none;display:grid;place-items:center;transition:.2s ease;position:relative}.sidebar nav a:hover,.sidebar nav a.active{background:var(--panel-2);color:#fff}.sidebar nav a.active:after{content:"";position:absolute;right:-12px;width:4px;height:20px;background:var(--accent);border-radius:99px}.sidebar svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}.logout{margin-top:auto}.main{margin-left:88px;padding:34px 34px 38px;min-height:calc(100vh - 48px)}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.top-copy{display:block}.eyebrow{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.03em}.top h1{margin:2px 0 0;font-size:38px;line-height:1;letter-spacing:-1.5px}.top-actions{display:flex;align-items:center;gap:10px}.btn{border:1px solid var(--line);background:var(--panel-2);color:#fff;border-radius:15px;padding:12px 17px;text-decoration:none;font-weight:800;cursor:pointer;transition:.18s ease;font:inherit}.btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.18)}.btn.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);box-shadow:0 12px 30px rgba(var(--accent-rgb),.12)}.btn.small{padding:8px 11px;font-size:12px}.grid{display:grid;gap:18px}.grid.metrics{grid-template-columns:repeat(4,1fr)}.grid.two{grid-template-columns:1.25fr 1fr}.card{background:linear-gradient(145deg,rgba(28,35,48,.98),rgba(20,26,36,.98));border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;box-shadow:0 14px 30px rgba(0,0,0,.08)}.card.light{background:var(--light);color:var(--dark);border:none}.hero-card{grid-column:1/-1;padding:28px 30px;background:radial-gradient(circle at 80% 10%,rgba(var(--accent-rgb),.16),transparent 30%),linear-gradient(145deg,#181f2b,#111722);display:grid;grid-template-columns:1.5fr .8fr;gap:24px;align-items:end;min-height:240px}.hero-card h2{font-size:34px;line-height:1.06;letter-spacing:-1.3px;max-width:650px;margin:10px 0 16px}.hero-card p{color:var(--muted);max-width:600px;margin:0}.hero-stat{background:var(--accent);color:var(--accent-contrast);border-radius:24px;padding:24px;min-height:170px;display:flex;flex-direction:column;justify-content:space-between}.hero-stat small{font-weight:850}.hero-stat strong{font-size:42px;letter-spacing:-2px}.hero-stat span{font-size:13px;opacity:.72}.card h2{margin:0 0 18px;font-size:18px;letter-spacing:-.2px}.metric-card{min-height:150px;display:flex;flex-direction:column;justify-content:space-between}.metric-card small{color:var(--muted);font-weight:700}.metric-card strong{display:block;font-size:34px;margin-top:10px;letter-spacing:-1.4px}.metric-card .delta{font-size:11px;color:#b7c0ce}.metric-card.accent{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.metric-card.accent small,.metric-card.accent .delta{color:var(--accent-contrast);opacity:.68}.row{display:grid;grid-template-columns:78px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line);color:inherit;text-decoration:none}.row:first-of-type{border-top:0}.row b{font-size:13px}.row span{font-size:14px}.row em{font-style:normal;color:var(--muted)}.empty,.muted{color:var(--muted)}.stack{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}label{font-size:11px;font-weight:800;color:#aeb7c4;display:grid;gap:7px;text-transform:uppercase;letter-spacing:.04em}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#111722;font:inherit;color:#fff;outline:none;transition:.18s}input:focus,textarea:focus,select:focus{border-color:rgba(var(--accent-rgb),.55);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.08)}textarea{min-height:100px;resize:vertical}select option{background:#111722}.search{display:flex;gap:10px;margin-bottom:16px}.kanban{display:grid;grid-template-columns:repeat(var(--stage-count,7),minmax(265px,1fr));gap:14px;overflow-x:auto;padding-bottom:18px}.column{position:relative;overflow:hidden;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:20px;padding:12px;min-height:65vh}.column:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--stage-color)}.column>header{display:flex;justify-content:space-between;align-items:center;padding:9px 5px 14px}.column h3{font-size:12px;margin:0;text-transform:uppercase;letter-spacing:.04em}.column header>span{background:rgba(var(--stage-rgb),.1);border-radius:99px;padding:4px 9px;font-size:11px;color:var(--stage-color)}.dropzone{min-height:55vh}.lead-card{background:linear-gradient(145deg,#1c2330,#171d27);border:1px solid var(--line);border-radius:17px;padding:16px;margin-bottom:10px;box-shadow:0 8px 18px rgba(0,0,0,.08)}.lead-card:hover{border-color:rgba(var(--stage-rgb),.38)}.lead-card a{color:inherit;text-decoration:none}.lead-card p{font-size:13px;color:#aeb6c3;min-height:35px}.lead-card footer{display:flex;justify-content:space-between;font-size:11px;color:#778293}.lead-card footer strong{color:var(--stage-color)}.table-wrap{overflow:auto;padding:8px 12px 14px;background:var(--light);color:var(--dark)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px 12px;border-bottom:1px solid #e9ebef;vertical-align:top}th{font-size:10px;text-transform:uppercase;color:#7a8390;letter-spacing:.05em}td small{display:block;color:#8a929e;margin-top:4px}.badge{display:inline-block;padding:6px 10px;background:#e8ebef;border-radius:99px;font-size:10px;font-weight:800;color:#232936}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 70% 20%,rgba(var(--accent-rgb),.15),transparent 24%),#090d13}.auth-card{width:min(460px,100%);background:linear-gradient(145deg,#171d28,#101620);border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.auth-card h1{margin:16px 0 8px;font-size:34px}.auth-card .brand-dot{width:48px;height:48px;border-radius:16px;background:var(--accent);display:grid;place-items:center}.auth-card .brand-dot:before{content:"NN";color:var(--accent-contrast);font-weight:950}.notice{padding:12px;border-radius:12px;margin:12px 0}.notice.danger{background:#3b1a1e;color:#ffb6bd}.notice.success{background:rgba(var(--accent-rgb),.1);color:var(--accent)}
@media(max-width:1100px){body{padding:0}.app-shell{border-radius:0;min-height:100vh}.sidebar{left:0;top:0;bottom:0}.main{padding:26px 22px}.grid.metrics{grid-template-columns:1fr 1fr}.grid.two{grid-template-columns:1fr}.hero-card{grid-template-columns:1fr}}
@media(max-width:720px){.sidebar{position:fixed;top:auto;left:12px;right:12px;bottom:12px;width:auto;height:68px;background:rgba(13,18,26,.94);border:1px solid var(--line);border-radius:22px;backdrop-filter:blur(18px);padding:8px 10px;flex-direction:row;justify-content:center;box-shadow:0 18px 40px rgba(0,0,0,.25)}.logo,.logout{display:none}.sidebar nav{display:flex;gap:5px;margin:0}.sidebar nav a{width:48px;height:48px}.sidebar nav a.active:after{right:auto;bottom:-7px;width:18px;height:3px}.main{margin:0;padding:22px 16px 100px}.top h1{font-size:28px}.top .eyebrow{display:none}.top-actions .btn{padding:11px 13px}.grid.metrics{grid-template-columns:1fr 1fr}.hero-card{padding:22px;min-height:auto}.hero-card h2{font-size:28px}.hero-stat{min-height:140px}.form-grid{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(var(--stage-count,7),82vw)}.card{padding:18px}.table-wrap{border-radius:18px}.top{align-items:flex-start}}

/* Scrollbars */
html{scrollbar-width:thin;scrollbar-color:#3c4655 #0c1118}
.kanban,.table-wrap,textarea{scrollbar-width:thin}
.kanban{scrollbar-color:#3c4655 rgba(255,255,255,.035)}
.kanban::-webkit-scrollbar{height:10px}
.kanban::-webkit-scrollbar-track{background:rgba(255,255,255,.035);border-radius:999px}
.kanban::-webkit-scrollbar-thumb{background:#3c4655;border:2px solid #101620;border-radius:999px}
.kanban::-webkit-scrollbar-thumb:hover{background:#596578}
.table-wrap{scrollbar-color:#bbc1ca #eef0f3}
.table-wrap::-webkit-scrollbar{width:9px;height:9px}
.table-wrap::-webkit-scrollbar-track{background:#eef0f3;border-radius:999px}
.table-wrap::-webkit-scrollbar-thumb{background:#bbc1ca;border:2px solid #eef0f3;border-radius:999px}
.table-wrap::-webkit-scrollbar-thumb:hover{background:#929ba8}
textarea::-webkit-scrollbar{width:8px}
textarea::-webkit-scrollbar-track{background:transparent}
textarea::-webkit-scrollbar-thumb{background:#3c4655;border-radius:999px}
::-webkit-scrollbar-corner{background:transparent}
@media(max-width:720px){.kanban{scrollbar-width:none;padding-bottom:10px}.kanban::-webkit-scrollbar{display:none}}

/* Followups action agenda */
.followup-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.followup-kpi{min-height:142px;padding:20px 22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#1a212d,#131923);display:flex;flex-direction:column;justify-content:space-between}
.followup-kpi small{color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.followup-kpi strong{font-size:40px;line-height:1;letter-spacing:-1.5px}
.followup-kpi span{color:#aeb7c4;font-size:12px}
.followup-kpi.urgent{background:linear-gradient(145deg,#351b23,#1b151d);border-color:rgba(255,104,122,.22)}
.followup-kpi.urgent strong{color:#ff7b8b}
.followup-kpi.today{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}
.followup-kpi.today small,.followup-kpi.today span{color:var(--accent-contrast);opacity:.68}
.followup-agenda{display:grid;gap:24px}
.followup-group{border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.025);overflow:hidden}
.followup-group-head{display:flex;align-items:flex-end;justify-content:space-between;padding:20px 22px 16px;border-bottom:1px solid var(--line)}
.followup-group-head>div{display:flex;align-items:center;gap:10px}
.followup-group-head h2{font-size:17px;margin:0}
.followup-group-head b{display:grid;place-items:center;min-width:25px;height:25px;padding:0 8px;border-radius:99px;background:var(--panel-2);font-size:11px;color:#c8d0dc}
.followup-group-head p{margin:0;color:var(--muted);font-size:12px}
.status-dot{width:9px;height:9px;border-radius:50%;background:#647083;box-shadow:0 0 0 5px rgba(100,112,131,.1)}
.followup-group.overdue .status-dot{background:#ff6679;box-shadow:0 0 0 5px rgba(255,102,121,.1)}
.followup-group.today .status-dot{background:var(--accent);box-shadow:0 0 0 5px rgba(var(--accent-rgb),.1)}
.followup-list{display:grid}
.followup-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 22px;border-top:1px solid var(--line);transition:.18s ease}
.followup-item:first-child{border-top:0}
.followup-item:hover{background:rgba(255,255,255,.025)}
.date-tile{width:64px;height:72px;border:1px solid var(--line);border-radius:17px;background:#111722;display:grid;grid-template-rows:16px 28px 15px;align-content:center;place-items:center}
.date-tile small,.date-tile span{font-size:9px;font-weight:850;letter-spacing:.08em;color:#8792a2}
.date-tile strong{font-size:24px;line-height:1}
.date-tile.overdue{background:#29171d;border-color:rgba(255,102,121,.2)}
.date-tile.overdue strong{color:#ff7b8b}
.date-tile.today{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}
.date-tile.today small,.date-tile.today span{color:var(--accent-contrast);opacity:.68}
.followup-copy{min-width:0}
.followup-tags{display:flex;align-items:center;gap:7px;margin-bottom:7px}
.timing-tag,.type-tag{display:inline-flex;align-items:center;padding:5px 8px;border-radius:99px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.timing-tag{background:#222b39;color:#b9c3d1}
.timing-tag.overdue{background:rgba(255,102,121,.12);color:#ff8795}
.timing-tag.today{background:rgba(var(--accent-rgb),.12);color:var(--accent)}
.type-tag{background:rgba(255,255,255,.055);color:#8994a5}
.followup-client{display:inline-block;font-size:17px;font-weight:850;text-decoration:none;letter-spacing:-.2px}
.followup-client:hover{color:var(--accent)}
.followup-copy p{margin:5px 0 0;color:#aab3c1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.followup-actions{display:flex;align-items:center;gap:9px}
.followup-actions form{margin:0}
.contact-btn{background:transparent;color:#cbd3de}
.complete-btn{background:var(--panel-2)}
.complete-btn:hover{border-color:rgba(var(--accent-rgb),.4);color:var(--accent)}
.followup-empty{min-height:360px;border:1px dashed rgba(255,255,255,.12);border-radius:24px;display:grid;place-items:center;align-content:center;text-align:center}
.followup-empty-icon{width:58px;height:58px;border-radius:20px;background:rgba(var(--accent-rgb),.12);color:var(--accent);display:grid;place-items:center;font-size:24px;margin-bottom:14px}
.followup-empty h2{margin:0 0 7px}
.followup-empty p{margin:0;color:var(--muted)}

/* Followups priority workspace */
.followup-command{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;margin-bottom:14px;padding:24px;border:1px solid rgba(var(--accent-rgb),.22);border-radius:26px;background:radial-gradient(circle at 92% 0,rgba(var(--accent-rgb),.13),transparent 35%),linear-gradient(145deg,#1b2330,#121923);box-shadow:0 18px 45px rgba(0,0,0,.16)}
.followup-command.overdue{border-color:rgba(255,102,121,.34);background:radial-gradient(circle at 92% 0,rgba(255,102,121,.13),transparent 36%),linear-gradient(145deg,#241a23,#121820)}
.followup-command.today{border-color:rgba(var(--accent-rgb),.38)}
.followup-command-marker{grid-column:1/-1;display:flex;align-items:center;gap:10px}
.followup-command-marker>span{font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#9da8b8}
.followup-command-marker .timing-tag{margin-left:auto}
.followup-command-body{display:flex;align-items:center;gap:18px;min-width:0}
.followup-command-date{flex:none;width:78px;height:86px;border:1px solid rgba(var(--accent-rgb),.26);border-radius:20px;background:rgba(var(--accent-rgb),.1);display:grid;grid-template-rows:18px 34px 16px;align-content:center;place-items:center}
.followup-command.overdue .followup-command-date{border-color:rgba(255,102,121,.28);background:rgba(255,102,121,.09)}
.followup-command-date small,.followup-command-date span{font-size:9px;font-weight:900;letter-spacing:.09em;color:#98a5b6}
.followup-command-date strong{font-size:30px;line-height:1}
.followup-command.overdue .followup-command-date strong{color:#ff7b8b}
.followup-command-body h2{max-width:760px;margin:5px 0 8px;font-size:clamp(20px,2vw,28px);line-height:1.1;letter-spacing:-.65px}
.followup-command-body a{color:#d4dbe5;font-size:13px;font-weight:850;text-decoration:none}
.followup-command-body a span{color:#7f8b9c;font-weight:650}
.followup-command-body a:hover,.followup-command-body a:hover span{color:var(--accent)}
.followup-command-actions{align-self:end;display:grid;gap:10px;justify-items:end}
.followup-command-actions>small{color:#7e8999;font-size:9px;font-weight:750}
.followup-command-actions>div{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.followup-command-actions form{margin:0}
.followup-priority-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:24px;border:1px solid var(--line);border-radius:18px;background:var(--line);overflow:hidden}
.followup-priority-bar>div{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 10px;padding:13px 16px;background:#151c27}
.followup-priority-bar span{color:#929dad;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.followup-priority-bar strong{grid-row:1/3;grid-column:2;justify-self:end;font-size:23px;line-height:1}
.followup-priority-bar small{color:#6f7a8a;font-size:9px}
.followup-priority-bar>div:first-child.has-items strong{color:#ff7b8b}
.followup-priority-bar>div:nth-child(2).has-items strong{color:var(--accent)}
.followup-priority-bar>div:nth-child(3).has-items strong{color:#ffc66b}
.followup-queue-empty{display:flex;align-items:center;justify-content:center;gap:10px;min-height:90px;padding:20px;border:1px dashed var(--line);border-radius:20px;color:#8793a3}
.followup-queue-empty span{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:rgba(var(--accent-rgb),.1);color:var(--accent);font-weight:900}
.followup-queue-empty p{margin:0;font-size:11px}
@media(max-width:900px){.followup-item{grid-template-columns:64px 1fr}.followup-actions{grid-column:2;justify-content:flex-start}.followup-group-head p{display:none}}
@media(max-width:980px){.followup-command{grid-template-columns:1fr}.followup-command-actions{justify-items:start;align-self:auto}.followup-command-actions>div{justify-content:flex-start}}
@media(max-width:720px){.followup-summary{grid-template-columns:repeat(3,minmax(150px,1fr));overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding-right:16px}.followup-summary::-webkit-scrollbar{display:none}.followup-kpi{min-height:120px}.followup-command{padding:18px;border-radius:22px;gap:17px}.followup-command-body{align-items:flex-start;gap:13px}.followup-command-date{width:62px;height:72px;border-radius:17px;grid-template-rows:15px 27px 14px}.followup-command-date strong{font-size:24px}.followup-command-body h2{font-size:19px}.followup-command-actions{width:100%}.followup-command-actions>small{line-height:1.45}.followup-command-actions>div{display:grid;grid-template-columns:1fr 1fr;width:100%}.followup-command-actions .btn{width:100%;padding:11px 9px;text-align:center}.followup-command-actions form{display:contents}.followup-priority-bar{grid-template-columns:repeat(3,minmax(135px,1fr));overflow-x:auto;scrollbar-width:none;margin-right:-16px}.followup-priority-bar::-webkit-scrollbar{display:none}.followup-group{border-radius:20px}.followup-group-head{padding:17px}.followup-item{grid-template-columns:56px minmax(0,1fr);gap:13px;padding:16px}.date-tile{width:54px;height:65px;border-radius:15px}.date-tile strong{font-size:21px}.followup-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.followup-actions .btn{width:100%;text-align:center}.followup-actions form{display:contents}.followup-copy p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.followup-client{font-size:16px}}

/* Reservation and payment flow */
.reservation-card{background:radial-gradient(circle at 90% 0,rgba(var(--accent-rgb),.08),transparent 32%),linear-gradient(145deg,#1c2330,#141a24)}
.reservation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.reservation-head h2{margin:5px 0 0;font-size:24px}
.reservation-status{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:99px;color:#9ba6b6;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.reservation-status.pending{background:rgba(255,187,76,.1);border-color:rgba(255,187,76,.18);color:#ffc66b}
.reservation-status.success{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.18);color:var(--accent)}
.reservation-status.waived{background:rgba(119,151,255,.1);border-color:rgba(119,151,255,.18);color:#9eb4ff}
.reservation-confirmed,.reservation-pending{display:flex;flex-direction:column;gap:6px;padding:17px;border:1px solid rgba(var(--accent-rgb),.16);border-radius:17px;background:rgba(var(--accent-rgb),.06)}
.reservation-confirmed strong,.reservation-pending strong{font-size:22px;letter-spacing:-.5px}
.reservation-confirmed span,.reservation-pending span{color:#aeb8c6;font-size:12px}
.reservation-confirmed.waived{border-color:rgba(119,151,255,.16);background:rgba(119,151,255,.06)}
.reservation-pending{margin-bottom:15px;border-color:rgba(255,187,76,.16);background:rgba(255,187,76,.06)}
.reservation-form{margin-top:4px}
.confirm-payment{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:12px}
.confirm-payment .btn{min-height:46px}
.reservation-divider{height:30px;display:flex;align-items:center;gap:10px;color:#687487;font-size:10px;text-transform:uppercase}
.reservation-divider:before,.reservation-divider:after{content:"";height:1px;flex:1;background:var(--line)}
.waive-btn{width:100%;background:transparent;color:#9da8b8}
.waive-btn:hover{color:#fff}
.schedule-locked{display:flex;gap:15px;align-items:center;border-style:dashed;background:rgba(255,255,255,.015)}
.schedule-locked h2{margin:0 0 5px}
.schedule-locked p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.lock-icon{flex:0 0 46px;width:46px;height:46px;border-radius:15px;background:#202733;color:#8c97a8;display:grid;place-items:center;font-size:25px}
.schedule-card{border-color:rgba(var(--accent-rgb),.14)}

/* Settings */
.settings-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;align-items:start}
.settings-card{padding:28px}
.settings-card>h2{font-size:25px;margin:7px 0 8px}
.settings-card>p{margin:0 0 24px;max-width:620px;line-height:1.55}
.settings-card textarea{min-height:145px}
.settings-help{background:linear-gradient(145deg,#202836,#151b25)}
.settings-help ol{margin:0;padding-left:20px;color:#c1c9d5}
.settings-help li{padding:0 0 14px 4px;line-height:1.45;font-size:13px}
.settings-help p{margin:8px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:900px){.settings-layout{grid-template-columns:1fr}}
@media(max-width:720px){.sidebar nav{gap:3px}.sidebar nav a{width:40px;height:48px}.reservation-head{align-items:flex-start}.reservation-status{max-width:125px;text-align:center}.confirm-payment{grid-template-columns:1fr}.settings-card{padding:20px}}

/* Home operations */
.home-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:22px;padding:30px;margin-bottom:18px;border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 82% 15%,rgba(var(--accent-rgb),.13),transparent 30%),linear-gradient(145deg,#19212d,#111720);box-shadow:0 16px 38px rgba(0,0,0,.1)}
.home-hero-copy{align-self:center;padding:8px 4px}
.home-hero-copy h2{margin:8px 0 12px;font-size:38px;line-height:1.03;letter-spacing:-1.5px}
.home-hero-copy p{max-width:650px;margin:0;color:#aab4c3;line-height:1.6}
.home-actions{display:flex;gap:10px;margin-top:24px}
.home-focus{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.focus-row,.next-appointment{border:1px solid var(--line);border-radius:19px;background:rgba(9,13,19,.5);padding:16px}
.focus-row{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center}
.focus-icon{width:38px;height:38px;border-radius:13px;background:#222b38;color:#aeb8c6;display:grid;place-items:center}
.focus-row small,.next-appointment small{display:block;color:#8f9aab;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.focus-row strong{display:block;margin-top:3px;font-size:23px}
.focus-row>a{color:#aeb8c6;font-size:10px;font-weight:800;text-decoration:none}
.focus-row>a:hover{color:var(--accent)}
.focus-row.needs-action .focus-icon{background:rgba(255,102,121,.12);color:#ff7b8b}
.next-appointment{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 12px;background:rgba(var(--accent-rgb),.08);border-color:rgba(var(--accent-rgb),.13)}
.next-appointment small{grid-column:1/-1;color:rgba(184,255,98,.7)}
.next-appointment strong{font-size:17px}
.next-appointment span{color:#b5becb;font-size:12px}

/* Monthly calendar */
.calendar-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px}
.calendar-toolbar h2{margin:6px 0 0;font-size:28px;letter-spacing:-.8px}
.calendar-nav{display:flex;align-items:center;gap:8px}
.calendar-nav form{margin:0}
.calendar-nav input[type=month]{min-width:165px;padding:10px 12px;border-radius:13px}
.calendar-arrow{width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:var(--panel-2);display:grid;place-items:center;text-decoration:none;font-size:25px;line-height:1}
.calendar-arrow:hover{border-color:rgba(var(--accent-rgb),.3);color:var(--accent)}
.today-btn{padding:10px 13px}
.calendar-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.calendar-summary section{min-height:95px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#1b222e,#141a24);display:grid;align-content:space-between}
.calendar-summary small{color:#8f9aaa;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.calendar-summary strong{font-size:25px;line-height:1}
.calendar-summary span{color:var(--muted);font-size:10px}
.calendar-shell{border:1px solid var(--line);border-radius:24px;background:#111720;overflow:hidden}
.calendar-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#3c4655 #0c1118}
.calendar-scroll::-webkit-scrollbar{height:9px}
.calendar-scroll::-webkit-scrollbar-track{background:#0c1118}
.calendar-scroll::-webkit-scrollbar-thumb{background:#3c4655;border:2px solid #0c1118;border-radius:99px}
.calendar-weekdays,.calendar-grid{min-width:1050px;display:grid;grid-template-columns:repeat(7,1fr)}
.calendar-weekdays{background:#161d28;border-bottom:1px solid var(--line)}
.calendar-weekdays div{padding:13px 14px;color:#8e99aa;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;border-left:1px solid var(--line)}
.calendar-weekdays div:first-child{border-left:0}
.calendar-day{min-width:0;min-height:158px;padding:10px;border-left:1px solid var(--line);border-top:1px solid var(--line);background:rgba(255,255,255,.012)}
.calendar-day:nth-child(7n+1){border-left:0}
.calendar-day:nth-child(-n+7){border-top:0}
.calendar-day.outside{background:rgba(0,0,0,.1);opacity:.48}
.calendar-day.current{box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.65);background:rgba(var(--accent-rgb),.025)}
.calendar-day.busy{background:rgba(255,187,76,.025)}
.calendar-day>header{height:25px;display:flex;justify-content:space-between;align-items:flex-start}
.calendar-day>header>span{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;color:#aeb7c5;font-size:11px;font-weight:850}
.calendar-day.current>header>span{background:var(--accent);color:var(--accent-contrast)}
.calendar-day>header>b{display:flex;align-items:center;gap:3px;padding:4px 6px;border-radius:99px;background:#242d3a;color:#97a2b3;font-size:8px;text-transform:uppercase}
.calendar-day>header>b em,.calendar-event>span em{font-style:normal}
.day-appointments{display:grid;gap:5px;margin-top:5px}
.calendar-event{display:grid;gap:2px;padding:8px 9px;border-left:3px solid #718096;border-radius:9px;background:#202836;text-decoration:none;min-width:0;transition:.15s ease}
.calendar-event:hover{transform:translateY(-1px);background:#273141}
.calendar-event.confirmada{border-left-color:var(--accent)}
.calendar-event.tentativa{border-left-color:#ffc66b}
.calendar-event.cancelada{opacity:.5;border-left-color:#ff7b8b}
.calendar-event>span{color:#9ca7b7;font-size:8px;font-weight:850;text-transform:uppercase}
.calendar-event>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.calendar-event>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#828e9f;font-size:8px}

.followup-actions{flex-wrap:wrap;justify-content:flex-end}
.instagram-btn{white-space:nowrap}
@media(max-width:1100px){.home-hero{grid-template-columns:1fr}.home-focus{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.home-hero{padding:20px;border-radius:22px}.home-hero-copy h2{font-size:30px}.home-actions{display:grid;grid-template-columns:1fr 1fr}.home-actions .btn{text-align:center;padding:11px 8px}.home-focus{grid-template-columns:1fr}.focus-row,.next-appointment{grid-column:1}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-nav{width:100%;display:grid;grid-template-columns:42px 1fr 42px}.calendar-nav form{grid-column:2}.calendar-nav input[type=month]{width:100%}.calendar-nav .today-btn{display:none}.calendar-summary{grid-template-columns:repeat(3,minmax(135px,1fr));overflow-x:auto;margin-right:-16px;padding-right:16px;scrollbar-width:none}.calendar-summary::-webkit-scrollbar{display:none}.calendar-shell{border-radius:20px}.calendar-weekdays,.calendar-grid{min-width:910px}.calendar-day{min-height:145px}.followup-actions{justify-content:stretch}.followup-actions .instagram-btn{width:100%}}

/* Custom branding and full settings */
.logo{overflow:hidden}
.logo .brand-initials{display:block}
.logo img{width:100%;height:100%;object-fit:cover}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.settings-notice{margin:0 0 18px}
.settings-card{min-height:100%}
.settings-card>h2{font-size:23px;margin:7px 0 8px}
.settings-card>p{margin:0 0 22px;line-height:1.5}
.branding-settings,.payment-settings{grid-column:1/-1}
.branding-settings{display:grid;grid-template-columns:minmax(0,.75fr) minmax(360px,1.25fr);gap:24px}
.branding-settings>.eyebrow,.branding-settings>h2,.branding-settings>p{grid-column:1}
.branding-settings>form{grid-column:2;grid-row:1/5}
.brand-preview{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.brand-preview-icon{width:54px;height:54px;flex:0 0 54px;border-radius:17px;background:var(--accent);color:var(--accent-contrast);display:grid;place-items:center;font-size:17px;font-weight:950;overflow:hidden}
.brand-preview-icon img{width:100%;height:100%;object-fit:cover}
.brand-preview>div:last-child{display:grid;gap:4px}
.brand-preview strong{font-size:16px}
.brand-preview small{color:var(--muted);font-size:10px}
.field-help{display:block;margin-top:-5px;color:#778395;font-size:10px;line-height:1.4}
input[type=file]{padding:9px;font-size:11px;color:#919cad}
input[type=file]::file-selector-button{border:0;border-radius:9px;padding:8px 10px;margin-right:9px;background:#27303d;color:#fff;font-weight:750;cursor:pointer}
.auth-card .brand-dot:before{content:none}
.auth-card .brand-dot{overflow:hidden;color:var(--accent-contrast);font-weight:950}
.auth-card .brand-dot img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.branding-settings,.payment-settings{grid-column:1}.branding-settings{display:block}.branding-settings>form{margin-top:20px}.brand-preview{margin-top:18px}}

/* Compact action dashboard */
.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.dashboard-kpi{min-height:136px;padding:20px 22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#1a212c,#141a23);display:flex;flex-direction:column;justify-content:space-between}
.dashboard-kpi small{color:#929dac;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.dashboard-kpi strong{font-size:31px;line-height:1;letter-spacing:-.8px}
.dashboard-kpi span{color:#8e99aa;font-size:11px}
.dashboard-kpi.accent{border-color:transparent;background:var(--accent);color:var(--accent-contrast);box-shadow:0 18px 34px rgba(var(--accent-rgb),.12)}
.dashboard-kpi.accent small,.dashboard-kpi.accent span{color:var(--accent-contrast);opacity:.68}
.dashboard-kpi.warning{border-color:rgba(255,190,82,.3);background:linear-gradient(145deg,rgba(255,190,82,.12),#171c25)}
.dashboard-workspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:18px;align-items:start}
.dashboard-agenda,.dashboard-priorities{padding:24px;min-height:420px}
.dashboard-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.dashboard-section-head h2{margin:5px 0 0;font-size:24px;letter-spacing:-.5px}
.dashboard-section-head .btn{flex:0 0 auto}
.today-list,.priority-list{display:grid;gap:9px}
.today-appointment{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:#171e28;text-decoration:none;transition:.16s ease}
.today-appointment:hover,.priority-item:hover{border-color:rgba(var(--accent-rgb),.28);background:#1d2531;transform:translateY(-1px)}
.appointment-time{min-height:48px;border-radius:13px;background:#252e3b;display:grid;place-items:center;align-content:center;font-size:15px;font-weight:900}
.appointment-time small{color:#8f9aaa;font-size:8px;text-transform:uppercase}
.today-appointment>div:nth-child(2){min-width:0;display:grid;gap:4px}
.today-appointment strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.today-appointment span{color:#909bad;font-size:10px}
.today-appointment em{color:#abb5c4;font-size:10px;font-style:normal;white-space:nowrap}
.dashboard-empty{min-height:280px;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted)}
.dashboard-empty>div{width:50px;height:50px;margin-bottom:13px;border:1px solid var(--line);border-radius:17px;background:#202834;color:#a6b0bf;display:grid;place-items:center;font-size:22px}
.dashboard-empty strong{margin-bottom:7px;color:#f7f9fb;font-size:17px}
.dashboard-empty span{max-width:410px;font-size:11px;line-height:1.5}
.dashboard-empty.compact{min-height:275px}
.dashboard-empty.compact>div{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.16);color:var(--accent)}
.priority-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:#171e28;text-decoration:none;transition:.16s ease}
.priority-item>span{padding:6px 8px;border-radius:99px;background:#272f3b;color:#a8b1bf;font-size:8px;font-weight:900;text-transform:uppercase}
.priority-item.deposit>span{background:rgba(255,190,82,.12);color:#ffd184}
.priority-item.followup>span{background:rgba(var(--accent-rgb),.1);color:var(--accent)}
.priority-item>div{min-width:0;display:grid;gap:4px}
.priority-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.priority-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8e99aa;font-size:10px}
.priority-item b{color:#aeb8c6;font-size:9px}
.priority-date{min-width:68px;padding-left:12px;border-left:1px solid var(--line);display:grid;gap:3px;text-align:right;font-style:normal}
.priority-date strong{font-size:10px;letter-spacing:.03em;white-space:nowrap}
.priority-date small{color:#8e99aa;font-size:8px;font-weight:800;text-transform:uppercase}
.priority-date.today strong,.priority-date.today small{color:var(--accent)}
.priority-date.overdue strong,.priority-date.overdue small{color:#ff7b8b}
.priority-date.upcoming strong{color:#dce3ec}
.priority-date.unscheduled strong,.priority-date.unscheduled small{color:#ffc66b}

/* Editable customer message library */
.message-settings{grid-column:1/-1}
.message-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.message-settings-head h2{margin:6px 0 8px;font-size:26px;letter-spacing:-.5px}
.message-settings-head p{max-width:710px;margin:0;line-height:1.55}
.template-variables{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:320px}
.template-variables span{padding:7px 10px;border:1px solid rgba(var(--accent-rgb),.17);border-radius:99px;background:rgba(var(--accent-rgb),.07);color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:800}
.message-automation-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid rgba(var(--accent-rgb),.18);border-radius:16px;background:rgba(var(--accent-rgb),.055)}
.message-automation-notice strong{color:#f4f7fa;font-size:13px}.message-automation-notice span{max-width:660px;color:#9aa5b5;font-size:11px;line-height:1.5;text-align:right}
.message-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.message-template-field{display:grid;align-content:start;gap:14px;min-width:0;padding:17px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.018);text-transform:none;transition:border-color .2s,background .2s,opacity .2s}
.message-template-field.active{border-color:rgba(var(--accent-rgb),.18);background:linear-gradient(145deg,rgba(var(--accent-rgb),.045),rgba(255,255,255,.012))}
.message-template-field.inactive{opacity:.68}.message-template-field.inactive .message-rule-trigger{filter:saturate(.3)}
.message-rule-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.message-rule-header>div{min-width:0}.message-rule-header>div>strong{display:block;color:#f4f7fa;font-size:14px}.message-rule-header>div>small{display:block;min-height:30px;margin-top:5px;color:#818d9e;font-size:10px;font-weight:500;line-height:1.45}
.message-rule-switch{display:flex;align-items:center;gap:7px;flex:0 0 auto;cursor:pointer;text-transform:none}
.message-rule-switch input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.message-rule-switch>span{position:relative;width:36px;height:21px;border:1px solid #394454;border-radius:99px;background:#121925;transition:.2s}
.message-rule-switch>span:after{content:"";position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:#7f8a99;transition:.2s}
.message-rule-switch input:checked+span{border-color:rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.17)}
.message-rule-switch input:checked+span:after{left:18px;background:var(--accent)}
.message-rule-switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.message-rule-switch b{min-width:47px;color:#8c97a7;font-size:9px;text-transform:uppercase}.message-rule-switch input:checked~b{color:var(--accent)}
.message-rule-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #2a3443;border-radius:13px;background:#101722}
.message-rule-trigger>span,.message-rule-copy>span{color:#778395;font-size:8px;font-weight:900;letter-spacing:.06em}
.message-rule-trigger>strong{color:#d9e0e8;font-size:11px}
.message-rule-trigger label{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0;text-transform:none}.message-rule-trigger input{width:70px;height:36px;margin:0;padding:7px 9px;text-align:center}.message-rule-trigger b{max-width:180px;color:#c3ccd7;font-size:10px;line-height:1.3}
.message-rule-copy{display:grid;gap:8px;margin:0;text-transform:none}.message-rule-copy textarea{min-height:165px;margin:0;resize:vertical;font-size:12px;line-height:1.55;text-transform:none}
.message-rules-save{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid #313b4a;border-radius:16px;background:rgba(15,21,31,.94);box-shadow:0 14px 38px rgba(0,0,0,.35);backdrop-filter:blur(14px)}
.message-rules-save>div{display:grid;gap:2px}.message-rules-save strong{font-size:12px}.message-rules-save span{color:#8995a5;font-size:9px}.message-rules-save .btn{min-width:270px}
.reset-messages{margin-top:9px}
.reset-messages .btn{background:transparent;color:#919cad}
.message-rule-disabled{margin:0;padding:11px 12px;border:1px solid rgba(255,198,107,.25);border-radius:12px;background:rgba(255,198,107,.07);color:#ffc66b;font-size:10px;line-height:1.45}
.booking-mode-options .booking-mode-disabled{cursor:not-allowed;opacity:.5}

@media(max-width:1100px){
 .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dashboard-workspace{grid-template-columns:1fr}
 .dashboard-agenda,.dashboard-priorities{min-height:0}
 .dashboard-empty,.dashboard-empty.compact{min-height:210px}
}
@media(max-width:720px){
 .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .dashboard-kpi{min-height:120px;padding:16px;border-radius:18px}
 .dashboard-kpi strong{font-size:25px}
 .dashboard-kpi span{font-size:9px}
 .dashboard-agenda,.dashboard-priorities{padding:18px}
 .dashboard-section-head{align-items:flex-start}
 .today-appointment{grid-template-columns:58px minmax(0,1fr)}
 .today-appointment em{grid-column:2}
 .priority-item{grid-template-columns:auto minmax(0,1fr) auto}
 .priority-date{grid-column:3;grid-row:1/3}
 .priority-item b{grid-column:2}
 .message-settings-head{display:block}
 .template-variables{justify-content:flex-start;max-width:none;margin-top:14px}
 .message-template-grid{grid-template-columns:1fr}
 .message-template-field textarea{min-height:145px}
 .message-automation-notice,.message-rules-save{align-items:flex-start;flex-direction:column}.message-automation-notice span{text-align:left}.message-rules-save .btn{width:100%;min-width:0}
}

/* Communication channels and visible native date pickers */
.communication-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.communication-actions .btn{min-height:46px;padding:11px 13px;text-align:center}
.instagram-action{border-color:rgba(214,105,255,.24);background:linear-gradient(135deg,rgba(161,78,255,.16),rgba(255,74,147,.12));color:#f4eaff}
.instagram-action:hover{border-color:rgba(214,105,255,.48);background:linear-gradient(135deg,rgba(161,78,255,.24),rgba(255,74,147,.18))}
.channel-action:disabled{cursor:not-allowed;opacity:.38;filter:saturate(.35)}
.communication-help{display:block;margin-top:-2px;color:#7f8b9d;font-size:10px;line-height:1.45}
.date-input-control{position:relative;width:100%}
.date-input-control input{width:100%;padding-right:54px;color-scheme:dark}
.date-picker-button{position:absolute;top:6px;right:6px;width:38px;height:calc(100% - 12px);min-height:34px;padding:0;border:1px solid rgba(var(--accent-rgb),.17);border-radius:11px;background:rgba(var(--accent-rgb),.08);color:var(--accent);display:grid;place-items:center;cursor:pointer}
.date-picker-button:hover{background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.34)}
.date-picker-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}
.date-input-control input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;opacity:0;cursor:pointer}
.month-input-control{min-width:190px}
.month-input-control input{min-width:190px}
@media(max-width:720px){.communication-actions{grid-template-columns:1fr}}

/* Followup archive */
.followup-view-tabs{display:flex;gap:7px;margin-bottom:18px;padding:5px;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:16px;background:#111722}
.followup-view-tabs a{display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:11px;color:#8f9aaa;text-decoration:none;font-size:12px;font-weight:800}
.followup-view-tabs a span{min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:#252d39;display:grid;place-items:center;font-size:9px}
.followup-view-tabs a.active{background:#252d39;color:#fff}
.followup-view-tabs a.active span{background:var(--accent);color:var(--accent-contrast)}
.completed-followup-card{border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.025);overflow:hidden}
.completed-followup-card>header{display:flex;align-items:flex-end;justify-content:space-between;padding:22px;border-bottom:1px solid var(--line)}
.completed-followup-card>header h2{margin:5px 0 0}
.completed-followup-card>header p{margin:0;color:var(--muted);font-size:11px}
.completed-followup-list{display:grid}
.completed-followup-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:15px;align-items:center;padding:17px 22px;border-top:1px solid var(--line)}
.completed-followup-item:first-child{border-top:0}
.completion-check{width:42px;height:42px;border-radius:14px;background:rgba(var(--accent-rgb),.1);color:var(--accent);display:grid;place-items:center;font-weight:900}
.completed-followup-copy{min-width:0}
.completed-followup-copy>div{display:flex;align-items:center;gap:9px}
.completed-followup-copy a{font-size:14px;font-weight:850;text-decoration:none}
.completed-followup-copy a:hover{color:var(--accent)}
.completed-followup-copy p{margin:6px 0 0;color:#9ca7b7;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.completed-followup-item dl{display:flex;gap:20px;margin:0}
.completed-followup-item dl div{display:grid;gap:4px;min-width:100px}
.completed-followup-item dt{color:#788496;font-size:8px;font-weight:850;text-transform:uppercase}
.completed-followup-item dd{margin:0;font-size:10px;font-weight:750;white-space:nowrap}

/* Body map and tattoo history */
.appointment-body-selector{padding:14px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.018)}
.appointment-body-selector>.eyebrow{display:block;margin-bottom:10px;font-size:9px}
.body-map{min-width:0}
.body-map-figures{display:flex;justify-content:center;gap:18px}
.body-figure{position:relative;width:min(145px,42%);padding-top:23px}
.body-view-label{position:absolute;top:0;left:0;right:0;color:#7f8a9b;font-size:8px;font-weight:850;text-align:center;text-transform:uppercase;letter-spacing:.08em}
.body-silhouette{display:block;width:100%;height:auto;fill:#293240;stroke:#4a5668;stroke-width:1.25}
.body-zone-point{position:absolute;left:var(--x);top:var(--y);z-index:2;width:17px;height:17px;padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);display:grid;place-items:center}
button.body-zone-point{cursor:pointer}
.body-zone-point i{width:9px;height:9px;border:2px solid #7c899b;border-radius:50%;background:#141a23;display:grid;place-items:center;color:#0b0f16;font-size:8px;font-style:normal;font-weight:950;box-shadow:0 0 0 3px rgba(12,17,24,.62);transition:.16s ease}
button.body-zone-point:hover i,button.body-zone-point:focus i{border-color:var(--accent);transform:scale(1.35)}
.body-zone-point.selected i,.body-zone-point.realized i{width:13px;height:13px;border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.14)}
.body-zone-point.scheduled i{width:13px;height:13px;border-color:#ffc66b;background:#ffc66b;box-shadow:0 0 0 4px rgba(255,198,107,.13)}
.body-zone-selection{display:grid;gap:4px;margin-top:9px;padding:12px;border-radius:13px;background:#111722;text-align:center}
.body-zone-selection span{color:#7f8b9c;font-size:8px;font-weight:850;text-transform:uppercase}
.body-zone-selection strong{font-size:12px}
.body-zone-selection small{color:#717d8f;font-size:9px}
.tattoo-history-card{margin-top:18px;padding:26px}
.tattoo-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.tattoo-history-head h2{margin:5px 0 7px;font-size:25px}
.tattoo-history-head p{margin:0}
.history-count{padding:8px 11px;border:1px solid var(--line);border-radius:99px;color:#99a4b4;font-size:10px;font-weight:850;white-space:nowrap}
.tattoo-history-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:18px}
.body-history-panel{min-height:500px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#111722}
.body-map-history .body-figure{width:min(175px,44%)}
.body-map-legend{display:flex;justify-content:center;gap:18px;margin-top:15px;color:#8995a5;font-size:9px;font-weight:750}
.body-map-legend span{display:flex;align-items:center;gap:6px}
.body-map-legend i{width:8px;height:8px;border-radius:50%;background:#ffc66b}
.body-map-legend i.realized{background:var(--accent)}
.body-map-empty{margin:18px auto 0;max-width:250px;color:#748092;font-size:10px;line-height:1.45;text-align:center}
.appointment-history{display:grid;align-content:start;gap:9px}
.appointment-history-empty{min-height:300px;border:1px dashed var(--line);border-radius:20px;display:grid;place-items:center;align-content:center;text-align:center}
.appointment-history-empty strong{font-size:16px}
.appointment-history-empty span{margin-top:5px;color:var(--muted);font-size:10px}
.appointment-history-item{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:14px;align-items:start;padding:15px;border:1px solid var(--line);border-radius:18px;background:#171e28}
.appointment-history-item.realizada{border-color:rgba(var(--accent-rgb),.16)}
.appointment-history-item.cancelada{opacity:.55}
.appointment-history-date{width:58px;min-height:72px;border-radius:15px;background:#242d39;display:grid;place-items:center;align-content:center}
.appointment-history-date strong{font-size:22px;line-height:1}
.appointment-history-date span{margin-top:3px;color:#a9b3c1;font-size:9px;font-weight:900}
.appointment-history-date small{color:#687587;font-size:8px}
.appointment-history-copy{min-width:0}
.appointment-history-tags{display:flex;align-items:center;gap:7px}
.appointment-history-tags span,.appointment-history-tags b{padding:5px 7px;border-radius:99px;background:#28313e;color:#9ca7b7;font-size:8px;text-transform:uppercase}
.appointment-history-tags b{background:rgba(var(--accent-rgb),.08);color:var(--accent);font-weight:800}
.appointment-history-copy h3{margin:8px 0 4px;font-size:14px}
.appointment-history-copy>p{margin:0;color:#8d99aa;font-size:10px}
.appointment-edit{margin-top:10px}
.appointment-edit summary{width:max-content;color:#8e99aa;font-size:9px;font-weight:800;cursor:pointer}
.appointment-edit form{margin-top:11px;padding:12px;border-radius:13px;background:#111722}
.mark-realized-form{align-self:center}
.mark-realized-form .btn{white-space:nowrap;background:rgba(var(--accent-rgb),.08);color:var(--accent)}

@media(max-width:1000px){
 .tattoo-history-layout{grid-template-columns:1fr}
 .body-history-panel{min-height:0}
 .body-map-history .body-figure{width:min(180px,42%)}
 .completed-followup-item{grid-template-columns:44px minmax(0,1fr)}
 .completed-followup-item dl{grid-column:2}
}
@media(max-width:720px){
 .completed-followup-card>header{display:block}
 .completed-followup-card>header p{margin-top:8px}
 .completed-followup-item{padding:15px;grid-template-columns:38px minmax(0,1fr)}
 .completion-check{width:38px;height:38px}
 .completed-followup-item dl{grid-column:1/-1;justify-content:space-between;padding-left:53px;gap:10px}
 .tattoo-history-card{padding:18px}
 .tattoo-history-head{display:block}
 .history-count{display:inline-flex;margin-top:12px}
 .body-history-panel{padding:13px}
 .body-map-figures{gap:8px}
 .appointment-history-item{grid-template-columns:52px minmax(0,1fr)}
 .appointment-history-date{width:50px}
 .mark-realized-form{grid-column:2}
 .mark-realized-form .btn{width:100%}
}

/* Client workspace navigation */
.client-tabs{display:flex;gap:7px;width:max-content;max-width:100%;margin-bottom:18px;padding:5px;border:1px solid var(--line);border-radius:17px;background:#111722;overflow-x:auto;scrollbar-width:none}
.client-tabs::-webkit-scrollbar{display:none}
.client-tabs a{padding:11px 16px;border-radius:12px;color:#8f9aaa;text-decoration:none;font-size:12px;font-weight:850;white-space:nowrap}
.client-tabs a:hover{color:#fff}
.client-tabs a.active{background:var(--accent);color:var(--accent-contrast);box-shadow:0 8px 24px rgba(var(--accent-rgb),.12)}
.client-tabs + .client-workspace{grid-template-columns:1fr}
[data-client-panel][hidden]{display:none!important}
.client-tabs + .client-workspace>.stack{min-width:0}
.client-tabs + .client-workspace .reservation-card,.client-tabs + .client-workspace .schedule-card,.client-tabs + .client-workspace .schedule-locked,.client-tabs + .client-workspace [data-client-panel="followups"]{width:100%}
@media(max-width:720px){.client-tabs{width:calc(100% + 16px);margin-right:-16px;border-radius:15px 0 0 15px}.client-tabs a{padding:10px 13px}}

/* Brand color and aftercare settings */
.brand-color-control{display:grid;grid-template-columns:54px 120px 1fr;gap:9px;align-items:center}
.brand-color-control input[type=color]{height:48px;padding:5px;cursor:pointer}
.brand-color-control input[readonly]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center}
.brand-color-control span{height:11px;border-radius:99px;background:var(--preview-color);box-shadow:0 0 24px color-mix(in srgb,var(--preview-color) 42%,transparent)}
.aftercare-settings{grid-column:1/-1}
.aftercare-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.aftercare-settings-head h2{margin:6px 0 8px;font-size:26px}
.aftercare-settings-head p{max-width:750px;margin:0;line-height:1.55}
.aftercare-editor{min-height:330px!important;line-height:1.6;text-transform:none}
.aftercare-actions{display:flex;flex-wrap:wrap;gap:9px}
.social-share-setting{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:18px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:18px;background:#111722}
.social-share-setting>img{display:block;width:100%;aspect-ratio:1200/630;object-fit:cover;border:1px solid var(--line);border-radius:13px;background:#0b1018}
.social-share-setting>div{display:grid;gap:9px}.social-share-setting strong{font-size:17px}.social-share-setting p{margin:0;color:var(--muted);line-height:1.5}.social-share-setting label{margin:0}.social-share-reset{display:flex!important;align-items:center;gap:9px;color:var(--muted);font-size:12px}.social-share-reset input{width:auto}
@media(max-width:720px){.brand-color-control{grid-template-columns:54px 1fr}.brand-color-control span{grid-column:1/-1}.aftercare-settings-head{display:block}.aftercare-settings-head .btn{display:inline-block;margin-top:16px}.aftercare-editor{min-height:390px!important}}
@media(max-width:820px){.social-share-setting{grid-template-columns:1fr}}

/* Public aftercare guide */
.aftercare-public{min-height:100vh;padding:28px;background:radial-gradient(circle at 80% 8%,rgba(var(--accent-rgb),.14),transparent 27%),#090d13;color:var(--ink)}
.aftercare-public-shell{width:min(920px,100%);margin:0 auto}
.aftercare-public-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px;color:#fff;text-decoration:none}
.aftercare-public-brand .brand-preview-icon{width:48px;height:48px;flex-basis:48px}
.aftercare-public-brand strong{font-size:15px}
.aftercare-public-card{padding:clamp(24px,5vw,56px);border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,#1b2230,#111722);box-shadow:var(--shadow)}
.aftercare-public-card .eyebrow{color:var(--accent)}
.aftercare-public-card h1{max-width:700px;margin:10px 0 16px;font-size:clamp(34px,7vw,58px);line-height:1;letter-spacing:-2px}
.aftercare-public-intro{max-width:700px;margin:0 0 30px;color:#aeb7c5;font-size:15px;line-height:1.6}
.aftercare-public-content{padding:24px;border:1px solid var(--line);border-radius:22px;background:#111722;color:#d9dfe7;font-size:14px;line-height:1.75;white-space:pre-line}
.aftercare-public-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.aftercare-public-note{margin:18px 0 0;color:#7e899a;font-size:11px;line-height:1.5}
@media(max-width:720px){.aftercare-public{padding:16px}.aftercare-public-card{border-radius:24px}.aftercare-public-content{padding:18px}}

/* Client data versus appointment data */
.client-section-intro{margin-bottom:22px}
.client-section-intro h2,.appointment-form-head h2{margin:6px 0 8px;font-size:25px}
.client-section-intro p,.appointment-form-head p{max-width:760px;margin:0;line-height:1.55}
.client-information-card .form-grid{max-width:1050px}
.reservation-reconsider{margin-top:12px}
.reservation-reconsider .btn{width:100%;background:transparent;color:#aab4c3}
.reservation-reconsider .btn:hover{border-color:rgba(var(--accent-rgb),.28);color:var(--accent)}
.appointment-form-head{margin-bottom:4px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.schedule-card textarea[name=tattoo_description]{min-height:92px}
.appointment-budget{display:block;margin-top:6px;color:#8591a2;font-size:9px}
.appointment-edit textarea{min-height:78px}
.appointment-edit .form-grid{gap:10px}
@media(max-width:720px){
 .client-section-intro h2,.appointment-form-head h2{font-size:22px}
 .appointment-history-tags{flex-wrap:wrap}
}

/* Appointment-first UX */
.top-action-short{display:none}
.new-lead-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;align-items:start}
.creation-context{position:sticky;top:24px;padding:28px;background:radial-gradient(circle at 100% 0,rgba(var(--accent-rgb),.12),transparent 38%),linear-gradient(145deg,#1d2532,#131923)}
.creation-context h2{margin:18px 0 9px;font-size:26px}
.creation-context p{margin:0 0 22px;color:#a3aebd;line-height:1.6}
.creation-step{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;background:var(--accent);color:var(--accent-contrast);font-size:14px;font-weight:950;box-shadow:0 10px 24px rgba(var(--accent-rgb),.12)}
.empty-state-card{min-height:300px;display:grid;place-items:center;align-content:center;text-align:center}
.client-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:24px 26px;border:1px solid var(--line);border-radius:26px;background:radial-gradient(circle at 90% 0,rgba(var(--accent-rgb),.11),transparent 30%),linear-gradient(145deg,#19212d,#111722)}
.client-profile-identity{display:flex;align-items:center;gap:16px}
.client-profile-avatar{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:20px;background:var(--accent);color:var(--accent-contrast);font-size:22px;font-weight:950}
.client-profile-identity h2{margin:4px 0 6px;font-size:30px;letter-spacing:-.8px}
.client-profile-identity p{margin:0;color:#9ba6b6;font-size:12px}
.client-profile-actions{display:flex;gap:9px}
.client-tabs a{display:flex;align-items:center;gap:7px}
.client-tabs a span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:rgba(255,255,255,.06);font-size:9px}
.client-tabs a.active span{background:rgba(0,0,0,.13)}
.client-panels{min-width:0}
.client-overview{display:grid;gap:18px}
.reservation-progress-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid rgba(255,196,92,.22);border-radius:20px;background:linear-gradient(145deg,rgba(70,48,20,.48),rgba(30,27,24,.65));color:inherit;text-decoration:none}
.reservation-progress-card>div{display:grid;gap:4px}
.reservation-progress-card strong{font-size:16px}
.reservation-progress-card small{color:#a7afba}
.reservation-progress-card>b{color:#ffc66b;font-size:12px;white-space:nowrap}
.client-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.client-panel-head h2{margin:5px 0 6px;font-size:25px}
.client-panel-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.active-appointment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.active-appointment-card{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px;border:1px solid var(--line);border-radius:19px;background:#111722;color:inherit;text-decoration:none;transition:.18s ease}
.active-appointment-card:hover{transform:translateY(-2px);border-color:rgba(var(--accent-rgb),.26);background:#151d29}
.active-appointment-card time{display:grid;place-items:center;align-content:center;width:58px;height:72px;border-radius:16px;background:#242d39}
.active-appointment-card time strong{font-size:22px;line-height:1}
.active-appointment-card time span{margin-top:3px;color:#a9b3c1;font-size:9px;font-weight:900}
.active-appointment-card time small{color:#687587;font-size:8px}
.active-appointment-card h3{margin:7px 0 4px;font-size:15px}
.active-appointment-card p{margin:0;color:#8d99aa;font-size:10px}
.active-appointment-card>b{color:var(--accent);font-size:10px;white-space:nowrap}
.appointment-state{display:inline-flex;width:max-content;padding:5px 8px;border-radius:99px;background:#28313e;color:#aab4c3;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.appointment-state.confirmada{background:rgba(var(--accent-rgb),.1);color:var(--accent)}
.appointment-state.tentativa{background:rgba(255,198,107,.1);color:#ffc66b}
.appointment-state.realizada{background:rgba(112,169,255,.11);color:#9fc6ff}
.appointment-state.cancelada{background:rgba(255,123,139,.1);color:#ff8f9c}
.appointment-overview-empty{min-height:220px;border:1px dashed var(--line);border-radius:20px;display:grid;place-items:center;align-content:center;text-align:center}
.appointment-overview-empty>div{font-size:27px;color:#768294}
.appointment-overview-empty strong{margin-top:8px;font-size:17px}
.appointment-overview-empty span{margin:5px 0 14px;color:var(--muted);font-size:11px}
.recent-appointment-card{display:flex;align-items:center;justify-content:space-between;gap:18px}
.recent-appointment-card h2{margin:6px 0 5px}
.recent-appointment-card p{margin:0;color:var(--muted);font-size:11px}
.client-followup-panel{max-width:900px}
.appointment-history-open{align-self:center;white-space:nowrap}

/* Client selection for a new appointment */
.appointment-client-picker{padding:clamp(22px,4vw,42px);border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 85% 0,rgba(var(--accent-rgb),.09),transparent 28%),linear-gradient(145deg,#19212d,#111722)}
.appointment-client-picker>header{display:flex;align-items:flex-start;gap:16px;max-width:780px;margin-bottom:30px}
.appointment-client-picker h2{margin:5px 0 8px;font-size:32px}
.appointment-client-picker header p{margin:0;color:var(--muted);line-height:1.55}
.client-picker-actions{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:16px;align-items:stretch}
.client-live-search,.new-client-choice{padding:22px;border:1px solid var(--line);border-radius:22px;background:rgba(10,14,21,.58)}
.client-search-input{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;margin-top:9px;border:1px solid var(--line);border-radius:16px;background:#111722;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}
.client-search-input:focus-within{border-color:rgba(var(--accent-rgb),.7);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.08)}
.client-search-input>span{display:grid;place-items:center;width:48px;height:100%;min-height:50px;padding:0;color:#788496;font-size:22px;pointer-events:none;transition:color .18s ease}
.client-search-input:focus-within>span{color:var(--accent)}
.client-search-input input{min-width:0;border:0;border-radius:0;background:transparent;box-shadow:none!important;outline:0!important}
.client-search-input input:focus,.client-search-input input:focus-visible{border:0;box-shadow:none!important;outline:0!important}
.client-search-results{display:grid;gap:7px;margin-top:12px;max-height:430px;overflow:auto;scrollbar-width:thin}
.client-search-result{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;border:1px solid transparent;border-radius:15px;background:rgba(255,255,255,.025);color:inherit;text-decoration:none}
.client-search-result:hover{border-color:rgba(var(--accent-rgb),.2);background:rgba(var(--accent-rgb),.055)}
.client-search-result>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#252e3b;font-weight:900}
.client-search-result strong{display:block;font-size:13px}
.client-search-result small{display:block;margin-top:3px;color:#7f8a9b;font-size:9px}
.client-search-result>b{color:var(--accent);font-size:9px;white-space:nowrap}
.client-search-loading,.client-search-empty{padding:30px 14px;color:#7f8a9b;text-align:center;font-size:11px;line-height:1.5}
.new-client-choice{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(145deg,rgba(var(--accent-rgb),.1),rgba(15,20,28,.7))}
.new-client-choice span{color:var(--accent);font-size:10px;font-weight:900;text-transform:uppercase}
.new-client-choice strong{margin:9px 0 20px;font-size:20px;line-height:1.25}
.selected-client-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:16px 20px;border:1px solid var(--line);border-radius:20px;background:#121925}
.selected-client-strip>div:first-child{display:grid;gap:3px}
.selected-client-strip strong{font-size:18px}
.selected-client-strip small{color:#8793a4}
.selected-client-strip>div:last-child{display:flex;gap:8px}
.appointment-creation-grid{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}
.appointment-creation-grid .reservation-card{position:sticky;top:20px}
.reservation-head>div{display:flex;gap:12px;align-items:flex-start}
.reservation-head>div>div{display:block}
.appointment-form-head{display:flex;align-items:flex-start;gap:13px}
.appointment-form-head>div:last-child{min-width:0}
.appointment-creation-grid .schedule-locked{min-height:180px;align-items:flex-start}

/* Independent appointment page */
.appointment-back-link{display:inline-flex;margin:-5px 0 14px;color:#929dad;font-size:11px;font-weight:800;text-decoration:none}
.appointment-back-link:hover{color:var(--accent)}
.appointment-detail-hero{display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px 26px;margin-bottom:18px;border:1px solid var(--line);border-radius:26px;background:radial-gradient(circle at 90% 0,rgba(var(--accent-rgb),.13),transparent 34%),linear-gradient(145deg,#1b2431,#111722)}
.appointment-detail-date{display:grid;place-items:center;align-content:center;width:78px;height:94px;border-radius:21px;background:var(--accent);color:var(--accent-contrast)}
.appointment-detail-date strong{font-size:31px;line-height:1}
.appointment-detail-date span{margin-top:4px;font-size:10px;font-weight:950}
.appointment-detail-date small{font-size:9px;opacity:.65}
.appointment-detail-title>div{display:flex;align-items:center;gap:8px}
.appointment-detail-title h2{margin:9px 0 6px;font-size:31px;letter-spacing:-.8px}
.appointment-detail-title>a{color:#9ca7b7;font-size:11px;text-decoration:none}
.appointment-detail-title>a:hover{color:var(--accent)}
.appointment-detail-actions{display:flex;gap:8px}
.appointment-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:start}
.appointment-facts dl{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0}
.appointment-facts dl>div{padding:15px;border:1px solid var(--line);border-radius:15px;background:#111722}
.appointment-facts dt{color:#7d899a;font-size:9px;font-weight:850;text-transform:uppercase}
.appointment-facts dd{margin:5px 0 0;font-size:14px;font-weight:850}
.appointment-note{margin-top:14px;padding:16px;border-radius:16px;background:#111722}
.appointment-note span{color:#7d899a;font-size:9px;font-weight:850;text-transform:uppercase}
.appointment-note p{margin:7px 0 0;color:#c4ccd7;font-size:12px;line-height:1.55}
.appointment-side .card{padding:20px}
.appointment-side h2{margin:7px 0 5px;font-size:22px}
.appointment-side p{margin:0 0 15px;color:var(--muted);font-size:11px;line-height:1.5}
.appointment-complete-card{display:grid}
.appointment-complete-card .btn{width:100%}
.appointment-edit-page{margin-top:18px}
.appointment-edit-page>form{max-width:1050px}
.appointment-followups{margin-top:18px}
.appointment-followups>div:last-child{display:grid}
.appointment-followups article{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}
.appointment-followups article:first-child{border-top:0}
.appointment-followups article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#222b38;color:#9ba7b7}
.appointment-followups article>span.done{background:rgba(var(--accent-rgb),.1);color:var(--accent)}
.appointment-followups article strong{font-size:12px}
.appointment-followups article p{margin:3px 0 0;color:var(--muted);font-size:10px}
.appointment-followups article time{color:#97a2b2;font-size:10px}

@media(max-width:1100px){
 .new-lead-layout,.client-picker-actions,.appointment-creation-grid,.appointment-detail-grid{grid-template-columns:1fr}
 .creation-context,.appointment-creation-grid .reservation-card{position:static}
 .active-appointment-list{grid-template-columns:1fr}
 .appointment-detail-hero{grid-template-columns:80px minmax(0,1fr)}
 .appointment-detail-actions{grid-column:2}
}
@media(max-width:720px){
 .top-action-long{display:none}.top-action-short{display:inline}
 .top-actions{gap:6px}.top-actions .btn{padding:10px 11px;font-size:12px}
 .client-profile-hero,.selected-client-strip{align-items:flex-start;flex-direction:column}
 .client-profile-actions,.selected-client-strip>div:last-child{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .client-profile-actions .btn,.selected-client-strip .btn{text-align:center;padding:11px 8px}
 .client-profile-identity{align-items:flex-start}
 .client-profile-avatar{width:48px;height:48px;flex-basis:48px;border-radius:16px}
 .client-profile-identity h2{font-size:24px}
 .client-panel-head{display:block}
 .client-panel-head>.btn{display:inline-flex;margin-top:13px}
 .reservation-progress-card{align-items:flex-start}
 .active-appointment-card{grid-template-columns:52px minmax(0,1fr)}
 .active-appointment-card time{width:50px;height:66px}
 .active-appointment-card>b{grid-column:2}
 .recent-appointment-card{align-items:flex-start;flex-direction:column}
 .appointment-client-picker{padding:18px;border-radius:22px}
 .appointment-client-picker>header{gap:12px}
 .appointment-client-picker h2{font-size:26px}
 .client-live-search,.new-client-choice{padding:16px}
 .client-search-result{grid-template-columns:38px minmax(0,1fr)}
 .client-search-result>span{width:38px;height:38px}
 .client-search-result>b{grid-column:2}
 .appointment-detail-hero{grid-template-columns:62px minmax(0,1fr);padding:18px}
 .appointment-detail-date{width:60px;height:76px;border-radius:17px}
 .appointment-detail-date strong{font-size:25px}
 .appointment-detail-title h2{font-size:23px}
 .appointment-detail-title>div{align-items:flex-start;flex-direction:column}
 .appointment-detail-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
 .appointment-detail-actions .btn{text-align:center;padding:10px 7px}
 .appointment-facts dl{grid-template-columns:1fr 1fr}
 .appointment-history-open{grid-column:2;width:100%;text-align:center}
}

/* Appointment workspace v2 */
.appointment-page-nav{display:flex;align-items:center;gap:8px;margin:-4px 0 14px;color:#697688;font-size:10px;font-weight:800}
.appointment-page-nav a{color:#97a2b2;text-decoration:none}
.appointment-page-nav a:hover{color:var(--accent)}
.appointment-page-nav .appointment-back-link{margin:0}
.appointment-detail-hero{margin-bottom:14px}
.appointment-detail-title>div{display:flex;align-items:center;gap:8px}
.appointment-detail-title>p{margin:0;color:#9ca7b7;font-size:11px}
.appointment-timing{display:inline-flex;padding:5px 8px;border-radius:99px;background:#242d39;color:#9da8b8;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.appointment-timing.today{background:rgba(var(--accent-rgb),.1);color:var(--accent)}
.appointment-timing.overdue{background:rgba(255,123,139,.1);color:#ff8f9c}
.appointment-timing.done{background:rgba(112,169,255,.1);color:#9fc6ff}
.appointment-timing.cancelled{background:rgba(255,255,255,.05);color:#7e8998}
.appointment-tabs{display:flex;gap:6px;width:max-content;max-width:100%;margin-bottom:18px;padding:5px;border:1px solid var(--line);border-radius:17px;background:#111722;overflow-x:auto;scrollbar-width:none}
.appointment-tabs::-webkit-scrollbar{display:none}
.appointment-tabs a{display:flex;align-items:center;gap:7px;padding:10px 15px;border-radius:12px;color:#8f9aaa;text-decoration:none;font-size:11px;font-weight:850;white-space:nowrap}
.appointment-tabs a:hover{color:#fff}
.appointment-tabs a.active{background:var(--accent);color:var(--accent-contrast)}
.appointment-tabs a span{display:grid;place-items:center;min-width:19px;height:19px;padding:0 6px;border-radius:99px;background:rgba(255,255,255,.07);font-size:8px}
.appointment-tabs a.active span{background:rgba(0,0,0,.13)}
[data-appointment-panel][hidden]{display:none!important}
.appointment-summary-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(290px,.58fr);gap:18px;align-items:start}
.appointment-overview-card{padding:26px}
.appointment-overview-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.appointment-overview-card>header h2{margin:6px 0 0;font-size:25px}
.appointment-overview-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.appointment-overview-facts>div{display:grid;gap:5px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#111722}
.appointment-overview-facts span,.appointment-payment span,.appointment-notes-summary>span{color:#7d899a;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.appointment-overview-facts strong{font-size:14px}
.appointment-overview-facts small{color:#8591a2;font-size:9px}
.appointment-payment{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:end;gap:14px;margin-top:10px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#111722}
.appointment-payment>div:first-child,.appointment-payment>div:last-child{display:grid;gap:4px}
.appointment-payment>div:last-child{text-align:right}
.appointment-payment strong{font-size:15px}
.appointment-payment-track{align-self:center;height:7px;border-radius:99px;background:#252e3b;overflow:hidden}
.appointment-payment-track i{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.appointment-notes-summary{margin-top:10px;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018)}
.appointment-notes-summary p{margin:7px 0 0;color:#b7c0cc;font-size:11px;line-height:1.55}
.appointment-command-column{display:grid;gap:12px}
.appointment-command-column .card{padding:20px}
.appointment-command-column h2{margin:7px 0 6px;font-size:20px}
.appointment-command-column p{margin:0;color:#929dad;font-size:10px;line-height:1.55}
.appointment-next-action{background:radial-gradient(circle at 100% 0,rgba(var(--accent-rgb),.13),transparent 45%),linear-gradient(145deg,#1d2632,#141a24);border-color:rgba(var(--accent-rgb),.17)}
.appointment-next-action p{margin-bottom:15px}
.appointment-next-action .btn{width:100%;padding-left:10px;padding-right:10px;font-size:12px}
.appointment-deposit-message-card{border-color:color-mix(in srgb,var(--action-color) 32%,var(--line));background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--action-color) 12%,transparent),transparent 45%),linear-gradient(145deg,#1d2632,#141a24)}
.appointment-deposit-message-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.appointment-deposit-message-card>header>span{padding:6px 8px;border-radius:99px;background:var(--action-soft);color:var(--action-color);font-size:8px;font-weight:900}
.appointment-deposit-message-form{display:grid;gap:10px;margin-top:14px}.appointment-deposit-message-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.appointment-deposit-message-summary>div{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#111722}.appointment-deposit-message-summary small{color:#7f8b9b;font-size:7px;font-weight:900}.appointment-deposit-message-summary strong{font-size:13px}
.appointment-deposit-message-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.appointment-deposit-message-actions .btn{padding:11px 8px;font-size:10px}
.appointment-deposit-message-settings{border:1px solid var(--line);border-radius:13px;background:#111722;overflow:hidden}.appointment-deposit-message-settings>summary{padding:11px 12px;color:#aab4c2;font-size:9px;font-weight:800;cursor:pointer;list-style:none}.appointment-deposit-message-settings>summary::-webkit-details-marker{display:none}.appointment-deposit-message-settings>summary:after{content:"+";float:right;color:var(--action-color);font-size:13px}.appointment-deposit-message-settings[open]>summary{border-bottom:1px solid var(--line)}.appointment-deposit-message-settings[open]>summary:after{content:"−"}.appointment-deposit-message-settings>.form-grid{grid-template-columns:1fr;padding:12px}.appointment-deposit-message-settings label{font-size:8px}.appointment-deposit-message-settings input{padding:10px 11px;font-size:10px}
.appointment-deposit-message-complete{margin-top:10px}.appointment-deposit-message-complete .btn{width:100%;font-size:10px}.appointment-deposit-message-hint{display:block;margin-top:11px;color:#7f8b9b;font-size:8px;line-height:1.45}.appointment-deposit-message-hint strong{color:#c9d0da}
.appointment-closing-form{display:grid;gap:11px}
.appointment-closing-form p{margin:0;color:#8d99aa;font-size:9px;line-height:1.5}
.appointment-closing-form>label:not(.deposit-receipt-upload){display:grid;gap:6px;color:#9ca7b6;font-size:8px;font-weight:850;text-transform:uppercase}
.appointment-closing-form>label input{padding:11px}
.appointment-closing-form>label small{color:#738092;font-size:7px;font-weight:600;text-transform:none}
.closing-balance{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#111722}
.closing-balance span{color:#8c98a9;font-size:8px;font-weight:800;text-transform:uppercase}
.closing-balance strong{color:#ffc66b;font-size:14px}
.appointment-closing-summary{border-color:rgba(112,169,255,.18);background:radial-gradient(circle at 100% 0,rgba(112,169,255,.11),transparent 45%),linear-gradient(145deg,#1d2632,#141a24)}
.appointment-closing-summary>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.appointment-closing-summary>header h2{margin:6px 0 0}
.appointment-closing-summary>header>span{padding:6px 8px;border-radius:99px;background:rgba(112,169,255,.11);color:#9fc6ff;font-size:7px;font-weight:900;text-transform:uppercase}
.closing-payment-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.closing-payment-breakdown>div{display:grid;gap:5px;padding:12px;border:1px solid rgba(112,169,255,.13);border-radius:13px;background:rgba(112,169,255,.035)}
.closing-payment-breakdown span{color:#8995a6;font-size:7px;font-weight:850;text-transform:uppercase}
.closing-payment-breakdown strong{color:#dce8f8;font-size:14px}
.closing-payment-breakdown .total{border-color:rgba(var(--accent-rgb),.18);background:rgba(var(--accent-rgb),.045)}
.closing-payment-breakdown .total strong{color:var(--accent)}
.closing-registered-date{margin:8px 0 0!important;color:#738092!important;font-size:8px!important}
.closing-reservation-note{display:grid;gap:3px;margin-top:11px;padding:11px 12px;border:1px solid rgba(112,169,255,.12);border-radius:13px;background:#111722}
.closing-reservation-note span{color:#8290a2;font-size:7px;font-weight:900;text-transform:uppercase}
.closing-reservation-note strong{color:#dce3ec;font-size:10px}
.closing-reservation-note small{color:#748193;font-size:8px;line-height:1.4}
.closing-reservation-note.waived{border-color:rgba(112,169,255,.16)}
.closing-reservation-note.neutral{border-color:var(--line);background:rgba(255,255,255,.015)}
.historical-deposit-receipt{border-color:rgba(112,169,255,.17)}
.historical-deposit-receipt>div span{color:#9fc6ff}
.closing-maintenance .receipt-update-form>label:not(.deposit-receipt-upload){display:grid;gap:6px;color:#9ca7b6;font-size:8px;font-weight:850;text-transform:uppercase}
.closing-maintenance .receipt-update-form input[type="number"]{padding:10px 11px;font-size:11px}
.historical-deposit-management{margin-top:8px}
.appointment-mini-head{display:flex;align-items:center;gap:11px}
.appointment-mini-head>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#252e3b;font-size:15px;font-weight:950}
.appointment-mini-head>div{display:grid;gap:3px}
.appointment-mini-head small{color:#7f8a9a;font-size:8px;font-weight:900}
.appointment-mini-head strong{font-size:15px}
.appointment-client-compact>p{margin:12px 0!important}
.appointment-client-compact>a{color:var(--accent);font-size:10px;font-weight:850;text-decoration:none}
.appointment-reservation-compact{border-left:3px solid #596577}
.appointment-reservation-compact h2{font-size:18px}
.appointment-edit-page{margin:0;padding:26px}
.appointment-edit-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px;padding-bottom:19px;border-bottom:1px solid var(--line)}
.appointment-edit-heading h2{margin:6px 0 7px;font-size:26px}
.appointment-edit-heading p{margin:0;color:var(--muted);font-size:11px}
.appointment-edit-form{display:grid;gap:13px}
.appointment-edit-section{padding:18px;border:1px solid var(--line);border-radius:18px;background:#111722}
.appointment-edit-section>header{display:flex;align-items:flex-start;gap:11px;margin-bottom:15px}
.appointment-edit-section>header>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:#252e3b;color:#aeb7c4;font-size:10px;font-weight:950}
.appointment-edit-section>header h3{margin:1px 0 3px;font-size:15px}
.appointment-edit-section>header p{margin:0;color:#788496;font-size:9px}
.appointment-edit-section textarea{min-height:82px}
.form-grid.three{grid-template-columns:repeat(3,1fr)}
.body-map-editor{margin-top:12px;border:1px solid var(--line);border-radius:15px;background:#171e29;overflow:hidden}
.body-map-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;list-style:none}
.body-map-editor>summary::-webkit-details-marker{display:none}
.body-map-editor>summary>div{display:grid;gap:3px}
.body-map-editor>summary strong{font-size:11px}
.body-map-editor>summary small{color:#7d899a;font-size:9px}
.body-map-editor>summary>span{color:var(--accent);font-size:9px;font-weight:850}
.body-map-editor[open]>summary{border-bottom:1px solid var(--line)}
.body-map-editor .appointment-body-selector{border:0;border-radius:0;background:#141b26}
.body-map-editor .body-figure{width:min(125px,40%)}
.body-map-editor .body-zone-selection{max-width:480px;margin:8px auto 0}
.appointment-save-bar{position:sticky;bottom:12px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px 12px 17px;border:1px solid rgba(var(--accent-rgb),.19);border-radius:17px;background:rgba(17,23,34,.94);box-shadow:0 14px 34px rgba(0,0,0,.28);backdrop-filter:blur(14px)}
.appointment-save-bar span{color:#8995a5;font-size:9px}
.appointment-save-bar .btn{min-width:190px}
.appointment-followups{margin:0}
.appointment-followup-empty{min-height:280px;border:1px dashed var(--line);border-radius:19px;display:grid;place-items:center;align-content:center;text-align:center}
.appointment-followup-empty>div{display:grid;place-items:center;width:48px;height:48px;margin-bottom:12px;border-radius:16px;background:rgba(var(--accent-rgb),.09);color:var(--accent);font-size:19px}
.appointment-followup-empty strong{font-size:16px}
.appointment-followup-empty span{max-width:380px;margin-top:5px;color:#7f8a9a;font-size:10px;line-height:1.5}

@media(max-width:1000px){
 .appointment-summary-grid{grid-template-columns:1fr}
 .appointment-command-column{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
 .appointment-page-nav{margin-top:0}
 .appointment-detail-hero{grid-template-columns:58px minmax(0,1fr);gap:13px}
 .appointment-detail-date{width:56px;height:72px}
 .appointment-detail-title h2{font-size:21px}
 .appointment-detail-actions{grid-template-columns:1fr 1fr}
 .appointment-tabs{width:calc(100% + 16px);margin-right:-16px;border-radius:15px 0 0 15px}
 .appointment-tabs a{padding:10px 12px}
 .appointment-overview-card,.appointment-edit-page{padding:18px}
 .appointment-overview-card>header,.appointment-edit-heading{display:block}
 .appointment-overview-card>header>.appointment-state{margin-top:10px}
 .appointment-overview-facts{grid-template-columns:1fr}
 .appointment-payment{grid-template-columns:1fr 1fr}
 .appointment-payment-track{grid-column:1/-1;grid-row:2}
 .appointment-payment>div:last-child{text-align:left}
 .appointment-command-column{grid-template-columns:1fr}
 .appointment-edit-heading>.btn{display:inline-flex;margin-top:13px}
 .form-grid.three{grid-template-columns:1fr}
 .appointment-edit-section{padding:15px}
 .appointment-save-bar{align-items:stretch;flex-direction:column;bottom:78px}
 .appointment-save-bar .btn{width:100%;min-width:0}
 .body-map-editor .body-figure{width:min(120px,43%)}
}

/* Client stage visibility */
.client-status-control[data-status="nuevo"],.status-badge.nuevo,.client-search-status.nuevo{--stage:#70a9ff;--stage-rgb:112,169,255}
.client-status-control[data-status="hablando"],.status-badge.hablando,.client-search-status.hablando{--stage:#a889ff;--stage-rgb:168,137,255}
.client-status-control[data-status="cotizando"],.status-badge.cotizando,.client-search-status.cotizando{--stage:#ffad66;--stage-rgb:255,173,102}
.client-status-control[data-status="anticipo"],.status-badge.anticipo,.client-search-status.anticipo{--stage:#ffc66b;--stage-rgb:255,198,107}
.client-status-control[data-status="agendado"],.status-badge.agendado,.client-search-status.agendado{--stage:var(--accent);--stage-rgb:var(--accent-rgb)}
.client-status-control[data-status="tatuado"],.status-badge.tatuado,.client-search-status.tatuado{--stage:#54d7d0;--stage-rgb:84,215,208}
.client-status-control[data-status="seguimiento"],.status-badge.seguimiento,.client-search-status.seguimiento{--stage:#ff8fb3;--stage-rgb:255,143,179}
.client-status-control[data-status="perdido"],.status-badge.perdido,.client-search-status.perdido{--stage:#ff7b8b;--stage-rgb:255,123,139}
.client-profile-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(225px,270px) auto;align-items:center}
.client-status-control{display:grid;gap:6px;min-width:0;padding:12px;border:1px solid rgba(var(--stage-rgb),.22);border-radius:18px;background:rgba(var(--stage-rgb),.055);transition:.18s ease}
.client-state-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.client-state-label label{color:#7f8a9b;font-size:8px}.client-state-label span{padding:4px 7px;border:1px solid rgba(var(--stage-rgb),.18);border-radius:99px;background:rgba(var(--stage-rgb),.06);color:var(--stage);font-size:6px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.client-status-select-wrap{position:relative;display:grid;grid-template-columns:9px minmax(0,1fr);align-items:center;gap:9px}
.client-status-select-wrap>span{width:9px;height:9px;border-radius:50%;background:var(--stage);box-shadow:0 0 0 4px rgba(var(--stage-rgb),.1)}
.client-status-select-wrap:after{content:"⌄";position:absolute;right:12px;top:50%;translate:0 -57%;color:var(--stage);font-size:18px;font-weight:900;pointer-events:none}
.client-status-select-wrap select{appearance:none;min-height:42px;padding:9px 34px 9px 12px;border-color:rgba(var(--stage-rgb),.2);background:rgba(10,15,22,.58);color:var(--stage);font-size:13px;font-weight:900}
.client-status-select-wrap select:focus{border-color:var(--stage);box-shadow:0 0 0 3px rgba(var(--stage-rgb),.08)}
.client-status-control>small{min-height:13px;color:#768293;font-size:8px;line-height:1.4}
.client-status-control.saving{opacity:.72}
.client-status-control.saved{border-color:rgba(var(--stage-rgb),.42);box-shadow:0 0 0 3px rgba(var(--stage-rgb),.05)}
.client-profile-actions{justify-content:flex-end}
.status-badge,.client-search-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;border:1px solid rgba(var(--stage-rgb),.2);border-radius:99px;background:rgba(var(--stage-rgb),.1)!important;color:var(--stage)!important;font-style:normal;font-size:8px;font-weight:900;letter-spacing:.04em;line-height:1;text-transform:uppercase}
.status-badge{gap:6px;padding:7px 10px}
.status-badge:before,.client-search-status:before{content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--stage)}
.client-search-status{gap:5px;margin-top:6px;padding:5px 7px}
.client-search-status:before{flex-basis:5px;width:5px;height:5px}
.selected-client-strip>div:first-child>.status-badge{margin-top:7px}
.appointment-client-compact>.status-badge{margin-top:12px}
.appointment-client-stage{display:grid;gap:7px;margin-top:13px;padding:11px;border:1px solid rgba(var(--stage-rgb),.12);border-radius:13px;background:#111722}.appointment-client-stage>small{color:#778496;font-size:6px;font-weight:900;letter-spacing:.06em}.appointment-client-stage .status-badge{margin:0}.appointment-client-stage>p{margin:0!important;color:#7f8b9c;font-size:8px;line-height:1.45}
@media(max-width:1150px){
 .client-profile-hero{grid-template-columns:minmax(0,1fr) auto}
 .client-status-control{grid-column:1/-1;width:min(100%,330px)}
}
@media(max-width:720px){
 .client-profile-hero{display:grid;grid-template-columns:1fr}
 .client-profile-identity,.client-status-control,.client-profile-actions{grid-column:1;width:100%}
 .client-profile-actions{grid-template-columns:1fr 1fr}
 .client-status-control{max-width:none}
}

/* Appointment reference library */
.new-appointment-references{display:grid;gap:13px;padding:18px;border:1px solid rgba(var(--accent-rgb),.14);border-radius:18px;background:linear-gradient(145deg,rgba(var(--accent-rgb),.045),rgba(255,255,255,.015))}
.new-appointment-references h3{margin:5px 0 5px;font-size:16px}
.new-appointment-references p{margin:0;color:#8793a4;font-size:10px;line-height:1.5}
.reference-upload-field{position:relative;display:grid;place-items:center;gap:5px;min-height:104px;padding:18px;border:1px dashed rgba(var(--accent-rgb),.32);border-radius:16px;background:#111722;text-align:center;cursor:pointer;overflow:hidden}
.reference-upload-field:hover{border-color:var(--accent);background:rgba(var(--accent-rgb),.045)}
.reference-upload-field input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.reference-upload-field strong{color:var(--accent);font-size:12px;text-transform:none;letter-spacing:0}
.reference-upload-field small{color:#768294;font-size:9px;font-weight:650;text-transform:none;letter-spacing:0}
.reference-file-list{display:flex;flex-wrap:wrap;gap:6px;min-height:18px;color:#7f8a9a;font-size:9px;line-height:1.4}
.reference-file-list span{display:inline-flex;max-width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:#171f2b;color:#aab4c2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reference-file-list b{display:block;width:100%;color:#ff8f9c}
.appointment-notice{margin:-4px 0 14px}
.notice.success{background:rgba(var(--accent-rgb),.1);color:var(--accent)}
.appointment-reference-summary{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:14px;margin-top:10px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#111722}
.appointment-reference-summary>div:first-child{display:grid;gap:3px}
.appointment-reference-summary>div:first-child>span{color:#7d899a;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.appointment-reference-summary>div:first-child>strong{font-size:14px}
.appointment-reference-summary>div:first-child>small{color:#778496;font-size:9px}
.reference-summary-thumbs{display:flex;align-items:center}
.reference-summary-thumbs a{display:grid;place-items:center;width:42px;height:42px;margin-left:-7px;border:2px solid #111722;border-radius:12px;background:#252e3b;color:#aab4c3;text-decoration:none;overflow:hidden}
.reference-summary-thumbs a:first-child{margin-left:0}
.reference-summary-thumbs img{width:100%;height:100%;object-fit:cover}
.reference-summary-thumbs span{font-size:7px;font-weight:950}
.appointment-references-card{padding:26px}
.appointment-references-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.appointment-references-head h2{margin:6px 0 7px;font-size:26px}
.appointment-references-head p{max-width:690px;margin:0;color:#8c98a8;font-size:11px;line-height:1.55}
.reference-count{display:inline-flex;padding:7px 10px;border:1px solid var(--line);border-radius:99px;color:#919cac;font-size:9px;font-weight:900;white-space:nowrap}
.appointment-reference-uploader{display:grid;grid-template-columns:minmax(280px,1fr) minmax(220px,.75fr) auto;align-items:center;gap:12px;margin-bottom:20px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#111722}
.appointment-reference-uploader .reference-upload-field{min-height:78px}
.appointment-reference-uploader .reference-file-list{max-height:78px;overflow:auto}
.appointment-reference-uploader>.btn{white-space:nowrap}
.appointment-reference-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.appointment-reference-item{position:relative;min-width:0;border:1px solid var(--line);border-radius:18px;background:#111722;overflow:hidden;transition:.18s ease}
.appointment-reference-item:hover{transform:translateY(-2px);border-color:rgba(var(--accent-rgb),.23)}
.reference-preview{display:grid;place-items:center;aspect-ratio:4/3;background:radial-gradient(circle at 50% 20%,rgba(var(--accent-rgb),.08),transparent 55%),#0d131d;color:var(--accent);text-decoration:none;overflow:hidden}
.reference-preview img{width:100%;height:100%;object-fit:cover;transition:.22s ease}
.appointment-reference-item:hover .reference-preview img{scale:1.025}
.reference-preview>span{display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:18px;background:rgba(var(--accent-rgb),.08);font-size:10px;font-weight:950}
.reference-meta{display:grid;gap:4px;padding:12px 42px 13px 13px}
.reference-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.reference-meta small{color:#758192;font-size:8px}
.reference-delete{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:9px;background:#1c2531;color:#8f9aaa;font-size:17px;line-height:1;cursor:pointer}
.reference-delete:hover{border-color:rgba(255,123,139,.3);background:rgba(255,123,139,.08);color:#ff8f9c}
.appointment-reference-empty{min-height:260px;display:grid;place-items:center;align-content:center;border:1px dashed var(--line);border-radius:19px;text-align:center}
.appointment-reference-empty>div{display:grid;place-items:center;width:52px;height:52px;margin-bottom:12px;border-radius:17px;background:rgba(var(--accent-rgb),.09);color:var(--accent);font-size:23px}
.appointment-reference-empty strong{font-size:16px}
.appointment-reference-empty span{max-width:460px;margin-top:6px;color:#7d8999;font-size:10px;line-height:1.5}
@media(max-width:1100px){
 .appointment-reference-uploader{grid-template-columns:1fr auto}
 .appointment-reference-uploader .reference-file-list{grid-column:1}
 .appointment-reference-uploader>.btn{grid-column:2;grid-row:1/3}
 .appointment-reference-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
 .appointment-reference-summary{grid-template-columns:1fr auto}
 .appointment-reference-summary>.btn{grid-column:1/-1;text-align:center}
 .appointment-references-card{padding:18px}
 .appointment-references-head{display:block}
 .reference-count{margin-top:12px}
 .appointment-reference-uploader{grid-template-columns:1fr}
 .appointment-reference-uploader .reference-file-list,.appointment-reference-uploader>.btn{grid-column:1;grid-row:auto}
 .appointment-reference-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .reference-meta{padding:10px 38px 11px 11px}
}

/* End-to-end appointment reservation flow */
.appointment-creation-state{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:#111722}
.appointment-creation-state strong{font-size:11px}
.appointment-creation-state span{color:#8692a3;font-size:9px;text-align:right}
.appointment-creation-state.confirmada{border-color:rgba(var(--accent-rgb),.2);background:rgba(var(--accent-rgb),.055)}
.appointment-creation-state.confirmada strong{color:var(--accent)}
.appointment-creation-state.tentativa{border-color:rgba(255,198,107,.24);background:rgba(255,198,107,.05)}
.appointment-creation-state.tentativa strong{color:#ffc66b}
.reservation-workspace{border-left-width:3px}
.reservation-workspace.pending{border-left-color:#ffc66b}
.reservation-workspace.confirmed{border-left-color:var(--accent)}
.reservation-workspace.waived{border-left-color:#9fc6ff}
.reservation-workspace>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.reservation-workspace>header h2{margin:6px 0 0;font-size:18px}
.reservation-workspace .reservation-status{flex:0 0 auto;padding:6px 8px;font-size:7px}
.appointment-reservation-result,.appointment-reservation-pending{display:grid;gap:4px;margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#111722}
.appointment-reservation-result strong,.appointment-reservation-pending strong{font-size:16px}
.appointment-reservation-result span,.appointment-reservation-pending span{color:#8995a6;font-size:9px;line-height:1.45}
.appointment-reservation-result{border-color:rgba(var(--accent-rgb),.18);background:rgba(var(--accent-rgb),.045)}
.appointment-reservation-result strong{color:var(--accent)}
.appointment-reservation-result.waived{border-color:rgba(112,169,255,.18);background:rgba(112,169,255,.045)}
.appointment-reservation-result.waived strong{color:#9fc6ff}
.appointment-reservation-pending{border-color:rgba(255,198,107,.2);background:rgba(255,198,107,.045)}
.appointment-reservation-pending strong{color:#ffc66b}
.appointment-deposit-confirm{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:12px}
.appointment-deposit-confirm label{font-size:8px}
.appointment-deposit-confirm input{padding:10px 11px;font-size:11px}
.appointment-deposit-confirm .btn{padding:11px 12px;font-size:10px;white-space:nowrap}
.appointment-deposit-confirm .deposit-receipt-upload{grid-column:1/-1;grid-row:2}
.appointment-deposit-request{margin-top:10px;border:1px solid var(--line);border-radius:13px;background:#111722;overflow:hidden}
.appointment-deposit-request>summary{padding:11px 12px;color:#aeb7c4;font-size:9px;font-weight:850;cursor:pointer;list-style:none}
.appointment-deposit-request>summary::-webkit-details-marker{display:none}
.appointment-deposit-request>summary:after{content:"+";float:right;color:var(--accent);font-size:13px}
.appointment-deposit-request[open]>summary{border-bottom:1px solid var(--line)}
.appointment-deposit-request[open]>summary:after{content:"−"}
.appointment-deposit-request>form{padding:12px}
.appointment-deposit-request .form-grid{grid-template-columns:1fr}
.appointment-deposit-request label{font-size:8px}
.appointment-deposit-request input{padding:10px 11px;font-size:10px}
.appointment-deposit-request .communication-actions{grid-template-columns:1fr}
.appointment-deposit-request .channel-action{width:100%;padding:10px 9px;font-size:9px}
.appointment-deposit-request .appointment-deposit-confirm{margin:0;border-bottom:1px solid var(--line)}
.appointment-deposit-waive{margin-top:9px}
.appointment-deposit-waive .btn{width:100%;padding:10px;font-size:9px;background:transparent;color:#8f9aaa}
.appointment-deposit-waive .btn:hover{color:#fff}
.deposit-receipt-upload{display:flex;align-items:center;gap:10px;padding:11px!important;border:1px dashed rgba(var(--accent-rgb),.24);border-radius:12px;background:rgba(var(--accent-rgb),.035);cursor:pointer}
.deposit-receipt-upload:hover{border-color:rgba(var(--accent-rgb),.48);background:rgba(var(--accent-rgb),.06)}
.deposit-receipt-upload input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;opacity:0;pointer-events:none}
.deposit-receipt-upload:before{content:"＋";display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:rgba(var(--accent-rgb),.11);color:var(--accent);font-size:16px;font-weight:900}
.deposit-receipt-upload span{display:grid;min-width:0;gap:3px;text-transform:none}
.deposit-receipt-upload strong{color:#dce3ec;font-size:9px;line-height:1.2}
.deposit-receipt-upload small{overflow:hidden;color:#798596;font-size:8px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.deposit-receipt-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:9px;border:1px solid rgba(var(--accent-rgb),.18);border-radius:14px;background:#111722}
.deposit-receipt-preview{display:grid;place-items:center;width:48px;height:48px;border-radius:11px;background:rgba(var(--accent-rgb),.08);color:var(--accent);text-decoration:none;overflow:hidden}
.deposit-receipt-preview img{width:100%;height:100%;object-fit:cover}
.deposit-receipt-preview span{font-size:7px;font-weight:950}
.deposit-receipt-card>div{display:grid;min-width:0;gap:3px}
.deposit-receipt-card>div span{color:var(--accent);font-size:6px;font-weight:900;letter-spacing:.12em}
.deposit-receipt-card>div strong{overflow:hidden;color:#dce3ec;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.deposit-receipt-card>div small{color:#738092;font-size:7px}
.receipt-update-form{display:grid;gap:9px;padding:12px}
.receipt-update-form>.btn{width:100%;padding:10px;font-size:9px}
.receipt-delete-form{padding:0 12px 12px}
.receipt-delete-form button{width:100%;padding:8px;border:0;background:transparent;color:#ff8f9c;font-size:8px;font-weight:800;cursor:pointer}
.receipt-delete-form button:hover{color:#ffb2bb}
.record-notice{margin:-8px 0 16px}
.record-delete-zone{margin-top:22px;border:1px solid rgba(255,113,130,.16);border-radius:16px;background:rgba(255,113,130,.025);overflow:hidden;scroll-margin-top:22px}
.record-delete-zone>summary{padding:13px 15px;color:#b8848b;font-size:9px;font-weight:850;cursor:pointer;list-style:none}
.record-delete-zone>summary::-webkit-details-marker{display:none}
.record-delete-zone>summary:after{content:"＋";float:right;color:#ff7182;font-size:13px}
.record-delete-zone[open]>summary{border-bottom:1px solid rgba(255,113,130,.13);color:#ff9ba7}
.record-delete-zone[open]>summary:after{content:"−"}
.record-delete-content{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(340px,1.25fr);gap:20px;padding:17px}
.record-delete-content h3{margin:6px 0 6px;font-size:17px}
.record-delete-content p{margin:0;color:#9c858b;font-size:9px;line-height:1.55}
.record-delete-form{display:grid;gap:11px;padding:14px;border:1px solid rgba(255,113,130,.13);border-radius:14px;background:#181319}
.record-delete-form>label:not(.record-delete-ack){font-size:8px}
.record-delete-form input[name="delete_confirmation"]{border-color:rgba(255,113,130,.2);background:#120f14}
.record-delete-form input[name="delete_confirmation"]:focus{border-color:#ff7182;box-shadow:0 0 0 3px rgba(255,113,130,.08)}
.record-delete-ack{display:flex;grid-template-columns:none;align-items:flex-start;gap:9px;color:#c0a5aa;font-size:9px;font-weight:650;line-height:1.4;text-transform:none;letter-spacing:0;cursor:pointer}
.record-delete-ack input{flex:0 0 auto;width:16px;height:16px;margin:1px 0 0;padding:0;accent-color:#ff7182}
.record-delete-button{width:100%;padding:11px 13px;border:1px solid rgba(255,113,130,.4);border-radius:12px;background:#ff7182;color:#190b0f;font:inherit;font-size:10px;font-weight:900;cursor:pointer}
.record-delete-button:hover{background:#ff8997}
@media(max-width:720px){
 .appointment-creation-state{align-items:flex-start;flex-direction:column}
 .appointment-creation-state span{text-align:left}
 .closing-payment-breakdown{grid-template-columns:1fr}
 .appointment-deposit-confirm{grid-template-columns:1fr}
 .appointment-deposit-confirm .deposit-receipt-upload{grid-column:1;grid-row:auto}
 .appointment-deposit-confirm .btn{width:100%}
 .deposit-receipt-card{grid-template-columns:44px minmax(0,1fr)}
 .deposit-receipt-card>.btn{grid-column:1/-1;text-align:center}
 .record-delete-content{grid-template-columns:1fr;padding:14px}
}

/* Configurable pipeline */
.pipeline-notice{margin:-8px 0 15px}
.pipeline-edit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:18px 20px;border:1px solid rgba(var(--accent-rgb),.14);border-radius:20px;background:radial-gradient(circle at 88% 15%,rgba(var(--accent-rgb),.08),transparent 32%),#151d29}.pipeline-edit-toolbar h2{margin:5px 0 4px;font-size:20px}.pipeline-edit-toolbar p{margin:0;color:#8490a1;font-size:9px;line-height:1.45}.pipeline-edit-toolbar .btn{white-space:nowrap}
.pipeline-board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:17px 20px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#1a2230,#111722)}
.pipeline-board-toolbar h2{margin:5px 0 4px;font-size:19px}
.pipeline-board-toolbar p{margin:0;color:#8f9aaa;font-size:10px;line-height:1.45}
.pipeline-board-toolbar .btn{flex:none;white-space:nowrap}
.pipeline-column-title{display:flex;align-items:center;gap:9px;min-width:0}.pipeline-column-title>i{flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:var(--stage-color);box-shadow:0 0 0 5px rgba(var(--stage-rgb),.08)}.pipeline-column-title>div{display:grid;gap:3px;min-width:0}.pipeline-column-title small{color:#667286;font-size:7px;font-weight:800;text-transform:uppercase}.pipeline-column-title h3{overflow:hidden;color:#e8edf4;text-overflow:ellipsis;white-space:nowrap}
.pipeline-stage-hint{margin:-5px 4px 12px;padding:8px 9px;border:1px solid rgba(var(--stage-rgb),.14);border-radius:10px;background:rgba(var(--stage-rgb),.045);color:#9aa6b6;font-size:8px;line-height:1.45}
.column.drag-over{border-color:rgba(var(--stage-rgb),.55);background:rgba(var(--stage-rgb),.055);box-shadow:inset 0 0 0 2px rgba(var(--stage-rgb),.08)}
.lead-card.dragging{opacity:.45;transform:scale(.985)}
.lead-next-action{display:grid;grid-template-columns:1fr auto;gap:3px;margin:10px 0;padding:8px;border:1px solid rgba(var(--stage-rgb),.12);border-radius:10px;background:rgba(var(--stage-rgb),.035)}
.lead-next-action span{grid-column:1/-1;color:#718094;font-size:7px;font-weight:900;text-transform:uppercase}.lead-next-action strong{overflow:hidden;color:#bdc6d3;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.lead-next-action small{color:var(--stage-color);font-size:7px;font-weight:850}
.lead-stage-mobile{display:none;margin-top:10px;font-size:8px}.lead-stage-mobile select{padding:8px 10px;font-size:9px}
.pipeline-settings-panel{margin-top:24px;scroll-margin-top:20px}.pipeline-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}.pipeline-settings-head h2{margin:6px 0 6px;font-size:21px}.pipeline-settings-head p{max-width:720px;margin:0;color:#8793a4;font-size:10px;line-height:1.5}.pipeline-settings-head>span{padding:7px 10px;border:1px solid var(--line);border-radius:99px;color:#8793a4;font-size:8px;font-weight:850;text-transform:uppercase}
.pipeline-role-mapping{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(520px,1.35fr);gap:16px;margin-bottom:16px;padding:16px;border:1px solid rgba(var(--accent-rgb),.14);border-radius:18px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.045),#111722 50%)}.pipeline-role-copy h3{margin:6px 0 5px;font-size:16px}.pipeline-role-copy p{margin:0;color:#7f8b9c;font-size:9px;line-height:1.5}.pipeline-role-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.pipeline-role-grid label{font-size:7px}.pipeline-role-grid select{padding:9px;font-size:9px}.pipeline-role-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding-top:12px;border-top:1px solid var(--line)}.pipeline-role-footer small{margin-right:auto;color:#738092;font-size:8px;line-height:1.4}.pipeline-role-footer .btn{padding:9px 12px;font-size:9px}
.pipeline-stage-editor-list{display:grid;gap:8px}.pipeline-stage-editor{display:grid;grid-template-columns:52px minmax(420px,1.3fr) minmax(180px,.7fr) auto auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid rgba(var(--stage-rgb),.14);border-radius:16px;background:linear-gradient(90deg,rgba(var(--stage-rgb),.045),#111722 25%)}
.pipeline-stage-number{display:grid;place-items:center;gap:4px}.pipeline-stage-number i{width:12px;height:12px;border-radius:50%;background:var(--stage-color);box-shadow:0 0 0 5px rgba(var(--stage-rgb),.09)}.pipeline-stage-number strong{color:#7d899b;font-size:9px}
.pipeline-stage-fields{display:grid;grid-template-columns:minmax(180px,1fr) 145px auto;align-items:end;gap:9px}.pipeline-stage-fields label{font-size:7px}.pipeline-stage-fields input{padding:9px 10px;font-size:10px}.pipeline-stage-fields .btn{padding:9px 12px;font-size:9px}
.pipeline-color-input{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:7px}.pipeline-color-input input{height:36px;padding:3px}.pipeline-color-input span{color:#8a96a7;font-size:8px;font-weight:800}
.pipeline-stage-roles{display:flex;flex-wrap:wrap;gap:5px}.pipeline-stage-roles span{width:100%;color:#6f7b8d;font-size:7px;font-weight:850;text-transform:uppercase}.pipeline-stage-roles b{padding:4px 6px;border-radius:99px;background:rgba(var(--stage-rgb),.08);color:var(--stage-color);font-size:7px}
.pipeline-stage-order{display:flex;gap:5px}.pipeline-stage-order form{margin:0}.pipeline-stage-order button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#1d2633;color:#c2cad5;cursor:pointer}.pipeline-stage-order button:disabled{opacity:.28;cursor:not-allowed}
.pipeline-stage-delete{position:relative}.pipeline-stage-delete>summary{padding:8px;color:#ff8d9a;font-size:8px;font-weight:800;cursor:pointer;list-style:none}.pipeline-stage-delete>summary::-webkit-details-marker{display:none}.pipeline-stage-delete[open]{grid-column:2/-1;width:100%}.pipeline-stage-delete form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:10px;padding:12px;border:1px solid rgba(255,110,126,.15);border-radius:13px;background:#21151b}.pipeline-stage-delete p{margin:0;color:#aa8990;font-size:8px;line-height:1.4}.pipeline-stage-delete label{font-size:7px}.pipeline-stage-delete select{padding:9px;font-size:9px}.pipeline-stage-delete button{padding:10px 12px;border:0;border-radius:10px;background:#ff7182;color:#170b0e;font-size:9px;font-weight:900;cursor:pointer}
.pipeline-add-stage{display:grid;grid-template-columns:minmax(230px,1fr) minmax(220px,1fr) 90px auto;align-items:end;gap:12px;margin-top:14px;padding:16px;border:1px dashed rgba(var(--accent-rgb),.24);border-radius:17px;background:rgba(var(--accent-rgb),.025)}.pipeline-add-stage>div{display:grid;gap:5px}.pipeline-add-stage>div strong{font-size:12px}.pipeline-add-stage label{font-size:7px}.pipeline-add-stage input{padding:10px;font-size:10px}.pipeline-add-stage input[type="color"]{height:41px;padding:4px}.pipeline-add-stage .btn{padding:11px 14px;font-size:10px}
@media(max-width:1150px){.pipeline-role-mapping{grid-template-columns:1fr}.pipeline-role-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.pipeline-stage-editor{grid-template-columns:44px 1fr auto}.pipeline-stage-roles{grid-column:2}.pipeline-stage-order{grid-column:3;grid-row:1}.pipeline-stage-delete{grid-column:3;grid-row:2}.pipeline-stage-delete[open]{grid-column:2/-1;grid-row:3}.pipeline-add-stage{grid-template-columns:1fr 1fr 80px}.pipeline-add-stage>div{grid-column:1/-1}}
@media(max-width:720px){.pipeline-edit-toolbar,.pipeline-board-toolbar{align-items:stretch;flex-direction:column;padding:16px}.pipeline-edit-toolbar .btn,.pipeline-board-toolbar .btn{width:100%;text-align:center}.lead-stage-mobile{display:grid}.pipeline-settings-panel{padding:15px}.pipeline-settings-head{display:block}.pipeline-settings-head>span{display:inline-flex;margin-top:12px}.pipeline-role-mapping{grid-template-columns:1fr;padding:13px}.pipeline-role-grid{grid-template-columns:1fr 1fr}.pipeline-role-footer{align-items:stretch;flex-direction:column}.pipeline-role-footer .btn{width:100%}.pipeline-stage-editor{grid-template-columns:34px 1fr;padding:11px 9px}.pipeline-stage-fields{grid-template-columns:1fr}.pipeline-stage-roles,.pipeline-stage-order,.pipeline-stage-delete{grid-column:2;grid-row:auto}.pipeline-stage-delete[open]{grid-column:1/-1;grid-row:auto}.pipeline-stage-delete form{grid-template-columns:1fr}.pipeline-add-stage{grid-template-columns:1fr}.pipeline-add-stage>div{grid-column:1}.pipeline-add-stage .btn{width:100%}}

/* Guided deposit transition */
.client-deposit-next-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:17px 18px;border:1px solid rgba(255,198,107,.25);border-radius:20px;background:linear-gradient(100deg,rgba(255,198,107,.08),rgba(255,198,107,.025) 58%,rgba(var(--accent-rgb),.045))}
.client-deposit-step-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#ffc66b;color:#16110a;font-size:17px;font-weight:950;box-shadow:0 8px 24px rgba(255,198,107,.12)}
.client-deposit-next-step h2{margin:5px 0 4px;font-size:17px}.client-deposit-next-step p{margin:0;color:#c4ccd7;font-size:10px}.client-deposit-next-step small{display:block;margin-top:5px;color:#7e8a9b;font-size:9px;line-height:1.45}.client-deposit-next-step>.btn{white-space:nowrap}
body.modal-open{overflow:hidden}
.stage-deposit-modal{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:20px}
.stage-deposit-modal[hidden]{display:none!important}
.stage-deposit-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(3,7,12,.78);backdrop-filter:blur(8px);cursor:default}
.stage-deposit-dialog{position:relative;width:min(100%,620px);max-height:calc(100vh - 40px);padding:24px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:25px;background:radial-gradient(circle at 92% 2%,rgba(var(--accent-rgb),.12),transparent 30%),#171f2c;box-shadow:0 34px 90px rgba(0,0,0,.48);overflow:auto}
.stage-deposit-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.stage-deposit-dialog h2{margin:6px 0 6px;font-size:27px}.stage-deposit-dialog header p{max-width:490px;margin:0;color:#8995a6;font-size:10px;line-height:1.5}
.stage-deposit-close{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid var(--line);border-radius:12px;background:#202936;color:#aeb7c4;font-size:22px;line-height:1;cursor:pointer}.stage-deposit-close:hover{color:#fff}
.stage-deposit-appointment{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;margin:18px 0;padding:14px 15px;border:1px solid var(--line);border-radius:16px;background:#101721}.stage-deposit-appointment>span{grid-column:1/-1;color:#687587;font-size:7px;font-weight:900;letter-spacing:.08em}.stage-deposit-appointment strong{font-size:14px}.stage-deposit-appointment p{margin:0;color:#9aa5b4;font-size:10px}.stage-deposit-appointment time{grid-column:2;grid-row:2/4;align-self:center;color:#ffc66b;font-size:10px;font-weight:900}
#stage-deposit-form{display:grid;gap:11px}#stage-deposit-form>label:not(.deposit-receipt-upload){display:grid;gap:7px;color:#98a3b3;font-size:8px;font-weight:900;text-transform:uppercase}#stage-deposit-form input[type="number"]{min-height:50px;font-size:15px;font-weight:850}.stage-deposit-submit{width:100%;min-height:48px;font-size:11px}
.stage-deposit-error{margin:0;padding:10px 12px;border:1px solid rgba(255,123,139,.25);border-radius:11px;background:rgba(255,123,139,.07);color:#ff9ba7;font-size:9px}.stage-deposit-error:empty{display:none}
.stage-deposit-exception{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.stage-deposit-exception>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#222b38;color:#718094;font-size:8px;font-weight:900;text-transform:uppercase}.stage-deposit-exception p{display:grid;gap:3px;margin:0}.stage-deposit-exception strong{font-size:10px}.stage-deposit-exception small{color:#778394;font-size:8px;line-height:1.35}.stage-deposit-exception .btn{white-space:nowrap}
.stage-deposit-modal.busy .stage-deposit-dialog{cursor:progress}.stage-deposit-modal.busy .stage-deposit-dialog:after{content:"Guardando…";position:absolute;inset:auto 24px 24px auto;padding:6px 9px;border-radius:99px;background:#0e151f;color:var(--accent);font-size:8px;font-weight:900}
@media(max-width:860px){.client-deposit-next-step{grid-template-columns:auto 1fr}.client-deposit-next-step>.btn{grid-column:auto}.client-deposit-next-step>div:nth-child(2){grid-column:2}.client-deposit-next-step>.btn.primary{grid-column:1/2}.client-deposit-next-step>a.btn{grid-column:2}}
@media(max-width:620px){.stage-deposit-modal{align-items:end;padding:0}.stage-deposit-dialog{width:100%;max-height:92vh;padding:20px;border-radius:24px 24px 0 0}.stage-deposit-appointment{grid-template-columns:1fr}.stage-deposit-appointment time{grid-column:1;grid-row:auto;margin-top:5px}.stage-deposit-exception{grid-template-columns:auto 1fr}.stage-deposit-exception .btn{grid-column:1/-1;width:100%}.client-deposit-next-step{grid-template-columns:1fr;padding:15px}.client-deposit-step-icon{width:36px;height:36px}.client-deposit-next-step>div:nth-child(2),.client-deposit-next-step>.btn.primary,.client-deposit-next-step>a.btn{grid-column:1;width:100%;text-align:center}}

/* Production usability and accessibility */
.skip-link{position:fixed;z-index:300;top:8px;left:8px;padding:10px 14px;border-radius:10px;background:var(--accent);color:var(--accent-contrast);font-weight:900;transform:translateY(-150%);transition:transform .15s}
.skip-link:focus{transform:translateY(0)}
:where(a,button,input,textarea,select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.logout-form{display:flex;margin-top:auto}.logout-form .logout{margin:0;border:0;background:transparent;cursor:pointer}.logout-form .logout:hover{background:var(--panel-2);color:#fff}
.global-notice{margin:-10px 0 18px;border:1px solid rgba(var(--accent-rgb),.14)}
.directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.directory-toolbar .search{flex:1;margin:0}.directory-toolbar>span{color:#8793a4;font-size:11px;font-weight:800;white-space:nowrap}
.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px}.pagination span{color:#8d98a7;font-size:11px;font-weight:750}
.pipeline-search{display:flex;align-items:center;gap:8px;min-width:min(420px,40vw)}.pipeline-search input{min-width:0;padding:10px 12px}.pipeline-search .btn{padding:10px 12px}
.completed-followup-item{grid-template-columns:44px minmax(0,1fr) auto auto}.completed-followup-item>form{margin:0}
@media(max-width:980px){.pipeline-board-toolbar{flex-wrap:wrap}.pipeline-search{order:3;width:100%;min-width:0}.completed-followup-item{grid-template-columns:44px minmax(0,1fr) auto}.completed-followup-item>form{grid-column:2}}
@media(max-width:720px){.logout-form{display:none}.directory-toolbar{align-items:stretch;flex-direction:column}.directory-toolbar .search{flex-wrap:wrap}.directory-toolbar .search input{flex:1;min-width:180px}.pipeline-search{flex-wrap:wrap}.pipeline-search input{flex:1;min-width:180px}.completed-followup-item>form{grid-column:1/-1}.completed-followup-item>form .btn{width:100%}.pagination{justify-content:space-between}.pagination .btn{padding:9px 10px;font-size:10px}}

/* Client calendar links */
.appointment-calendar-share{display:grid;gap:14px;border-color:rgba(var(--accent-rgb),.22);background:radial-gradient(circle at 100% 0,rgba(var(--accent-rgb),.11),transparent 42%),linear-gradient(145deg,#1a2230,#111722)}
.appointment-calendar-share>header{display:flex;align-items:center;gap:12px}.appointment-calendar-share h2{margin:4px 0 0;font-size:18px}.appointment-calendar-share>p{margin:0;color:#9ca7b6;font-size:10px;line-height:1.55}
.appointment-calendar-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:var(--accent);color:var(--accent-contrast);box-shadow:0 10px 28px rgba(var(--accent-rgb),.16)}.appointment-calendar-icon svg{width:20px;height:20px}
.appointment-calendar-date{display:grid;grid-template-columns:1fr 1fr;gap:8px}.appointment-calendar-date>div{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#101721}.appointment-calendar-date small{color:#718094;font-size:7px;font-weight:900}.appointment-calendar-date strong{font-size:12px}
.appointment-calendar-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.appointment-calendar-actions .btn{display:grid;place-items:center;width:100%;min-height:40px;padding:9px;text-align:center}.btn.disabled{opacity:.42;cursor:not-allowed;pointer-events:none}
.calendar-public{min-height:100vh;padding:28px;background:radial-gradient(circle at 78% 5%,rgba(var(--accent-rgb),.15),transparent 28%),#090d13;color:var(--ink)}
.calendar-public-shell{width:min(820px,100%);margin:0 auto}.calendar-public-brand{display:flex;align-items:center;gap:12px;margin-bottom:32px}.calendar-public-brand .brand-preview-icon{width:48px;height:48px;flex-basis:48px}.calendar-public-brand strong{font-size:15px}
.calendar-public-card{position:relative;padding:clamp(24px,5vw,54px);border:1px solid rgba(var(--accent-rgb),.24);border-radius:30px;background:radial-gradient(circle at 100% 0,rgba(var(--accent-rgb),.1),transparent 37%),linear-gradient(145deg,#1b2330,#111722);box-shadow:0 30px 80px rgba(0,0,0,.34)}.calendar-public-card.pending{border-color:rgba(255,198,107,.25)}.calendar-public-card.cancelled{border-color:rgba(255,123,139,.25)}
.calendar-public-status{position:absolute;top:24px;right:24px;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:99px;background:rgba(var(--accent-rgb),.07);color:var(--accent);font-size:8px;font-weight:900;text-transform:uppercase}.calendar-public-status span{width:7px;height:7px;border-radius:50%;background:currentColor}.calendar-public-card.pending .calendar-public-status{border-color:rgba(255,198,107,.2);background:rgba(255,198,107,.06);color:#ffc66b}.calendar-public-card.cancelled .calendar-public-status{border-color:rgba(255,123,139,.2);background:rgba(255,123,139,.06);color:#ff7b8b}
.calendar-public-card>.eyebrow{color:var(--accent)}.calendar-public-card h1{max-width:620px;margin:10px 0 14px;font-size:clamp(34px,7vw,56px);line-height:1;letter-spacing:-2px}.calendar-public-intro{max-width:650px;margin:0;color:#a7b1bf;font-size:14px;line-height:1.6}
.calendar-public-date{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-top:28px}.calendar-public-date>div{display:grid;gap:7px;padding:17px;border:1px solid var(--line);border-radius:17px;background:#101721}.calendar-public-date small{color:#718094;font-size:8px;font-weight:900;letter-spacing:.06em}.calendar-public-date strong{font-size:15px}
.calendar-public-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px}.calendar-public-actions .btn{display:grid;place-items:center;min-height:48px;padding:11px;text-align:center}.calendar-public-note{margin:16px 0 0;color:#718094;font-size:9px;line-height:1.5}
@media(max-width:720px){.appointment-calendar-actions{grid-template-columns:1fr}.calendar-public{padding:16px}.calendar-public-card{padding-top:74px;border-radius:24px}.calendar-public-status{top:22px;left:22px;right:auto}.calendar-public-date,.calendar-public-actions{grid-template-columns:1fr}.calendar-public-card h1{letter-spacing:-1.4px}}

/* Guided appointment creation */
.booking-wizard{width:min(1180px,100%);margin:0 auto}
.booking-progress{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px;padding:0;list-style:none}
.booking-progress:before{content:"";position:absolute;z-index:0;top:24px;left:10%;right:10%;height:2px;background:#252e3b}
.booking-progress li{position:relative;z-index:1;display:flex;align-items:center;gap:11px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:17px;background:#121923;color:#7d8999}
.booking-progress li>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:#252e3b;color:#9aa5b5;font-size:10px;font-weight:950}
.booking-progress li>div{display:grid;gap:3px;min-width:0}
.booking-progress li strong{color:#afb8c5;font-size:11px}
.booking-progress li small{overflow:hidden;color:#727f91;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.booking-progress li.done{border-color:rgba(var(--accent-rgb),.14);background:rgba(var(--accent-rgb),.035)}
.booking-progress li.done>span{background:rgba(var(--accent-rgb),.15);color:var(--accent)}
.booking-progress li.current{border-color:rgba(var(--accent-rgb),.42);background:linear-gradient(135deg,rgba(var(--accent-rgb),.11),#151d28 62%);box-shadow:0 12px 30px rgba(var(--accent-rgb),.05)}
.booking-progress li.current>span{background:var(--accent);color:var(--accent-contrast);box-shadow:0 8px 20px rgba(var(--accent-rgb),.16)}
.booking-progress li.current strong{color:#fff}
.booking-form{display:grid;gap:14px}
.booking-section{padding:clamp(20px,3vw,30px);border:1px solid var(--line);border-radius:25px;background:radial-gradient(circle at 100% 0,rgba(var(--accent-rgb),.055),transparent 30%),linear-gradient(145deg,#1a222e,#121923)}
.booking-section>header{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}
.booking-section>header h2{margin:5px 0 6px;font-size:clamp(22px,3vw,29px);letter-spacing:-.7px}
.booking-section>header p{margin:0;color:#8b97a8;font-size:10px;line-height:1.5}
.booking-section .form-grid{margin-bottom:12px}
.booking-section>label{display:grid}
.booking-reservation{border-color:rgba(var(--accent-rgb),.16)}
.booking-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.booking-mode-options label{position:relative;min-width:0;cursor:pointer}
.booking-mode-options input{position:absolute;inset:0;opacity:0;pointer-events:none}
.booking-mode-options label>span{display:grid;gap:5px;height:100%;min-height:82px;padding:16px;border:1px solid var(--line);border-radius:17px;background:#111822;transition:border-color .15s,background .15s,transform .15s}
.booking-mode-options label>span:before{content:"";position:absolute;top:17px;right:17px;width:10px;height:10px;border:2px solid #536072;border-radius:50%;background:#111822;box-shadow:0 0 0 4px #1b2430}
.booking-mode-options label:hover>span{border-color:#445064;background:#151e2a;transform:translateY(-1px)}
.booking-mode-options input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.booking-mode-options input:checked+span{border-color:rgba(var(--accent-rgb),.55);background:linear-gradient(135deg,rgba(var(--accent-rgb),.12),#151d28);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.08)}
.booking-mode-options input:checked+span:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.12)}
.booking-mode-options b{padding-right:28px;color:#f4f7fa;font-size:13px}
.booking-mode-options small{color:#818d9e;font-size:9px;font-weight:550;line-height:1.45}
.booking-mode-panel{padding:17px;border:1px solid rgba(var(--accent-rgb),.17);border-radius:18px;background:rgba(var(--accent-rgb),.04)}
.booking-mode-panel[hidden]{display:none!important}
.booking-mode-panel .form-grid{margin:0}
.booking-mode-panel>p{margin:11px 0 0;color:#8591a2;font-size:9px;line-height:1.45}
.booking-mode-panel .booking-payment-warning{padding:10px 12px;border:1px solid rgba(255,198,107,.2);border-radius:11px;background:rgba(255,198,107,.06);color:#b9a77e}
.booking-payment-warning strong{color:#ffc66b}.booking-payment-warning a{color:#fff;font-weight:850}
.booking-mode-explanation{display:grid;gap:5px;min-height:80px;align-content:center}
.booking-mode-explanation strong{font-size:14px}
.booking-mode-explanation span{color:#8d98a8;font-size:10px;line-height:1.45}
.booking-optional-details{border:1px solid var(--line);border-radius:22px;background:#121923;overflow:hidden}
.booking-optional-details>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 21px;cursor:pointer;list-style:none}
.booking-optional-details>summary::-webkit-details-marker{display:none}
.booking-optional-details>summary>div{display:grid;gap:4px}
.booking-optional-details>summary strong{font-size:13px}
.booking-optional-details>summary small{color:#7d8999;font-size:9px}
.booking-optional-details>summary>span{padding:7px 10px;border:1px solid var(--line);border-radius:99px;color:#a7b1bf;font-size:8px;font-weight:850;text-transform:uppercase}
.booking-optional-details[open]>summary{border-bottom:1px solid var(--line);background:#171f2a}
.booking-optional-details[open]>summary>span{border-color:rgba(var(--accent-rgb),.22);color:var(--accent)}
.booking-optional-content{display:grid;gap:14px;padding:20px}
.booking-submit{position:sticky;z-index:12;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 16px 15px 20px;border:1px solid rgba(var(--accent-rgb),.25);border-radius:19px;background:rgba(15,22,31,.94);box-shadow:0 18px 48px rgba(0,0,0,.34);backdrop-filter:blur(14px)}
.booking-submit>div{display:grid;gap:4px}
.booking-submit strong{font-size:12px}
.booking-submit small{color:#8490a1;font-size:9px}
.booking-submit .btn{flex:0 0 auto;min-width:220px}

/* Appointment lifecycle: reserve, remind and close */
.appointment-flow-map{margin:14px 0;padding:20px;border:1px solid var(--line);border-radius:23px;background:radial-gradient(circle at 90% 0,rgba(var(--accent-rgb),.07),transparent 34%),#131a24}
.appointment-flow-map>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px}
.appointment-flow-map>header h2{margin:5px 0 0;font-size:20px;letter-spacing:-.4px}
.appointment-flow-map>header .btn{flex:0 0 auto}
.appointment-flow-map>ol{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0;padding:0;list-style:none}
.appointment-flow-map>ol:before{content:"";position:absolute;z-index:0;top:20px;left:8%;right:8%;height:2px;background:#283241}
.appointment-flow-map li{position:relative;z-index:1;display:flex;align-items:center;gap:10px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:15px;background:#111822}
.appointment-flow-map li>span{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:9px;background:#252e3b;color:#8e99a9;font-size:9px;font-weight:950}
.appointment-flow-map li>div{display:grid;gap:3px;min-width:0}
.appointment-flow-map li strong{font-size:10px}
.appointment-flow-map li small{overflow:hidden;color:#778496;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.appointment-flow-map li.done{border-color:rgba(var(--accent-rgb),.14);background:rgba(var(--accent-rgb),.035)}
.appointment-flow-map li.done>span{background:rgba(var(--accent-rgb),.15);color:var(--accent)}
.appointment-flow-map li.current{border-color:rgba(var(--accent-rgb),.4);background:linear-gradient(135deg,rgba(var(--accent-rgb),.12),#141d28)}
.appointment-flow-map li.current>span{background:var(--accent);color:var(--accent-contrast)}
.appointment-flow-map.cancelada{border-color:rgba(255,123,139,.18);background:radial-gradient(circle at 90% 0,rgba(255,123,139,.06),transparent 34%),#131a24}
.appointment-reminder-card{display:grid;gap:13px;scroll-margin-top:18px}
.appointment-reminder-card.pending{border-color:rgba(255,198,107,.3);background:radial-gradient(circle at 100% 0,rgba(255,198,107,.09),transparent 40%),linear-gradient(145deg,#1b222e,#131923)}
.appointment-reminder-card.sent{border-color:rgba(var(--accent-rgb),.2);background:radial-gradient(circle at 100% 0,rgba(var(--accent-rgb),.08),transparent 42%),linear-gradient(145deg,#1b222e,#131923)}
.appointment-reminder-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.appointment-reminder-card>header h2{margin:5px 0 0;font-size:18px}
.appointment-reminder-card>header>span{padding:6px 8px;border-radius:99px;background:rgba(255,198,107,.11);color:#ffc66b;font-size:8px;font-weight:900;text-transform:uppercase}
.appointment-reminder-card.sent>header>span{background:rgba(var(--accent-rgb),.1);color:var(--accent)}
.appointment-reminder-card>p{margin:0;color:#9aa5b5;font-size:10px;line-height:1.55}
.appointment-reminder-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.appointment-reminder-actions .btn{display:grid;place-items:center;width:100%;min-height:42px;padding:9px;text-align:center}
.appointment-reminder-complete{margin:0;padding-top:11px;border-top:1px solid var(--line)}
.appointment-reminder-complete .btn{width:100%;background:transparent}
.appointment-closing-form{scroll-margin-top:18px}
.appointment-closing-locked{display:grid;gap:9px;scroll-margin-top:18px;border-style:dashed;background:linear-gradient(145deg,#171e29,#111720)}
.appointment-closing-locked h2{margin:0;font-size:18px}
.appointment-closing-locked p{margin:0;color:#8a96a6;font-size:10px;line-height:1.5}
.appointment-closing-locked>div{display:flex;align-items:center;justify-content:space-between;margin-top:5px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#101721}
.appointment-closing-locked>div span{color:#7c899a;font-size:9px;font-weight:800;text-transform:uppercase}
.appointment-closing-locked>div strong{color:#b5bfcb;font-size:11px}
.appointment-closing-locked.action-required{border-style:solid;border-color:rgba(255,198,107,.26);background:linear-gradient(145deg,rgba(255,198,107,.08),#141923)}
.appointment-closing-locked.action-required .btn{margin-top:5px;width:100%;text-align:center}
.today-appointment em{display:grid;justify-items:end;gap:4px}
.today-appointment em span{color:#8995a5;font-size:8px}
.today-appointment em b{color:var(--accent);font-size:9px;font-style:normal}

@media(max-width:900px){
 .booking-mode-options{grid-template-columns:1fr}
 .appointment-flow-map>ol{grid-template-columns:1fr 1fr}
 .appointment-flow-map>ol:before{display:none}
}
@media(max-width:720px){
 .booking-progress{gap:5px}
 .booking-progress:before{display:none}
 .booking-progress li{justify-content:center;padding:9px}
 .booking-progress li>span{flex-basis:26px;width:26px;height:26px}
 .booking-progress li>div{display:none}
 .booking-section{padding:18px;border-radius:21px}
 .booking-section>header h2{font-size:22px}
 .booking-mode-options label>span{min-height:76px;padding:14px}
 .booking-submit{position:static;align-items:stretch;flex-direction:column;padding:15px}
 .booking-submit .btn{width:100%;min-width:0}
 .appointment-flow-map{padding:16px}
 .appointment-flow-map>header{align-items:stretch;flex-direction:column}
 .appointment-flow-map>header .btn{width:100%;text-align:center}
 .appointment-flow-map>ol{grid-template-columns:1fr}
 .appointment-reminder-actions{grid-template-columns:1fr}
 .today-appointment em{grid-column:2;justify-items:start}
}

/* iPad layouts: compact portrait calendar and balanced landscape details */
@media (min-width:901px) and (max-width:1500px){
 .appointment-summary-grid{grid-template-columns:1fr}
 .appointment-command-column{display:block;columns:2;column-gap:14px}
 .appointment-command-column>.card{display:inline-grid;width:100%;margin:0 0 14px;break-inside:avoid;page-break-inside:avoid}
}
@media (min-width:721px) and (max-width:1180px) and (orientation:portrait){
 .calendar-scroll{overflow-x:hidden}
 .calendar-weekdays,.calendar-grid{min-width:0;width:100%}
 .calendar-weekdays div{padding:11px 3px;text-align:center;font-size:0}
 .calendar-weekdays div:before{font-size:8px}
 .calendar-weekdays div:nth-child(1):before{content:"Lun"}
 .calendar-weekdays div:nth-child(2):before{content:"Mar"}
 .calendar-weekdays div:nth-child(3):before{content:"Mié"}
 .calendar-weekdays div:nth-child(4):before{content:"Jue"}
 .calendar-weekdays div:nth-child(5):before{content:"Vie"}
 .calendar-weekdays div:nth-child(6):before{content:"Sáb"}
 .calendar-weekdays div:nth-child(7):before{content:"Dom"}
 .calendar-day{min-height:116px;padding:6px}
 .calendar-day>header{height:23px}
 .calendar-day>header>span{width:21px;height:21px;font-size:9px}
 .calendar-day>header>b{padding:3px 5px;font-size:7px}
 .calendar-day>header>b em{display:none}
 .day-appointments{gap:4px;margin-top:4px}
 .calendar-event{gap:2px;padding:6px;border-left-width:2px;border-radius:8px}
 .calendar-event>span{font-size:7px}
 .calendar-event>span em,.calendar-event>small{display:none}
 .calendar-event>strong{font-size:9px}
 .appointment-summary-grid{grid-template-columns:1fr}
 .appointment-command-column{display:grid;grid-template-columns:1fr;columns:auto}
 .appointment-command-column>.card{display:grid;margin:0}
}

/* Final tattoo archive and publishing controls */
.appointment-result-summary{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:14px;margin-top:10px;padding:14px 16px;border:1px solid rgba(var(--accent-rgb),.18);border-radius:16px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.045),#111722)}
.appointment-result-summary>div:first-child{display:grid;gap:3px}.appointment-result-summary>div:first-child>span{color:#7d899a;font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.appointment-result-summary>div:first-child>strong{font-size:14px}.appointment-result-summary>div:first-child>small{color:#778496;font-size:9px}
.result-summary-thumbs{display:flex;align-items:center}.result-summary-thumbs a{position:relative;display:grid;place-items:center;width:42px;height:42px;margin-left:-7px;border:2px solid #111722;border-radius:12px;background:#252e3b;overflow:hidden}.result-summary-thumbs a:first-child{margin-left:0}.result-summary-thumbs img{width:100%;height:100%;object-fit:cover}.result-summary-thumbs i{position:absolute;right:3px;bottom:3px;width:7px;height:7px;border:1px solid #111722;border-radius:50%;background:#697586}.result-summary-thumbs i.public{background:var(--accent)}
.appointment-results-card{padding:26px}.appointment-results-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.appointment-results-head h2{margin:6px 0 7px;font-size:26px}.appointment-results-head p{max-width:690px;margin:0;color:#8c98a8;font-size:11px;line-height:1.55}.appointment-results-head>div:last-child{display:flex;align-items:center;gap:8px}.result-count{display:inline-flex;padding:7px 10px;border:1px solid var(--line);border-radius:99px;color:#919cac;font-size:9px;font-weight:900;white-space:nowrap}
.appointment-result-uploader{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(300px,1.2fr) auto;align-items:center;gap:12px;margin-bottom:20px;padding:14px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:18px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.045),#111722)}.appointment-result-uploader .reference-upload-field{min-height:102px}.appointment-result-uploader>.reference-file-list{grid-column:1/3}.appointment-result-uploader>.btn{grid-column:3;grid-row:1/3;white-space:nowrap}
.result-upload-fields{display:grid;gap:10px}.result-publish-choice,.portfolio-enabled-control{display:flex!important;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#101721;cursor:pointer}.result-publish-choice input,.portfolio-enabled-control input,.result-visibility-toggle input{flex:0 0 auto;width:17px;height:17px;margin:1px 0 0;accent-color:var(--accent)}.result-publish-choice span,.portfolio-enabled-control span{display:grid;gap:3px}.result-publish-choice strong,.portfolio-enabled-control strong{font-size:11px;text-transform:none;letter-spacing:0}.result-publish-choice small,.portfolio-enabled-control small{color:#7f8b9c;font-size:8px;font-weight:600;line-height:1.4;text-transform:none;letter-spacing:0}
.appointment-result-locked{display:flex;align-items:center;gap:14px;padding:18px;border:1px dashed var(--line);border-radius:17px;background:#111722}.appointment-result-locked>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:#202937;color:#8794a5;font-size:18px}.appointment-result-locked strong{font-size:13px}.appointment-result-locked p{margin:4px 0 0;color:#7d8999;font-size:9px;line-height:1.5}
.appointment-result-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.appointment-result-item{min-width:0;border:1px solid var(--line);border-radius:19px;background:#111722;overflow:hidden}.appointment-result-item.published{border-color:rgba(var(--accent-rgb),.25)}.result-preview{position:relative;display:block;aspect-ratio:4/3;background:#0d131d;overflow:hidden}.result-preview img{width:100%;height:100%;object-fit:cover;transition:transform .24s ease}.result-preview:hover img{transform:scale(1.025)}.result-preview>span{position:absolute;top:10px;right:10px;padding:6px 8px;border:1px solid rgba(255,255,255,.13);border-radius:99px;background:rgba(8,12,18,.78);color:#b7c0cc;font-size:7px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;backdrop-filter:blur(8px)}.appointment-result-item.published .result-preview>span{border-color:rgba(var(--accent-rgb),.28);color:var(--accent)}
.result-edit-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px}.result-edit-form>label:first-of-type{grid-column:1/-1}.result-edit-form input[type=text],.result-edit-form input:not([type]){min-width:0}.result-visibility-toggle{display:flex!important;align-items:center;gap:7px;margin:0;padding:0;color:#a8b2bf;font-size:8px;font-weight:800;letter-spacing:0;text-transform:none}.result-edit-form .btn{align-self:end}.appointment-result-item>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border-top:1px solid var(--line)}.appointment-result-item>footer small{color:#697688;font-size:8px}.appointment-result-item>footer form{margin:0}.appointment-result-item>footer button{border:0;background:transparent;color:#ff8f9c;font-size:8px;font-weight:850;cursor:pointer}
.appointment-result-empty{min-height:220px;display:grid;place-items:center;align-content:center;margin-top:16px;border:1px dashed var(--line);border-radius:19px;text-align:center}.appointment-result-empty>div{display:grid;place-items:center;width:52px;height:52px;margin-bottom:12px;border-radius:17px;background:rgba(var(--accent-rgb),.09);color:var(--accent);font-size:23px}.appointment-result-empty strong{font-size:16px}.appointment-result-empty span{max-width:460px;margin-top:6px;color:#7d8999;font-size:10px;line-height:1.5}
.portfolio-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.portfolio-settings-head h2{margin:7px 0 8px;font-size:23px}.portfolio-settings-head p{margin:0}.portfolio-profile-current{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#111722}.portfolio-profile-current img{width:58px;height:58px;border-radius:15px;object-fit:cover}.portfolio-profile-current label{display:flex;align-items:center;gap:8px;margin:0;color:#a4aebb;font-size:9px;font-weight:750;letter-spacing:0;text-transform:none}.portfolio-profile-current input{width:16px;height:16px;accent-color:var(--accent)}

/* Public portfolio landing */
.portfolio-public{min-height:100vh;margin:0;background:#080c12;color:#f4f7fb}.portfolio-public:before{content:"";position:fixed;z-index:-1;inset:0;background:radial-gradient(circle at 78% 7%,rgba(var(--accent-rgb),.13),transparent 27%),radial-gradient(circle at 15% 42%,rgba(var(--accent-rgb),.045),transparent 30%)}.portfolio-nav{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;width:min(1240px,calc(100% - 40px));margin:0 auto;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(8,12,18,.86);backdrop-filter:blur(18px)}.portfolio-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.portfolio-brand>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--accent);color:var(--accent-contrast);font-size:13px;font-weight:950;overflow:hidden;box-shadow:0 12px 28px rgba(var(--accent-rgb),.18)}.portfolio-brand img{width:100%;height:100%;object-fit:cover}.portfolio-brand strong{font-size:15px}.portfolio-nav nav{display:flex;gap:28px}.portfolio-nav nav a{color:#a7b0bd;font-size:12px;font-weight:850;text-decoration:none;text-transform:uppercase;letter-spacing:.07em}.portfolio-nav nav a:hover{color:#fff}
.portfolio-public main{width:min(1240px,calc(100% - 40px));margin:0 auto}.portfolio-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:clamp(38px,7vw,100px);min-height:min(760px,82vh);padding:68px 0}.portfolio-kicker,.portfolio-work>header span,.portfolio-contact>div>span{color:var(--accent);font-size:12px;font-weight:950;letter-spacing:.12em}.portfolio-hero h1{max-width:820px;margin:18px 0 22px;font-size:clamp(48px,7.4vw,100px);line-height:.92;letter-spacing:-.055em}.portfolio-hero-copy>p{max-width:650px;margin:0;color:#aab4c1;font-size:clamp(16px,1.6vw,19px);line-height:1.7}.portfolio-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.portfolio-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 20px;border:1px solid #334052;border-radius:14px;background:#151c26;color:#f2f5f8;font-size:14px;font-weight:850;text-decoration:none;transition:transform .18s,border-color .18s}.portfolio-button:hover{transform:translateY(-2px);border-color:#536276}.portfolio-button.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);box-shadow:0 16px 38px rgba(var(--accent-rgb),.16)}
.portfolio-portrait{position:relative;display:grid;place-items:center;aspect-ratio:4/5;border:1px solid rgba(var(--accent-rgb),.22);border-radius:28px;background:linear-gradient(155deg,rgba(var(--accent-rgb),.12),#141b25 55%,#0e141d);overflow:hidden;box-shadow:0 26px 70px rgba(0,0,0,.28)}.portfolio-portrait>img{width:100%;height:100%;object-fit:cover;object-position:center}.portfolio-portrait>span{font-size:clamp(66px,10vw,130px);font-weight:950;letter-spacing:-.08em}.portfolio-portrait>i{position:absolute;right:18px;bottom:18px;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:99px;background:rgba(8,12,18,.76);color:#e2e7ed;font-size:11px;font-style:normal;font-weight:850;backdrop-filter:blur(12px)}
.portfolio-work{padding:70px 0 100px}.portfolio-work>header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.portfolio-work h2{margin:9px 0 0;font-size:clamp(34px,5vw,58px);letter-spacing:-.04em}.portfolio-work>header>p{max-width:420px;margin:0;color:#9da8b6;font-size:15px;line-height:1.6}.portfolio-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:15px}.portfolio-gallery figure{position:relative;min-width:0;margin:0;border-radius:22px;background:#111722;overflow:hidden}.portfolio-gallery figure.featured{grid-column:span 2;grid-row:span 2}.portfolio-gallery figure>a{display:block;aspect-ratio:4/5;overflow:hidden}.portfolio-gallery figure.featured>a{aspect-ratio:auto;height:100%}.portfolio-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.portfolio-gallery figure:hover img{transform:scale(1.025)}.portfolio-gallery figcaption{position:absolute;right:0;bottom:0;left:0;display:grid;gap:3px;padding:54px 16px 16px;background:linear-gradient(transparent,rgba(5,8,12,.86));pointer-events:none}.portfolio-gallery figcaption strong{font-size:15px}.portfolio-gallery figcaption span{color:#b7c0cb;font-size:12px}.portfolio-empty{display:grid;place-items:center;align-content:center;min-height:360px;border:1px dashed #344052;border-radius:28px;text-align:center}.portfolio-empty>span{color:var(--accent);font-size:42px}.portfolio-empty h3{margin:14px 0 9px;font-size:26px}.portfolio-empty p{margin:0;color:#9aa5b3;font-size:15px}
.portfolio-contact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;margin-bottom:50px;padding:clamp(28px,5vw,64px);border:1px solid rgba(var(--accent-rgb),.22);border-radius:30px;background:radial-gradient(circle at 100% 0,rgba(var(--accent-rgb),.14),transparent 42%),#131a23}.portfolio-contact h2{max-width:760px;margin:13px 0 12px;font-size:clamp(32px,5vw,62px);line-height:1;letter-spacing:-.045em}.portfolio-contact p{margin:0;color:#a7b1be;font-size:16px;line-height:1.55}.portfolio-contact>div:last-child{display:grid;gap:10px;min-width:240px}.portfolio-footer{display:flex;align-items:center;justify-content:space-between;width:min(1240px,calc(100% - 40px));margin:0 auto;padding:28px 0 42px;border-top:1px solid rgba(255,255,255,.1);color:#8d98a7;font-size:13px}.portfolio-footer strong{color:#c0c8d2}
@media(max-width:1100px){.appointment-result-uploader{grid-template-columns:1fr 1fr}.appointment-result-uploader>.reference-file-list{grid-column:1}.appointment-result-uploader>.btn{grid-column:2;grid-row:2}.appointment-result-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.appointment-result-summary{grid-template-columns:1fr auto}.appointment-result-summary>.btn{grid-column:1/-1;text-align:center}.appointment-results-card{padding:18px}.appointment-results-head,.portfolio-settings-head{display:block}.appointment-results-head>div:last-child{margin-top:12px}.appointment-result-uploader{grid-template-columns:1fr}.appointment-result-uploader>.reference-file-list,.appointment-result-uploader>.btn{grid-column:1;grid-row:auto}.appointment-result-gallery{grid-template-columns:1fr}.portfolio-nav,.portfolio-public main,.portfolio-footer{width:min(100% - 28px,1240px)}.portfolio-nav nav{gap:12px}.portfolio-nav nav a:first-child{display:none}.portfolio-hero{grid-template-columns:1fr;min-height:auto;padding:52px 0}.portfolio-hero h1{font-size:clamp(45px,15vw,70px)}.portfolio-portrait{width:min(100%,430px);margin:0 auto}.portfolio-work{padding:55px 0}.portfolio-work>header{display:block}.portfolio-work>header>p{margin-top:12px}.portfolio-gallery{grid-template-columns:1fr 1fr;gap:9px}.portfolio-gallery figure.featured{grid-column:span 2}.portfolio-contact{grid-template-columns:1fr}.portfolio-contact>div:last-child{min-width:0}.portfolio-footer{gap:20px}.portfolio-footer span{text-align:right}}
@media(max-width:480px){.portfolio-gallery{grid-template-columns:1fr}.portfolio-gallery figure.featured{grid-column:span 1;grid-row:span 1}.portfolio-gallery figure.featured>a{aspect-ratio:4/5}.portfolio-brand strong{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* 3.6.0 · Shared daily action center */
.daily-action-center{margin-bottom:18px;padding:0;overflow:hidden;scroll-margin-top:24px;border-color:rgba(var(--accent-rgb),.18)}
.daily-action-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;background:radial-gradient(circle at 100% 0,rgba(var(--accent-rgb),.1),transparent 42%),#171e29}
.daily-action-head h2{margin:5px 0 6px;font-size:26px;letter-spacing:-.6px}.daily-action-head p{margin:0;color:#8f9aaa;font-size:11px;line-height:1.5}
.daily-action-count{display:grid;grid-template-columns:auto auto;align-items:center;gap:3px 9px;flex:0 0 auto;min-width:118px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#111722}.daily-action-count strong{grid-row:1/3;font-size:28px;line-height:1}.daily-action-count span{max-width:70px;color:#8995a5;font-size:9px;font-weight:800;line-height:1.25}.daily-action-count.has-items{border-color:rgba(var(--accent-rgb),.25)}.daily-action-count.has-items strong{color:var(--accent)}
.daily-action-list{display:grid}.daily-action-item{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:18px;padding:17px 24px;border-top:1px solid var(--line)}.daily-action-item:before{content:"";position:absolute;inset:11px auto 11px 0;width:3px;border-radius:99px;background:var(--accent)}.daily-action-item.overdue:before{background:#ff7285}.daily-action-item:hover{background:rgba(255,255,255,.018)}
.daily-action-state{display:grid;gap:3px}.daily-action-state span{color:#758193;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.daily-action-state strong{font-size:11px}.daily-action-item.overdue .daily-action-state strong{color:#ff8190}
.daily-action-copy{min-width:0;display:grid;gap:3px}.daily-action-copy>span{color:#7f8b9b;font-size:8px;font-weight:900;text-transform:uppercase}.daily-action-copy>a{width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#f3f6fa;font-size:15px;font-weight:900;text-decoration:none;white-space:nowrap}.daily-action-copy>a:hover{color:var(--accent)}.daily-action-copy p{margin:0;overflow:hidden;text-overflow:ellipsis;color:#9ca7b6;font-size:11px;white-space:nowrap}
.daily-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px}.daily-action-buttons form{margin:0}.daily-action-buttons .btn{padding:9px 12px;font-size:10px}
.daily-action-clear{display:flex;align-items:center;gap:14px;padding:20px 24px;border-top:1px solid var(--line)}.daily-action-clear>span{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:14px;background:rgba(var(--accent-rgb),.1);color:var(--accent);font-weight:950}.daily-action-clear>div{min-width:0;margin-right:auto}.daily-action-clear strong{font-size:14px}.daily-action-clear p{margin:4px 0 0;color:#8490a0;font-size:10px}.daily-action-clear .btn{flex:0 0 auto}
.daily-action-footer{padding:11px 24px;border-top:1px solid var(--line);text-align:right}.daily-action-footer a{color:var(--accent);font-size:10px;font-weight:850;text-decoration:none}

/* Followups inside the monthly calendar */
.calendar-summary{grid-template-columns:repeat(4,1fr)}
.calendar-day>header{height:auto;min-height:25px;gap:5px}.calendar-day-counts{display:flex;align-items:center;justify-content:flex-end;gap:3px;min-width:0}.calendar-day-counts>b{display:flex;align-items:center;gap:3px;padding:4px 6px;border-radius:99px;background:#242d3a;color:#97a2b3;font-size:8px;font-weight:800;text-transform:uppercase}.calendar-day-counts>b em{font-style:normal}.calendar-day-counts>.task-count{background:rgba(var(--accent-rgb),.1);color:var(--accent)}
.calendar-day.has-followups{background:linear-gradient(160deg,rgba(var(--accent-rgb),.025),rgba(255,255,255,.012))}
.calendar-followup-event{display:grid;gap:2px;min-width:0;padding:8px 9px;border:1px solid rgba(var(--accent-rgb),.18);border-left:3px solid var(--accent);border-radius:9px;background:rgba(var(--accent-rgb),.055);text-decoration:none;transition:.15s ease}.calendar-followup-event:hover{transform:translateY(-1px);border-color:rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.09)}.calendar-followup-event>span{overflow:hidden;text-overflow:ellipsis;color:var(--accent);font-size:8px;font-weight:900;text-transform:uppercase;white-space:nowrap}.calendar-followup-event>strong{overflow:hidden;text-overflow:ellipsis;font-size:11px;white-space:nowrap}.calendar-followup-event>small{overflow:hidden;text-overflow:ellipsis;color:#8793a3;font-size:8px;white-space:nowrap}.calendar-followup-event.today{box-shadow:0 0 0 1px rgba(var(--accent-rgb),.2)}

/* Followup priority: work now versus plan later */
.followup-day-clear{display:flex;align-items:center;gap:15px;margin-bottom:14px;padding:21px 24px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(var(--accent-rgb),.08),transparent 42%),#171e29}.followup-day-clear>span{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:15px;background:var(--accent);color:var(--accent-contrast);font-size:19px;font-weight:950}.followup-day-clear>div{min-width:0;margin-right:auto}.followup-day-clear strong{font-size:18px}.followup-day-clear p{margin:5px 0 0;color:#8d99a9;font-size:11px;line-height:1.45}.followup-day-clear .btn{flex:0 0 auto}
.followup-command{scroll-margin-top:24px}.followup-command.week,.followup-command.later{border-color:rgba(255,198,107,.23);background:radial-gradient(circle at 92% 0,rgba(255,198,107,.09),transparent 36%),linear-gradient(145deg,#1b2230,#121923)}.followup-command.week .followup-command-date,.followup-command.later .followup-command-date{border-color:rgba(255,198,107,.22);background:rgba(255,198,107,.07)}
.followup-group.week,.followup-group.later{background:rgba(255,255,255,.015)}.followup-group.week .status-dot{background:#ffc66b;box-shadow:0 0 0 5px rgba(255,198,107,.08)}.followup-group.week .timing-tag,.followup-group.later .timing-tag{color:#a5afbd}.followup-group.week .followup-actions .btn,.followup-group.later .followup-actions .btn{background:transparent}

@media(max-width:1100px){
 .daily-action-item{grid-template-columns:95px minmax(0,1fr)}.daily-action-buttons{grid-column:2;justify-content:flex-start}
}
@media (min-width:721px) and (max-width:1180px) and (orientation:portrait){
 .calendar-summary{grid-template-columns:repeat(2,1fr)}
 .calendar-day-counts>b{padding:3px 4px;font-size:7px}.calendar-day-counts>b em{display:none}
 .calendar-followup-event{padding:5px;border-left-width:2px}.calendar-followup-event>span{font-size:7px}.calendar-followup-event>strong{font-size:9px}.calendar-followup-event>small{display:none}
}
@media(max-width:720px){
 .daily-action-head{align-items:flex-start;padding:18px}.daily-action-head h2{font-size:22px}.daily-action-count{min-width:88px;padding:10px}
 .daily-action-item{grid-template-columns:1fr;gap:10px;padding:16px 18px}.daily-action-state{display:flex;align-items:center;gap:8px}.daily-action-buttons{grid-column:1;display:grid;grid-template-columns:1fr 1fr}.daily-action-buttons .btn{width:100%;text-align:center}.daily-action-buttons form{display:contents}
 .daily-action-clear{align-items:flex-start;flex-wrap:wrap;padding:18px}.daily-action-clear>div{width:calc(100% - 58px);margin:0}.daily-action-clear .btn{width:100%;text-align:center}
 .calendar-summary{grid-template-columns:repeat(4,minmax(135px,1fr))}
 .followup-day-clear{align-items:flex-start;flex-wrap:wrap;padding:18px}.followup-day-clear>div{width:calc(100% - 60px);margin:0}.followup-day-clear .btn{width:100%;text-align:center}
}

/* 3.6.1 · Settings organized by category */
.settings-workspace{display:grid;gap:18px}
.settings-tabs{position:sticky;z-index:12;top:14px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:7px;border:1px solid var(--line);border-radius:21px;background:rgba(13,18,26,.92);box-shadow:0 16px 36px rgba(0,0,0,.18);backdrop-filter:blur(18px)}
.settings-tabs button{position:relative;min-width:0;min-height:72px;padding:11px 13px 11px 42px;border:1px solid transparent;border-radius:15px;background:transparent;color:#808b9b;font:inherit;text-align:left;cursor:pointer;transition:.18s ease}
.settings-tabs button:hover{border-color:var(--line);background:rgba(255,255,255,.025);color:#c8d0db}
.settings-tabs button>span{position:absolute;top:13px;left:13px;display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:#202936;color:#758194;font-size:9px;font-weight:950}
.settings-tabs button>strong{display:block;overflow:hidden;text-overflow:ellipsis;color:inherit;font-size:13px;white-space:nowrap}.settings-tabs button>small{display:block;overflow:hidden;text-overflow:ellipsis;margin-top:4px;color:#687486;font-size:9px;white-space:nowrap}
.settings-tabs button.active{border-color:rgba(var(--accent-rgb),.3);background:linear-gradient(145deg,rgba(var(--accent-rgb),.13),rgba(var(--accent-rgb),.045));color:#fff;box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.06)}
.settings-tabs button.active:after{content:"";position:absolute;right:12px;bottom:9px;left:42px;height:2px;border-radius:99px;background:var(--accent)}
.settings-tabs button.active>span{background:var(--accent);color:var(--accent-contrast)}.settings-tabs button.active>small{color:#aab4c2}
.settings-panels{min-width:0}.settings-panel{min-width:0;animation:settings-panel-in .18s ease}.settings-panel[hidden]{display:none!important}
@keyframes settings-panel-in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}
.settings-panel-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:14px;padding:20px 22px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(circle at 100% 0,rgba(var(--accent-rgb),.07),transparent 40%),#151c27}
.settings-panel-intro h2{margin:5px 0 6px;font-size:25px;letter-spacing:-.55px}.settings-panel-intro p{max-width:760px;margin:0;color:#8c98a8;font-size:12px;line-height:1.5}.settings-panel-intro>span{flex:0 0 auto;padding:7px 10px;border:1px solid var(--line);border-radius:99px;color:#8793a3;font-size:9px;font-weight:850;text-transform:uppercase}
.settings-panel .settings-grid{gap:14px}.settings-brand-grid,.settings-single-grid,.settings-message-grid{grid-template-columns:1fr}.settings-brand-grid .branding-settings,.settings-brand-grid .portfolio-settings,.settings-single-grid .payment-settings,.settings-single-grid .aftercare-settings,.settings-message-grid .message-settings{grid-column:1}
.settings-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-account-grid>.settings-card{height:100%}
.settings-panel .settings-card{box-shadow:none}.settings-panel .settings-card>h2{font-size:21px}.settings-single-grid>.settings-card{width:min(980px,100%)}.settings-message-grid>.message-settings{width:100%}

@media(max-width:1050px){
 .settings-tabs{grid-template-columns:repeat(5,minmax(132px,1fr));overflow-x:auto;scrollbar-width:none}.settings-tabs::-webkit-scrollbar{display:none}
 .settings-tabs button{min-width:132px}
}
@media(max-width:900px){
 .settings-account-grid{grid-template-columns:1fr}
 .settings-panel-intro{align-items:flex-start}
}
@media(max-width:720px){
 .settings-workspace{gap:14px}.settings-tabs{top:8px;margin-right:-16px;border-radius:17px 0 0 17px}
 .settings-tabs button{min-width:118px;min-height:62px;padding:10px 10px 10px 35px}.settings-tabs button>span{top:11px;left:9px;width:20px;height:20px}.settings-tabs button>small{display:none}.settings-tabs button.active:after{left:35px;right:9px;bottom:8px}
 .settings-panel-intro{display:block;padding:17px;border-radius:18px}.settings-panel-intro h2{font-size:21px}.settings-panel-intro>span{display:inline-flex;margin-top:12px}
}

/* 3.8.0 · Coherent followup, appointment and multi-booking flows */
.lead-card-main{display:grid;gap:9px}.lead-client-link{display:flex;align-items:center;justify-content:space-between;gap:10px}.lead-client-link b{font-size:15px}.lead-client-link>span{color:var(--stage-color);font-size:8px;font-weight:850}.lead-card-main>p{min-height:0;margin:0}.lead-active-appointments{display:grid;gap:5px;margin:2px 0 3px;padding:9px;border:1px solid rgba(var(--stage-rgb),.15);border-radius:12px;background:rgba(var(--stage-rgb),.035)}.lead-active-appointments>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.lead-active-appointments>header span{color:#8d99aa;font-size:8px;font-weight:900;text-transform:uppercase}.lead-active-appointments>header b{color:#ffc66b;font-size:8px}.lead-active-appointments>a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 7px;padding:7px;border-radius:9px;background:#121923}.lead-active-appointments>a:hover{background:#18212d}.lead-active-appointments time{color:#dce3ec;font-size:8px;font-weight:850}.lead-active-appointments>a>span{overflow:hidden;text-overflow:ellipsis;color:#8e9aaa;font-size:8px;white-space:nowrap}.lead-active-appointments>a>b{grid-column:1/-1;width:max-content;padding:3px 5px;border-radius:99px;font-size:7px;text-transform:uppercase}.lead-active-appointments>a>b.pending{background:rgba(255,198,107,.1);color:#ffc66b}.lead-active-appointments>a>b.confirmed{background:rgba(var(--accent-rgb),.1);color:var(--accent)}

.followup-load-error,.followup-focus-notice{display:flex;align-items:center;gap:14px;margin-bottom:15px;padding:18px 20px;border:1px solid rgba(255,123,139,.25);border-radius:19px;background:rgba(255,123,139,.07)}.followup-load-error>span,.followup-focus-notice>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;background:rgba(255,123,139,.12);color:#ff8f9c;font-weight:950}.followup-load-error h2{margin:0 0 4px;font-size:16px}.followup-load-error p,.followup-focus-notice p{margin:0;color:#9aa5b4;font-size:10px;line-height:1.45}.followup-focus-notice{border-color:rgba(var(--accent-rgb),.2);background:rgba(var(--accent-rgb),.055)}.followup-focus-notice>span{background:rgba(var(--accent-rgb),.12);color:var(--accent)}.followup-focus-notice>div{margin-right:auto}.followup-focus-notice.warning{border-color:rgba(255,198,107,.23);background:rgba(255,198,107,.06)}.followup-focus-notice.warning>span{background:rgba(255,198,107,.12);color:#ffc66b}

.appointment-closing-prompt{display:grid;gap:11px}.appointment-closing-prompt .btn{width:100%}.appointment-closing-modal{position:fixed;z-index:130;inset:0;display:grid;place-items:center;padding:20px}.appointment-closing-modal[hidden]{display:none!important}.appointment-closing-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(3,7,12,.8);backdrop-filter:blur(9px)}.appointment-closing-dialog{position:relative;width:min(100%,650px);max-height:calc(100vh - 40px);padding:25px;border:1px solid rgba(var(--accent-rgb),.23);border-radius:26px;background:radial-gradient(circle at 100% 0,rgba(var(--accent-rgb),.13),transparent 36%),#171f2c;box-shadow:0 34px 90px rgba(0,0,0,.5);overflow:auto}.appointment-closing-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.appointment-closing-dialog h2{margin:6px 0;font-size:28px}.appointment-closing-dialog header p{max-width:500px;margin:0;color:#8c98a8;font-size:10px;line-height:1.5}.appointment-closing-context{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:8px;margin-bottom:15px}.appointment-closing-context>div{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#111722}.appointment-closing-context span{color:#7d8999;font-size:7px;font-weight:900}.appointment-closing-context strong{font-size:11px}.appointment-closing-effects{display:grid;gap:4px;padding:12px;border:1px solid rgba(var(--accent-rgb),.17);border-radius:13px;background:rgba(var(--accent-rgb),.05)}.appointment-closing-effects strong{color:var(--accent);font-size:10px}.appointment-closing-effects span{color:#9aa5b4;font-size:9px;line-height:1.45}.appointment-closing-dialog .appointment-closing-form>.btn{width:100%}

.appointment-followups>div:last-child{display:block}.appointment-followup-section{margin-top:18px}.appointment-followup-section>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.appointment-followup-section>header>div{display:flex;align-items:center;gap:8px}.appointment-followup-section h3{margin:0;font-size:14px}.appointment-followup-section header b{display:grid;place-items:center;min-width:20px;height:20px;border-radius:99px;background:#242d39;color:#aab4c2;font-size:8px}.appointment-followup-section header p{margin:0;color:#7f8b9b;font-size:9px}.appointment-followup-section article{grid-template-columns:36px minmax(0,1fr) auto auto}.appointment-followup-section article.overdue{border-left:3px solid #ff7b8b;padding-left:10px}.appointment-followup-section article.today{border-left:3px solid var(--accent);padding-left:10px}.appointment-followup-section article small,.appointment-followup-history article small{display:block;margin-top:4px;color:#8490a0;font-size:8px}.appointment-followup-history{margin-top:15px;border-top:1px solid var(--line)}.appointment-followup-history summary{display:flex;align-items:center;justify-content:space-between;padding:15px 2px;color:#99a4b4;font-size:11px;font-weight:850;cursor:pointer}.appointment-followup-history summary b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:99px;background:#242d39;font-size:8px}.appointment-followup-history article{opacity:.8}.appointment-followup-empty.compact{min-height:120px}

.message-rule-trigger label{min-width:min(100%,330px)}.message-rule-trigger b[data-timing-summary]{max-width:240px;color:#dce3ec;font-size:10px}

@media(max-width:720px){
 .appointment-closing-modal{align-items:end;padding:0}.appointment-closing-dialog{width:100%;max-height:92vh;padding:20px;border-radius:24px 24px 0 0}.appointment-closing-context{grid-template-columns:1fr}.appointment-followup-section>header{align-items:flex-start}.appointment-followup-section>header p{display:none}.appointment-followup-section article{grid-template-columns:36px minmax(0,1fr)}.appointment-followup-section article time,.appointment-followup-section article .btn{grid-column:2;width:100%;text-align:center}.followup-focus-notice{align-items:flex-start;flex-wrap:wrap}.followup-focus-notice>div{width:calc(100% - 55px);margin:0}.followup-focus-notice .btn{width:100%;text-align:center}.message-rule-trigger{align-items:flex-start;flex-direction:column}.message-rule-trigger label{width:100%;justify-content:flex-start}.message-rule-trigger b[data-timing-summary]{max-width:none}
}

/* 3.9.0 · Clear pipeline cards, operational calendar and brand-derived urgency */
.lead-no-appointments{margin:1px 0 4px!important;min-height:0!important;padding:9px 10px;border:1px dashed rgba(var(--stage-rgb),.18);border-radius:10px;color:#778394!important;font-size:9px!important}
.lead-active-appointments>a{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
.lead-active-appointments>a>b{grid-column:auto}
.lead-active-appointments time{white-space:nowrap}

.calendar-event>span{display:flex;align-items:center;gap:5px;min-width:0}
.calendar-event>span b{padding:2px 4px;border-radius:5px;background:rgba(255,255,255,.07);color:#c3ccd8;font-size:7px;letter-spacing:.07em}
.calendar-event>span em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-event.realizada{border-color:rgba(73,217,138,.28);border-left-color:var(--success-color);background:var(--success-soft)}
.calendar-event.realizada:hover{background:rgba(73,217,138,.16)}
.calendar-event.realizada>span b,.calendar-event.realizada>span em{color:var(--success-color)}
.calendar-task-trigger,.calendar-overflow-trigger{width:100%;border:0;font:inherit;text-align:left;cursor:pointer}
.calendar-task-trigger{display:grid;gap:2px;padding:8px 9px;border:1px solid color-mix(in srgb,var(--action-color) 28%,transparent);border-left:3px solid var(--action-color);border-radius:9px;background:var(--action-soft);color:#fff}
.calendar-task-trigger:hover{background:color-mix(in srgb,var(--action-color) 17%,transparent)}
.calendar-task-trigger span{color:var(--action-color);font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.calendar-task-trigger strong{font-size:10px}
.calendar-overflow-trigger{padding:5px 8px;border-radius:8px;background:transparent;color:#8f9aaa;font-size:8px;font-weight:850;text-align:center}
.calendar-overflow-trigger:hover{background:rgba(255,255,255,.04);color:#d7dee8}
.calendar-day-counts>.task-count{background:var(--action-soft);color:var(--action-color)}

.calendar-day-modal{position:fixed;z-index:145;inset:0;display:grid;place-items:center;padding:22px}
.calendar-day-modal[hidden]{display:none!important}
.calendar-day-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(3,7,12,.82);backdrop-filter:blur(9px)}
.calendar-day-modal-dialog{position:relative;width:min(100%,820px);max-height:calc(100vh - 44px);padding:26px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:28px;background:radial-gradient(circle at 100% 0,rgba(var(--accent-rgb),.1),transparent 34%),#171f2b;box-shadow:0 34px 95px rgba(0,0,0,.52);overflow:auto}
.calendar-day-modal-dialog>.stage-deposit-close{position:absolute;z-index:2;top:20px;right:20px}
.calendar-day-dialog-content>header{padding-right:52px}
.calendar-day-dialog-content>header>span{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.calendar-day-dialog-content>header h2{margin:5px 0;font-size:29px}
.calendar-day-dialog-content>header p{margin:0;color:#8793a3;font-size:11px}
.calendar-day-dialog-section{margin-top:22px}
.calendar-day-dialog-heading{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.calendar-day-dialog-heading>b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:99px;background:#273141;color:#aab4c2;font-size:9px}
.calendar-kind{font-size:11px;font-weight:900}.calendar-kind.appointment{color:var(--accent)}.calendar-kind.task{color:var(--action-color)}
.calendar-day-dialog-list{display:grid;gap:8px}
.calendar-dialog-appointment{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:15px;background:#111823;text-decoration:none}
.calendar-dialog-appointment.tentativa{border-left-color:var(--action-color)}.calendar-dialog-appointment.realizada{border-left-color:var(--success-color);background:var(--success-soft)}
.calendar-dialog-appointment time{font-size:13px;font-weight:900}.calendar-dialog-appointment>div{min-width:0;display:grid;gap:3px}.calendar-dialog-appointment>div strong{font-size:13px}.calendar-dialog-appointment>div span{overflow:hidden;text-overflow:ellipsis;color:#8793a3;font-size:9px;white-space:nowrap}
.calendar-dialog-appointment>b{padding:5px 7px;border-radius:99px;background:#242d39;color:#9da8b7;font-size:7px;text-transform:uppercase}.calendar-dialog-appointment.realizada>b{background:rgba(73,217,138,.12);color:var(--success-color)}
.calendar-dialog-task{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid color-mix(in srgb,var(--action-color) 20%,var(--line));border-left:3px solid var(--action-color);border-radius:15px;background:#111823}
.calendar-dialog-task>div:first-child{min-width:0;display:grid;gap:3px}.calendar-dialog-task>div:first-child>span{color:var(--action-color);font-size:8px;font-weight:900;text-transform:uppercase}.calendar-dialog-task>div:first-child>strong{font-size:13px}.calendar-dialog-task p{margin:0;overflow:hidden;text-overflow:ellipsis;color:#8e99a9;font-size:10px;white-space:nowrap}
.calendar-dialog-task>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:7px}.calendar-dialog-task form{margin:0}.calendar-dialog-task .btn{padding:8px 10px;font-size:9px}

.followup-command.today{border-color:color-mix(in srgb,var(--action-color) 48%,transparent);background:radial-gradient(circle at 92% 0,color-mix(in srgb,var(--action-color) 17%,transparent),transparent 38%),linear-gradient(145deg,#211f24,#121923)}
.followup-command.today .followup-command-date{border-color:color-mix(in srgb,var(--action-color) 38%,transparent);background:var(--action-soft)}
.followup-command.today .followup-command-date strong,.followup-command.today .followup-command-marker>span{color:var(--action-color)}
.followup-command.today .btn.primary{background:var(--action-color);border-color:var(--action-color);color:#121722}
.followup-group.today{border-color:color-mix(in srgb,var(--action-color) 28%,transparent)}
.followup-group.today .status-dot{background:var(--action-color);box-shadow:0 0 0 5px var(--action-soft)}
.date-tile.today{background:var(--action-color);border-color:var(--action-color);color:#121722}
.date-tile.today small,.date-tile.today span{color:#121722}
.timing-tag.today{background:var(--action-soft);color:var(--action-color)}
.followup-priority-bar>div:nth-child(2).has-items{background:linear-gradient(145deg,var(--action-soft),#151c27)}
.followup-priority-bar>div:nth-child(2).has-items strong{color:var(--action-color)}
.followup-delete-form{margin:0}
.followup-delete-button{padding:7px 5px;border:0;background:transparent;color:#7f8998;font:inherit;font-size:9px;font-weight:750;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:.16s ease}
.followup-delete-button:hover,.followup-delete-button:focus-visible{color:#ff7b8b;text-decoration-color:currentColor;outline:0}
.followup-item:target,.followup-command:target{position:relative;border-color:color-mix(in srgb,var(--action-color) 70%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--action-color) 12%,#18202c),#121923);box-shadow:0 0 0 3px color-mix(in srgb,var(--action-color) 12%,transparent),0 20px 55px rgba(0,0,0,.25);animation:followupTargetPulse 1.3s ease-out}
.followup-item:target::before,.followup-command:target::before{content:"Tarea seleccionada";position:absolute;z-index:2;top:8px;right:10px;padding:4px 7px;border-radius:99px;background:var(--action-color);color:#111722;font-size:7px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.appointment-followup-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
@keyframes followupTargetPulse{0%{transform:translateY(2px);box-shadow:0 0 0 8px color-mix(in srgb,var(--action-color) 24%,transparent)}100%{transform:none}}

@media(max-width:720px){
 .calendar-day-modal{align-items:end;padding:0}.calendar-day-modal-dialog{width:100%;max-height:92vh;padding:21px;border-radius:25px 25px 0 0}
 .calendar-dialog-appointment{grid-template-columns:60px minmax(0,1fr)}.calendar-dialog-appointment>b{grid-column:2;width:max-content}
 .calendar-dialog-task{grid-template-columns:1fr}.calendar-dialog-task>div:last-child{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.calendar-dialog-task>div:last-child .btn{width:100%;text-align:center}.calendar-dialog-task>div:last-child form{display:contents}
 .followup-delete-button{width:100%;padding:9px;text-align:center}.appointment-followup-row-actions{align-items:flex-end;flex-direction:column}
}
