:root{--ink:#161310;--coal:#121111;--wood:#3a2a1f;--gold:#c9a96a;--cream:#f4e9d7;--paper:#f8f3e9;--red:#8b1e1e;--muted:#796d61;--line:#e2d9c9;--green:#366b4c;--shadow:0 14px 46px rgba(39,23,11,.09)}
*{box-sizing:border-box}html{font-size:15px}body{margin:0;font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.48}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ca9c4e;outline-offset:3px}code{font-family:ui-monospace,monospace}label{font-size:.86rem;font-weight:650}label input,label select{margin-top:7px}input:not([type=radio]):not([type=hidden]),select{background:white;border:1px solid #d6cebe;border-radius:7px;width:100%;padding:11px 12px;color:#29221b;min-height:43px}input:disabled,select:disabled{background:#e8e2d6;color:#746e67}.stack{display:flex;flex-direction:column;gap:14px}.stack>label{display:flex;flex-direction:column}.stack hr{width:100%;border:0;border-top:1px solid var(--line);margin:10px 0}.subtle,.info-footnote{color:var(--muted)}.center{text-align:center}.eyebrow,.page-eyebrow{font-size:.69rem;letter-spacing:.2em;font-weight:800;color:#a07e50}.page-eyebrow{margin-bottom:8px;color:#a77c43}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;min-height:42px;border:1px solid transparent;border-radius:7px;padding:10px 18px;font-size:.85rem;font-weight:750;transition:transform .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,#982d28,#721618);color:#fff}.btn.primary:hover{background:#a43630}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn.outline{border-color:#d0bda1;background:transparent;color:var(--wood)}.alert{padding:13px 17px;border-radius:7px;margin:14px 0;font-weight:600;font-size:.86rem}.alert-ok{background:#e0f1e3;color:#225b36;border:1px solid #aacdb5}.alert-error{background:#fbe0dd;color:#8c2a25;border:1px solid #ebc2bd}.empty{padding:25px!important;text-align:center;color:#857667}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#f4e9d7;line-height:1}.brand-symbol{display:grid;place-items:center;width:44px;height:44px;border:1.6px solid #b99256;border-radius:50%;font-size:1.6rem;color:var(--gold);transform:rotate(-18deg)}.brand strong{display:block;font-family:Georgia,'Times New Roman',serif;font-weight:900;font-size:1.75rem;letter-spacing:.075em;text-shadow:0 1px 0 #ab8a61}.brand small{display:block;font-family:Georgia,serif;letter-spacing:.31em;font-size:.61rem;text-align:center;margin-top:7px;color:#d1ae7b}.public{background:#100e0d;color:#f5e8d3}.public-header{max-width:1140px;margin:auto;padding:25px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.public-header>a:last-child{color:#d8c8af;text-decoration:none;font-size:.75rem}.booking-wrap{max-width:760px;margin:0 auto;padding:10px 24px 46px}.booking-hero{text-align:center;padding:14px 12px 34px;position:relative}.booking-hero:after{content:'';position:absolute;inset:0;z-index:-1;opacity:.1;background:repeating-linear-gradient(45deg,transparent 0 11px,#b18653 12px,#b18653 13px,transparent 14px 22px)}.booking-hero .eyebrow{color:#d1ab6f;letter-spacing:.27em;margin:7px 0 15px}.booking-hero h1{font-family:Georgia,serif;font-size:clamp(3.7rem,11vw,6.4rem);letter-spacing:.02em;line-height:.95;margin:0;color:#f4eadb;text-shadow:2px 3px 0 #76512e,0 0 30px #9c6f3b22}.booking-hero h2{font-family:Georgia,serif;font-size:2rem;margin:31px 0 8px}.booking-hero p{color:#c6bbad;margin-bottom:0}.booking-hero .heritage-subtitle{font-family:Georgia,serif;color:#d1aa6b;font-size:.76rem;letter-spacing:.18em}.banner-rule{display:flex;align-items:center;justify-content:center;gap:18px;margin:9px auto 5px;color:#c19c64}.banner-rule:before,.banner-rule:after{content:'';display:block;width:74px;height:1px;background:#8f6a42}.barber-pole{margin:0 auto 18px;width:32px;height:67px;border:4px solid #b99b6c;border-top-width:8px;border-bottom-width:8px;border-radius:9px;box-shadow:0 0 0 3px #27221c;overflow:hidden}.barber-pole span{display:block;width:100%;height:100%;background:repeating-linear-gradient(140deg,#eee5d5 0 10px,#8b2522 10px 20px,#f0eadf 20px 30px,#244057 30px 40px)}.booking-card{background:var(--paper);color:#2a231d;border-radius:14px;padding:32px;box-shadow:0 18px 70px #0008;border:1px solid #a78357}.step-heading{display:flex;gap:16px;align-items:center;margin:23px 0 18px}.step-heading:first-child{margin-top:0}.step-heading>span{width:44px;height:44px;border:1px solid #bca688;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.2rem;font-weight:700;color:var(--red)}.step-heading h3{font-family:Georgia,serif;margin:3px 0 0;font-size:1.4rem}.services-list{display:grid;gap:10px}.service-tile{display:flex;gap:13px;align-items:center;border:1px solid #ddd0bd;background:#fffefa;border-radius:9px;padding:14px;cursor:pointer;transition:border .15s ease,background .15s ease;position:relative}.service-tile:hover{border-color:var(--red)}.service-tile:has(input:checked){border-color:#94302c;background:#fff3e8;box-shadow:inset 3px 0 0 var(--red)}.service-tile input{accent-color:#912c28}.service-icon{width:43px;height:43px;display:grid;place-items:center;background:#ebdecc;border-radius:5px;color:#7b321f;font-size:1.45rem}.service-description{flex:1;min-width:0;display:grid;gap:3px}.service-description strong{font-size:.94rem}.service-description small{color:#806f5c;font-weight:400;font-size:.78rem}.service-price{white-space:nowrap;font-size:.9rem;color:#812c25}.full-label{display:grid;gap:3px;margin-bottom:13px}.slot-message{color:#6f6356;font-size:.82rem;margin:14px 0}.slot-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.slot-btn{border:1px solid #d6c6b0;background:#fff;border-radius:7px;min-height:41px;font-weight:700;color:#62462c}.slot-btn.active,.slot-btn:hover{background:#852721;color:#fff;border-color:#852721}.booking-submit{width:100%;margin-top:23px;min-height:51px;letter-spacing:.04em}.booking-note{color:#817465;text-align:center;font-size:.75rem;margin:12px 0 0}.booking-footer{text-align:center;font-family:Georgia,serif;letter-spacing:.2em;color:#8e795c;margin-top:37px;font-size:.68rem}.booking-footer span{margin:0 9px}.result-card{text-align:center}.result-card p{color:#544538}.result-card .btn{margin-top:12px}.result-seal{width:60px;height:60px;display:grid;place-items:center;background:#e4eadf;color:#39724b;border-radius:50%;font-size:2rem;margin:0 auto 15px}.auth-wrap{min-height:calc(100vh - 96px);display:grid;place-items:center;padding:20px}.auth-card{width:min(100%,470px);padding:36px 32px;border-radius:12px;background:#f6eee1;border:1px solid #bc9a69;box-shadow:0 22px 80px #0006;color:#251c14}.auth-card h1{font-family:Georgia,serif;font-size:2.1rem;margin:5px 0}.auth-card>p{color:#766a5d;font-size:.88rem}.auth-card .btn{margin-top:9px}.auth-logo{margin:13px 0 22px;color:#8a2724;font-family:Georgia,serif;font-size:1.4rem;letter-spacing:.1em}.app-layout{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;width:246px;min-width:246px;background:linear-gradient(160deg,#181717,#0d0d0d);color:#e7daca;display:flex;flex-direction:column;padding:30px 16px;box-shadow:inset -1px 0 #3f3025;z-index:20}.sidebar .brand{padding:0 10px 42px}.sidebar .brand strong{font-size:1.48rem}.sidebar .brand-symbol{width:40px;height:40px}.sidebar-label{font-size:.59rem;color:#8b7965;font-weight:850;letter-spacing:.19em;margin:0 15px 13px}.sidenav{display:grid;gap:7px}.nav-link{text-decoration:none;display:flex;align-items:center;gap:12px;border-radius:7px;padding:12px 14px;color:#c7c0b6;font-size:.85rem;font-weight:600;transition:background .15s ease}.nav-link:hover{background:#272020;color:white}.nav-link.selected{color:#fff;background:linear-gradient(90deg,#822722,#501d1e);box-shadow:inset 3px 0 0 #bc6b4e}.nav-icon{width:20px;font-size:1.25rem;text-align:center;color:#d0b68e}.side-bottom{margin-top:auto;border-top:1px solid #39302a;padding:20px 10px 0;display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:.76rem}.side-bottom a{color:#d3b58b;text-decoration:none}.side-user{display:grid;gap:5px}.side-user small{color:#9f9080}.work-area{flex:1;min-width:0;display:flex;flex-direction:column;background:radial-gradient(circle at 85% 0,#eee1cb 0,#f7f1e6 42%,#f5eee2 100%)}.topbar{height:71px;display:flex;justify-content:space-between;align-items:center;padding:15px 34px;border-bottom:1px solid #e2d4be;background:#fcf6ed}.topbar>span{color:#968268;letter-spacing:.19em;font-family:Georgia,serif;font-size:.76rem;font-weight:700}.site-link{color:#7f4631;font-size:.8rem;text-decoration:none;font-weight:700}.menu-toggle{display:none;background:transparent;border:0;font-size:1.5rem;color:#542e22}.main-panel{width:100%;max-width:1550px;margin:0 auto;padding:37px 42px 70px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-header h1{font-family:Georgia,serif;font-size:2.45rem;font-weight:700;line-height:1.1;margin:4px 0 9px}.page-header p{color:#766b5e;margin:0;font-size:.87rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{background:linear-gradient(145deg,#fffaf2,#f8f1e7);border:1px solid #e3d8c9;border-radius:11px;min-height:133px;padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}.metric>span{font-size:1.3rem;color:#9a3a2c;line-height:1}.metric strong{font-family:Georgia,serif;font-size:1.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric small{color:#73695f;font-size:.8rem}.panel-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(250px,1fr);gap:18px}.panel{padding:25px;border:1px solid #e2d7c7;border-radius:12px;background:#fff9f0;box-shadow:var(--shadow);min-width:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.section-title h2{font-family:Georgia,serif;font-size:1.5rem;margin:4px 0}.section-title h3{font-family:Georgia,serif;font-size:1.12rem;margin:4px 0}.section-title a{font-size:.78rem;color:#8b2925;text-decoration:none;font-weight:750}.section-title.spaced{margin-top:24px}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.table-wrap th{padding:10px 12px;text-transform:uppercase;letter-spacing:.09em;font-size:.61rem;color:#8b7a66;border-bottom:1px solid #e7dccd}.table-wrap td{padding:14px 12px;font-size:.8rem;border-bottom:1px solid #efe6d9}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap td small{display:block;color:#8b7c6b;margin-top:4px;font-size:.71rem}.pill{display:inline-flex;border-radius:7px;padding:6px 8px;font-size:.7rem;font-weight:700;background:#e8e2d6;color:#614b3c}.pill.confirmed{background:#e2ecdb;color:#2f653b}.pill.pending{background:#fce9cc;color:#a06322}.pill.completed{background:#e0e6f1;color:#3b5485}.pill.canceled,.pill.no_show{background:#f6dedb;color:#8f362e}.side-stat{background:linear-gradient(150deg,#2c2521,#161515);color:#f3e6d1;border-color:#4a3a31}.side-stat h2{font-family:Georgia,serif;font-size:1.8rem;margin:13px 0}.side-stat p{font-size:.83rem;color:#c8bcb0}.side-stat .btn{color:#f0d4ad;border-color:#75583b}.vintage-decoration{font-size:4rem;color:#af8d58;text-align:center;margin:15px 0;transform:rotate(-18deg)}.notice-count{display:flex;gap:12px;align-items:center;margin:16px 0 24px}.notice-count strong{font-family:Georgia,serif;font-size:2.5rem;color:#d8ad78}.notice-count small{font-size:.76rem;color:#d3c4b7}.date-toolbar{display:flex;align-items:end;gap:13px;padding:14px;background:#fff9f0;border:1px solid #e1d6c7;border-radius:10px;margin-bottom:20px;flex-wrap:wrap}.date-toolbar label{min-width:230px}.date-toolbar .btn{min-height:43px}.inline-form{display:inline-flex;align-items:center;gap:6px;margin:5px 3px 0 0}.inline-form select{width:137px!important;min-height:32px!important;padding:5px!important;font-size:.75rem}.mini-btn{display:inline-block;border:1px solid #caad8f;padding:7px 10px;background:#fff9ee;color:#7a3528;border-radius:5px;font-size:.72rem;text-decoration:none;font-weight:700;white-space:nowrap}.mini-btn:hover{background:#f3e8db}.paid-label{font-weight:700;color:#467d4f}.info-footnote{margin:21px 0 0;font-size:.76rem}.two-columns{display:grid;grid-template-columns:minmax(310px,.85fr) minmax(0,1.35fr);gap:18px;align-items:start}.team-grid{display:grid;gap:12px}.team-card{display:flex;align-items:start;gap:13px;padding:13px;border:1px solid #e8dac6;border-radius:8px;background:#fffef9;flex-wrap:wrap}.team-avatar{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;background:#342b22;color:#c5a16b;border-radius:50%;font-size:1.3rem}.team-card>div:nth-child(2){flex:1;min-width:140px}.team-card strong{display:block}.team-card small{display:block;color:#756a5f;font-size:.73rem;margin-top:3px}.team-card .pill{margin-top:8px}.team-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;width:100%;padding-left:58px}.shift-list{display:grid;gap:14px}.shift-row{display:grid;grid-template-columns:88px 1fr 1fr;gap:10px;align-items:end;padding-bottom:13px;border-bottom:1px solid var(--line)}.shift-row>strong{font-size:.82rem;align-self:center}.shift-fields{display:flex;gap:6px}.shift-fields label{flex:1;min-width:0;font-size:.68rem}.shift-fields input{padding:5px!important;min-width:0!important;font-size:.74rem!important;min-height:35px!important}.off-row{border-top:1px solid #e9ddce;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;font-size:.84rem}.off-row small{display:block;color:var(--muted);margin-top:3px}.expense-list{max-height:410px;overflow:auto}.badge-date{background:#f0e1cc;color:#65432b;padding:8px 12px;border-radius:6px;font-size:.85rem}
@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:218px;min-width:218px}.main-panel{padding:30px 25px}.panel-grid,.two-columns{grid-template-columns:1fr}.topbar{padding:15px 25px}}
@media(max-width:740px){.public-header{padding:19px 15px}.public-header>a:last-child{font-size:.69rem}.brand strong{font-size:1.35rem}.brand small{font-size:.51rem}.brand-symbol{width:37px;height:37px;font-size:1.2rem}.booking-wrap{padding:5px 14px 30px}.booking-card{padding:20px 16px}.booking-hero h1{font-size:3.8rem}.booking-hero h2{font-size:1.6rem}.service-tile{padding:10px;gap:8px}.service-description small{font-size:.7rem}.service-price{font-size:.78rem}.service-icon{width:33px;height:35px}.slot-grid{grid-template-columns:repeat(4,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;transform:translateX(-101%);width:260px;min-width:260px;transition:transform .2s ease}.menu-open .sidebar{transform:translateX(0)}.menu-open:after{content:'';position:fixed;inset:0;background:#0008;z-index:15}.menu-toggle{display:inline-block}.topbar{height:61px;padding:10px 17px}.topbar>span{display:none}.main-panel{padding:23px 15px 50px}.page-header h1{font-size:2rem}.page-header{align-items:start;flex-direction:column}.metrics{gap:10px}.metric{padding:14px;min-height:114px}.metric strong{font-size:1.55rem}.metric small{font-size:.72rem}.metrics.three{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics.three .metric:last-child{grid-column:1/-1}.panel{padding:15px}.section-title{flex-wrap:wrap}.shift-row{grid-template-columns:1fr;gap:4px}.shift-fields{gap:9px}.shift-fields label{font-size:.73rem}.auth-card{padding:27px 21px}}
@media(max-width:365px){.slot-grid{grid-template-columns:repeat(3,1fr)}.service-icon{display:none}.metrics{grid-template-columns:1fr 1fr}}

/* NAVALHA 0.1.2 — agenda visual old school, responsiva e navegável. */
.agenda-controls{padding:21px 24px;margin:0 0 16px}
.agenda-day-heading{display:flex;gap:22px;justify-content:space-between;align-items:end;flex-wrap:wrap}
.agenda-day-buttons{display:flex;gap:12px;align-items:center}
.agenda-day-buttons h2{font:800 1.85rem Georgia,'Times New Roman',serif;margin:3px 0 0;line-height:1.15}
.agenda-arrow{width:36px;height:40px;display:grid;place-items:center;text-decoration:none;background:#f0e5d5;border:1px solid #d5c2aa;border-radius:7px;color:#693b2d;font-weight:900;font-size:1.15rem}
.agenda-arrow:hover{background:#e8d5bd}
.agenda-day-buttons>.mini-btn{align-self:center}
.agenda-filters{display:flex;align-items:end;flex-wrap:wrap;gap:9px}
.agenda-filters label{font-size:.71rem;color:#68574a;min-width:120px}
.agenda-filters input,.agenda-filters select{height:41px;min-height:41px!important;padding:8px!important;font-size:.82rem!important;margin-top:4px!important}
.agenda-filters .btn{height:41px;min-height:41px}
.agenda-status-strip{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin-top:16px;border-top:1px solid #e4d8c7;padding-top:16px;font-size:.76rem;color:#68594a}
.agenda-status-strip>span{margin-right:auto}.agenda-status-strip b{font-size:.9rem;color:#241a14}
.agenda-count{display:inline-flex;gap:6px;align-items:center;text-decoration:none;color:#614c3a}
.agenda-count:hover{text-decoration:underline;color:#8b1e1e}
.dot{height:9px;width:9px;border-radius:50%;display:inline-block;flex:none;background:#a99b86}
.dot.pending{background:#c68b35}.dot.confirmed{background:#467c4a}.dot.completed{background:#54749c}.dot.no_show,.dot.canceled{background:#a04a41}
.agenda-board-panel{padding:20px 21px 17px;margin-bottom:16px}
.agenda-board-panel .section-title{margin-bottom:14px}
.agenda-board-panel .section-title h2{font-size:1.35rem}
.agenda-board-panel .section-title small{font-size:.74rem}
.agenda-scroll{position:relative;overflow:auto;max-height:620px;overscroll-behavior:contain;border-radius:8px;border:1px solid #dac8b1;background:#fffcf6;scrollbar-color:#a58a6a #eee3d3}
.agenda-scroll:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.agenda-timeline{display:grid;grid-template-columns:67px repeat(var(--barber-count),minmax(216px,1fr));grid-template-rows:62px repeat(var(--slot-count),23px);min-width:max-content;width:100%;position:relative;isolation:isolate}
.agenda-corner{grid-column:1;grid-row:1;position:sticky;top:0;left:0;z-index:11;background:#2c211c;color:#d2af7d;display:grid;place-items:center;font-size:.65rem;font-weight:800;letter-spacing:.12em;border-right:1px solid #685039}
.agenda-barber-head{position:sticky;top:0;z-index:9;display:flex;align-items:center;gap:9px;padding:11px 14px;border-left:1px solid #48352d;border-bottom:2px solid #c9a96a;background:#28201c;color:#f9ebd5;min-width:0}
.agenda-barber-head strong{font:700 .86rem Georgia,serif;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agenda-barber-head small{font-size:.65rem;color:#c5ac8a;display:block;margin-top:4px}
.barber-monogram{display:grid;place-items:center;width:30px;height:30px;background:#482a24;color:#d5b37c;border:1px solid #8d6547;flex-shrink:0;border-radius:50%}
.agenda-lane{background:repeating-linear-gradient(to bottom,#fff9f0 0 45px,#f5eee3 45px 46px,#fff9f0 46px 92px);border-left:1px solid #e8ddcf;z-index:0}
.agenda-rule{grid-column:1/-1;border-top:1px solid #dfd1be;z-index:1;pointer-events:none}
.agenda-hour{grid-column:1;padding:0 8px 0 3px;color:#8a6a4e;font-size:.7rem;font-weight:800;text-align:right;position:sticky;left:0;z-index:3;background:#f1e7d8;border-right:1px solid #dbcab5;transform:translateY(1px)}
.agenda-event{display:flex;flex-wrap:wrap;align-content:start;align-items:center;gap:2px 5px;min-width:0;margin:2px 5px 1px;padding:3px 7px;border-radius:5px;background:#f7e7cb;border:1px solid #d5a45e;border-left:4px solid #b67c28;color:#603f1b;text-decoration:none;z-index:4;font-size:.71rem;line-height:1.18;overflow:hidden;transition:filter .15s ease,box-shadow .15s ease}
.agenda-event:hover,.agenda-event:focus-visible{filter:brightness(.96);box-shadow:0 2px 9px #27190d22}
.agenda-event .agenda-event-time{font-size:.64rem;font-weight:900;white-space:nowrap}
.agenda-event strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:750}
.agenda-event small{display:block;flex-basis:100%;font-size:.65rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agenda-event.confirmed{background:#e1eee0;border-color:#a4c2a3;border-left-color:#49814e;color:#26542c}
.agenda-event.completed{background:#e6ebf2;border-color:#bbcade;border-left-color:#5879aa;color:#334c70}
.agenda-event.no_show{background:#f2e0db;border-color:#dfb9b1;border-left-color:#a3483a;color:#8a3c31}
.agenda-event.canceled{background:#f4eee9;border-color:#ddcbbf;border-left-color:#b89b89;color:#74655c;opacity:.8;text-decoration:line-through}
.agenda-legend{display:flex;flex-wrap:wrap;gap:10px 18px;color:#786859;font-size:.68rem;margin:13px 0 0}
.agenda-legend>span{display:inline-flex;align-items:center;gap:6px}
.agenda-empty{text-align:center;color:#736453;padding:35px 15px}
.agenda-empty a{color:#8b1e1e;font-weight:750}
.agenda-records{padding:22px 24px}
.agenda-record-count{font:700 .78rem system-ui,sans-serif;background:#eee0cf;color:#88502a;padding:3px 8px;vertical-align:middle;border-radius:99px}
.appointment-row{display:grid;grid-template-columns:90px minmax(180px,1fr) minmax(210px,1.1fr);gap:20px;align-items:start;padding:18px 0;border-top:1px solid #e9ddce;scroll-margin-top:28px}
.appointment-row:target{background:linear-gradient(90deg,#fbedd9,#fff9f0);outline:2px solid #d5b17a;border-radius:8px;padding-left:9px;padding-right:9px}
.appointment-stamp{display:flex;flex-direction:column;gap:4px;border-left:3px solid #ab855e;padding-left:10px;line-height:1.1}
.appointment-stamp strong{font:800 1.27rem Georgia,serif;color:#291b15}
.appointment-stamp span{font-size:.76rem;color:#7b695b}
.appointment-main{min-width:0}
.appointment-name{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:6px}
.appointment-name>strong{font:700 1rem Georgia,serif;color:#291d17}
.appointment-meta{font-size:.8rem;color:#6f5d4e}
.appointment-meta span{color:#c5af92;padding:0 4px}
.appointment-links{display:flex;flex-wrap:wrap;gap:6px 11px;align-items:center;font-size:.72rem;margin-top:10px;color:#756556}
.appointment-links a{color:#85342c;text-decoration:none;font-weight:700}
.appointment-links a:hover{text-decoration:underline}
.appointment-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.appointment-actions form{margin:0}
.appointment-actions .mini-btn{min-height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.mini-btn.positive{background:#3b6945;border-color:#3b6945;color:#fff}
.mini-btn.positive:hover{background:#315838}
.mini-btn.warning{color:#8f3932;border-color:#e1c1b6;background:#fcf2ed}
.mini-btn.warning:hover{background:#fbe3da}
.agenda-paid{font-weight:800;color:#3f7a4a;font-size:.72rem;padding:8px 5px}
.pay-form{display:flex;gap:5px;align-items:center}
.pay-form select{width:128px!important;min-height:34px!important;padding:6px!important;font-size:.72rem!important}
.reschedule-details{position:relative;max-width:100%}
.reschedule-details summary{list-style:none;cursor:pointer;white-space:nowrap}
.reschedule-details summary::-webkit-details-marker{display:none}
.reschedule-form{position:absolute;right:0;top:calc(100% + 7px);z-index:12;width:278px;background:#fff9f0;padding:17px;border:1px solid #c5a780;box-shadow:0 10px 32px #0002;border-radius:8px;display:grid;gap:10px}
.reschedule-form label{font-size:.72rem}
.reschedule-form label input,.reschedule-form label select{min-height:38px!important;margin-top:4px!important;padding:7px!important;font-size:.83rem!important}
.reschedule-form button{width:100%}
.reschedule-form small{color:#836e5c;font-size:.7rem;line-height:1.4}
.reschedule-message{font-size:.72rem;line-height:1.35;color:#665547;margin:0}
/* Mesmo design vintage no painel individual do barbeiro */
.barber-agenda-list{display:grid;gap:12px}
.barber-appointment{display:grid;grid-template-columns:90px 1fr auto;gap:15px;align-items:center;padding:17px;background:#fffdf7;border:1px solid #e8dcca;border-left:4px solid #bb925d;border-radius:8px}
.barber-appointment strong{font-family:Georgia,serif}
.barber-appointment .subtle{display:block;font-size:.75rem;margin:4px 0 0}
.barber-appointment .barber-time{font:800 1.2rem Georgia,serif}
.barber-appointment .barber-time small{display:block;font:.72rem system-ui,sans-serif;color:#816f61}
.barber-appointment .barber-footer{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:1100px){.agenda-day-heading{align-items:stretch}.agenda-filters{width:100%}.appointment-row{grid-template-columns:75px minmax(170px,1fr)}.appointment-actions{grid-column:2;justify-content:flex-start}.agenda-records{padding:18px}}
@media(max-width:740px){.agenda-controls{padding:16px}.agenda-day-buttons{width:100%;justify-content:space-between}.agenda-day-buttons h2{font-size:1.45rem}.agenda-day-buttons>.mini-btn{padding:8px}.agenda-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.agenda-filters label{min-width:0}.agenda-filters .btn{align-self:end}.agenda-status-strip>span{width:100%}.agenda-board-panel{padding:15px 12px}.agenda-board-panel .section-title small{display:none}.agenda-scroll{max-height:450px}.agenda-timeline{grid-template-columns:54px repeat(var(--barber-count),minmax(190px,1fr))}.agenda-barber-head{padding:8px}.agenda-hour{font-size:.65rem;padding-right:4px}.agenda-event{font-size:.66rem}.agenda-event small{font-size:.59rem}.agenda-records{padding:16px 13px}.agenda-records .section-title>span{display:none}.appointment-row{grid-template-columns:68px minmax(0,1fr);gap:8px 11px;padding:16px 0}.appointment-stamp strong{font-size:1.09rem}.appointment-name>strong{font-size:.93rem}.appointment-meta{line-height:1.65}.appointment-actions{grid-column:1/-1;justify-content:flex-start;padding:6px 0 0}.reschedule-details[open]{flex-basis:100%}.reschedule-form{position:static;width:100%;margin-top:8px;box-shadow:none}.barber-appointment{grid-template-columns:65px 1fr;gap:10px;padding:12px}.barber-appointment .barber-footer{grid-column:1/-1;justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.agenda-event{transition:none}}

/* v0.1.4 — autoatendimento vintage, telas pequenas em primeiro lugar */
.quick-date-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0 16px}
.quick-date{background:#221b16;border:1px solid #786044;border-radius:7px;color:#e9d7b9;padding:10px 6px;min-height:56px;font-size:.8rem;font-weight:750;transition:background .15s ease}
.quick-date small{display:block;font-weight:400;font-size:.67rem;color:#d0b68f;margin-top:4px}
.quick-date.current,.quick-date:hover{background:#653324;border-color:#c6a16b;color:#fff}
.slot-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}
.time-group{padding:12px 13px;background:#201915;border:1px solid #5a4938;border-radius:9px}
.time-group h4{color:#d2af7d;font:700 .83rem Georgia,serif;letter-spacing:.05em;margin:0 0 12px}
.time-group-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:7px}
.booking-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 19px;margin-top:20px;border:1px solid #a78958;border-radius:8px;background:linear-gradient(135deg,#3a271e,#1d1613);color:#f7ecdf}
.booking-summary>div{min-width:0}.booking-summary strong{display:block;font:700 1.04rem Georgia,serif}.booking-summary small{display:block;color:#c2aa92;margin-top:6px;font-size:.76rem}.booking-summary>#booking-summary-time{color:#e0b778;white-space:nowrap;font-size:.85rem}
.manage-wrap{max-width:720px}.manage-hero{padding-bottom:20px}.booking-hero .manage-heading{font-size:clamp(2.35rem,9vw,4.2rem);letter-spacing:.01em}.manage-card{display:grid;justify-items:stretch;gap:12px}.manage-card .result-seal{justify-self:center}.manage-status{justify-self:center;border-radius:6px;padding:7px 14px;font-weight:800;font-size:.8rem;border:1px solid #b8a28a;background:#eee1cf;color:#493322}.manage-status.pending{background:#ffedcc;color:#764b11;border-color:#dbaf59}.manage-status.confirmed{background:#e2efdf;color:#2d6a3c;border-color:#8cb38d}.manage-status.canceled,.manage-status.no_show{background:#f8ded7;color:#9e3429;border-color:#dca69f}.manage-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#f7eddd;padding:15px;border:1px solid #e3ceb2;border-radius:8px;text-align:left}.manage-details>div{min-width:0}.manage-details dt{color:#8e7353;font-size:.72rem;font-weight:750;letter-spacing:.04em}.manage-details dd{margin:4px 0 0;color:#2c2018;font-weight:750;overflow-wrap:anywhere}.manage-tools{border-top:1px solid #d9c4a6;margin-top:6px;padding-top:18px}.manage-tools h3{font:800 1.3rem Georgia,serif}.manage-tools>.subtle{font-size:.82rem}.manage-fold{margin:18px 0}.manage-fold summary{background:#2b211b;color:#f6e9d8;padding:12px 15px;border:1px solid #9e7853;border-radius:6px;cursor:pointer;font-weight:750;list-style:none}.manage-fold summary::-webkit-details-marker{display:none}.manage-fold[open] summary{border-radius:6px 6px 0 0}.manage-fold form{padding:16px;background:#f5e9d6;border:1px solid #beac92;border-top:0;border-radius:0 0 6px 6px;text-align:left}.manage-fold .slot-message{color:#635041}.manage-fold label{color:#493c30}.cancel-btn{width:100%;border-color:#b17265!important;color:#8c3028!important}.manage-privacy{border:1px dashed #bba481;border-radius:7px;color:#614d36;font-size:.79rem;line-height:1.55;background:#f3e8d4;padding:12px}.manage-info{padding:15px;background:#efdfc7;color:#5c4531;border-radius:7px;font-size:.86rem}
@media(max-width:520px){.booking-summary{flex-direction:column;align-items:flex-start}.manage-details{grid-template-columns:1fr}.quick-date{font-size:.73rem}}

/* NAVALHA v0.1.5: fichário e lembretes old school */
.customer-table-title{padding:20px 22px 2px}.customer-pagination{border-top:1px solid #e6d8c6;display:flex;align-items:center;justify-content:center;gap:18px;padding:16px}.customer-pagination span{font-size:.78rem;color:#725c49;font-weight:800}.customer-back{font-size:.75rem;color:#87372a;display:inline-block;margin-bottom:10px;font-weight:750;text-decoration:none}.customer-back:hover{text-decoration:underline}.customer-feature{padding:24px}.customer-feature>.section-title{margin-bottom:20px}.customer-feature h2{font-family:Georgia,serif}.customer-feature p{line-height:1.65}.customer-form{display:grid;gap:18px}.customer-form label{display:grid;gap:6px;color:#4d3b2e}.customer-form label>small{display:inline;color:#7e6c5c;font-weight:400}.customer-form textarea{min-height:120px;resize:vertical;background:#fff;border:1px solid #d6cebe;border-radius:7px;padding:12px;color:#29221b;font:inherit;width:100%}.customer-form .customer-check{display:flex;align-items:center;gap:10px;font-weight:700;color:#833b2d;cursor:pointer}.customer-check input{width:18px;height:18px;accent-color:#842820}.customer-form button{justify-self:start}.customer-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.customer-metrics>.panel{display:grid;gap:9px;padding:19px 22px}.customer-metrics strong{font:800 clamp(1.1rem,2vw,1.7rem) Georgia,serif;color:#3d281b}.customer-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.4fr);gap:18px;align-items:start}.customer-history{display:grid;gap:0}.customer-visit{display:flex;justify-content:space-between;align-items:start;gap:15px;padding:14px 0;border-top:1px solid #e8dccb}.customer-visit>div{display:grid;gap:3px}.customer-visit strong{font-family:Georgia,serif;color:#3c2c1d;font-size:.93rem}.customer-visit small{color:#806b59;font-size:.77rem}.customer-visit .pill{flex-shrink:0}.customer-reminder-head{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0}.customer-reminder-head>span{font-size:.82rem;color:#6a5341}.customer-reminder-head strong{font:800 1.3rem Georgia,serif;color:#842b25}.reminder-info{padding:14px;background:#efe0cb;border:1px dashed #bda37d;border-radius:7px;color:#624732;font-size:.81rem;line-height:1.65}.reminder-list{display:grid;gap:0}.reminder-row{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 0;border-top:1px solid #e5d8c8}.reminder-stamp{display:grid;gap:4px;border-left:3px solid #b89054;padding-left:12px}.reminder-stamp strong{font:800 1.25rem Georgia,serif}.reminder-stamp small{font-size:.74rem;color:#75604d}.reminder-person{display:grid;gap:4px}.reminder-person strong{font:700 1.05rem Georgia,serif}.reminder-person a{text-decoration:none;color:#422817}.reminder-person a:hover{text-decoration:underline}.reminder-person small{font-size:.75rem;color:#7a6653}.reminder-actions>.btn{min-width:150px}
@media(max-width:900px){.customer-grid{grid-template-columns:1fr}.customer-metrics{gap:10px}.customer-feature{padding:18px}.reminder-row{grid-template-columns:65px minmax(0,1fr);gap:12px}.reminder-actions{grid-column:2}.reminder-actions>.btn{min-width:0}}
@media(max-width:560px){.customer-metrics{grid-template-columns:1fr}.customer-metrics>.panel{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.customer-metrics>.panel .eyebrow{max-width:60%}.customer-visit{flex-direction:column;gap:8px}.customer-table-title{padding:16px}.reminder-row{grid-template-columns:62px minmax(0,1fr)}.reminder-info{font-size:.76rem}.customer-pagination{gap:8px}}
