:root{font-family:Inter,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic UI,system-ui,sans-serif;color:#252825;background:#f7f6f3;font-synthesis:none;--canvas: #f7f6f3;--surface: #ffffff;--surface-soft: #f1f0ec;--surface-hover: #ebece8;--text: #252825;--text-muted: #6e736e;--text-subtle: #929790;--border: #e2e2dc;--border-strong: #cfd2cb;--accent: #42695c;--accent-strong: #315448;--accent-soft: #e6eeea;--sidebar: #252b28;--sidebar-muted: #aeb8b2;--danger: #a94646;--danger-soft: #f8eaea;--warning: #8a6518;--warning-soft: #fff3d8;--success: #267052;--success-soft: #e4f3eb;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-soft: 0 1px 2px rgb(34 42 37 / 4%)}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:not(:disabled),a,select{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--accent-strong)}:focus-visible{outline:3px solid rgb(66 105 92 / 28%);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{min-height:100vh;background:var(--canvas)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;display:flex;width:264px;flex-direction:column;padding:22px 16px 16px;overflow-y:auto;color:#fff;background:var(--sidebar);transition:width .2s ease}.sidebar-brand{display:flex;align-items:center;gap:11px;min-height:40px;padding:0 8px}.brand-mark,.mobile-brand-mark{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border-radius:10px;color:var(--sidebar);background:#dbe8e1;font-family:Georgia,serif;font-size:18px;font-weight:700}.brand-copy{display:grid;line-height:1.1;white-space:nowrap}.brand-copy strong{font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:600;letter-spacing:.01em}.brand-copy span{margin-top:4px;color:var(--sidebar-muted);font-size:10px;letter-spacing:.13em;text-transform:uppercase}.salon-context{margin:25px 0 20px;padding:0 5px}.salon-context label,.nav-label{display:block;margin:0 7px 8px;overflow:hidden;color:#8e9a94;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.salon-select-wrap{position:relative;display:flex;align-items:center}.salon-select-wrap select{width:100%;min-width:0;appearance:none;border:1px solid rgb(255 255 255 / 10%);border-radius:10px;padding:10px 31px 10px 11px;overflow:hidden;color:#f4f6f4;background:#ffffff0f;text-overflow:ellipsis}.salon-select-wrap svg{position:absolute;right:10px;pointer-events:none;color:var(--sidebar-muted)}.sidebar-nav{display:grid;gap:22px}.nav-group{display:grid;gap:3px}.sidebar-nav a,.mobile-sheet nav a{display:flex;min-height:42px;align-items:center;gap:12px;border-radius:10px;padding:10px 11px;color:#bec7c1;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.sidebar-nav a:hover{color:#fff;background:#ffffff0f}.sidebar-nav a.active{color:#fff;background:#ddebe31f;box-shadow:inset 2px 0 #9ebfaf}.sidebar-footer{display:grid;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid rgb(255 255 255 / 9%)}.account-summary{display:flex;min-width:0;align-items:center;gap:10px;padding:0 6px}.avatar{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:50%;color:#304d43;background:#dbe8e1;font-size:13px;font-weight:700}.account-summary>div{display:grid;min-width:0;gap:5px}.account-summary strong{overflow:hidden;color:#f4f6f4;font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.sidebar-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px}.sidebar-actions button,.mobile-logout{display:flex;min-height:38px;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;color:var(--sidebar-muted);background:transparent;font-size:11px}.sidebar-actions button:hover{color:#fff;background:#ffffff0f}.workspace{min-width:0;min-height:100vh;margin-left:264px;transition:margin-left .2s ease}.topbar{position:sticky;top:0;z-index:20;display:flex;height:68px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 clamp(22px,3vw,42px);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-title{display:flex;align-items:center;gap:10px}.topbar-title>div{display:grid;gap:2px}.topbar-title span{color:var(--text-subtle);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.topbar-title strong{font-size:14px;font-weight:600}.mobile-brand-mark,.mobile-salon-select{display:none}.topbar-account{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:12px}.app-main{width:min(100%,1380px);margin:0 auto;padding:38px clamp(24px,3vw,44px) 56px}.is-collapsed .sidebar{width:82px}.is-collapsed .workspace{margin-left:82px}.is-collapsed .brand-copy,.is-collapsed .salon-context label,.is-collapsed .salon-context select,.is-collapsed .nav-label,.is-collapsed .sidebar-nav a span,.is-collapsed .account-summary>div,.is-collapsed .sidebar-actions button span{display:none}.is-collapsed .salon-context{min-height:1px;margin:14px 0 16px;border-top:1px solid rgb(255 255 255 / 9%)}.is-collapsed .sidebar-nav a{justify-content:center}.is-collapsed .sidebar-actions{grid-template-columns:1fr}.is-collapsed .account-summary{justify-content:center}.is-collapsed .salon-select-wrap svg{display:none}.page-head{display:flex;min-height:60px;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px}.page-head h1{margin:0;color:var(--text);font-size:clamp(25px,2.1vw,31px);font-weight:600;letter-spacing:-.035em;line-height:1.2}.page-head p{max-width:680px;margin:8px 0 0;color:var(--text-muted);font-size:14px;line-height:1.6}.page-actions{display:flex;align-items:center;gap:9px}.card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-soft)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:32px}.stat{position:relative;display:grid;min-height:132px;align-content:space-between;gap:8px;padding:18px 19px;overflow:hidden}.stat:before{position:absolute;inset:0 auto 0 0;width:2px;background:var(--accent);content:"";opacity:.75}.stat span,.stat small{color:var(--text-muted)}.stat span{font-size:12px;font-weight:500}.stat strong{font-size:clamp(24px,2vw,29px);font-weight:550;letter-spacing:-.03em}.stat small{font-size:11px;line-height:1.4}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,.72fr);gap:28px}.dashboard-schedule{display:grid;align-content:start;gap:10px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:7px}.section-head span,.quick>div>span{color:var(--accent);font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.section-head h2,.quick h2{margin:4px 0 0;font-size:18px;font-weight:600;letter-spacing:-.02em}.section-head>a{color:var(--text-muted);font-size:12px;text-decoration:none}.section-head>a:hover{color:var(--accent)}.quick{display:grid;height:max-content;gap:9px;padding:19px}.quick>div{margin-bottom:5px}.quick a{display:flex;min-height:43px;align-items:center;gap:10px;border:1px solid transparent;border-radius:9px;padding:9px 11px;color:var(--text);background:var(--surface-soft);font-size:13px;font-weight:500;text-decoration:none}.quick a:hover{border-color:var(--border-strong);background:var(--surface)}.dashboard-overview{margin-bottom:38px}.dashboard-section-heading{margin-bottom:16px}.dashboard-section-heading>span,.dashboard-section-heading>div>span{color:var(--accent);font-size:10px;font-weight:650;letter-spacing:.1em}.dashboard-section-heading h2{margin:5px 0 0;font-size:18px;font-weight:600;letter-spacing:-.025em}.dashboard-section-heading.row{display:flex;align-items:end;justify-content:space-between;gap:18px}.dashboard-section-heading.row>a{display:inline-flex;align-items:center;gap:2px;color:var(--text-muted);font-size:12px;text-decoration:none}.dashboard-section-heading.row>a:hover{color:var(--accent-strong)}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-soft)}.dashboard-kpis.staff-view{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpi{position:relative;display:grid;min-width:0;min-height:126px;align-content:space-between;gap:8px;padding:18px 20px;border-right:1px solid var(--border)}.dashboard-kpi:last-child{border-right:0}.dashboard-kpi>span{color:var(--text-muted);font-size:12px;font-weight:500}.dashboard-kpi>strong{overflow:hidden;font-size:clamp(24px,2.2vw,31px);font-weight:560;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap}.dashboard-kpi>strong small{margin-left:4px;color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:0}.dashboard-kpi>p{overflow:hidden;margin:0;color:var(--text-subtle);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.dashboard-kpi.accent{background:linear-gradient(145deg,var(--accent-soft),#f5f8f6)}.dashboard-kpi.accent:after{position:absolute;inset:17px 17px auto auto;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #42695c1a;content:""}.dashboard-body{display:grid;grid-template-columns:minmax(0,7fr) minmax(250px,3fr);align-items:start;gap:clamp(30px,4vw,52px)}.dashboard-schedule{min-width:0}.dashboard-timeline{margin:0;padding:0;list-style:none}.dashboard-timeline li{display:grid;grid-template-columns:76px 17px minmax(0,1fr);gap:13px;min-height:82px}.timeline-time{display:grid;align-content:start;justify-items:end;gap:5px;padding-top:17px}.timeline-time time{font-size:15px;font-weight:600;letter-spacing:-.02em}.timeline-time span{border-radius:999px;padding:3px 6px;color:var(--accent-strong);background:var(--accent-soft);font-size:9px;font-weight:650;white-space:nowrap}.timeline-marker{position:relative}.timeline-marker:before{position:absolute;inset:21px auto auto 5px;z-index:1;width:7px;height:7px;border:2px solid var(--surface);border-radius:50%;background:var(--border-strong);box-shadow:0 0 0 1px var(--border-strong);content:""}.timeline-marker:after{position:absolute;inset:30px auto 0 9px;width:1px;background:var(--border);content:""}.dashboard-timeline li:last-child .timeline-marker:after{display:none}.dashboard-timeline li.is-next .timeline-marker:before{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.timeline-content{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:12px;min-width:0;margin-bottom:9px;border-bottom:1px solid var(--border);padding:13px 4px 16px 0;color:var(--text);text-decoration:none;transition:border-color .15s}.timeline-content:hover{border-color:var(--accent)}.timeline-content>div{display:grid;min-width:0;gap:4px}.timeline-content strong,.timeline-content span,.timeline-content small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-content strong{font-size:14px;font-weight:600}.timeline-content span{color:var(--text);font-size:12px}.timeline-content small{color:var(--text-muted);font-size:11px}.timeline-content>svg{color:var(--text-subtle)}.dashboard-empty{display:flex;min-height:210px;align-items:center;justify-content:center;flex-direction:column;gap:20px;border-block:1px solid var(--border);text-align:center}.dashboard-empty strong{font-size:15px;font-weight:600}.dashboard-empty p{margin:7px 0 0;color:var(--text-muted);font-size:13px}.dashboard-empty-action{display:inline-flex;min-height:42px;align-items:center;gap:8px;border-radius:9px;padding:9px 14px;font-size:12px;text-decoration:none}.dashboard-side{display:grid;gap:32px;padding-left:2px}.dashboard-month{border-top:1px solid var(--border);padding-top:20px}.dashboard-month dl{display:grid;gap:0;margin:0}.dashboard-month dl>div{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border);padding:12px 0}.dashboard-month dt{color:var(--text-muted);font-size:12px}.dashboard-month dd{margin:0;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.dashboard-actions{border-top:1px solid var(--border);padding-top:20px}.dashboard-actions nav{display:grid;gap:3px}.dashboard-actions a{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:9px;border-radius:9px;padding:8px;color:var(--text);text-decoration:none}.dashboard-actions a:hover{background:var(--surface-soft)}.dashboard-actions a>svg:first-child{padding:7px;border-radius:8px;color:var(--accent-strong);background:var(--accent-soft);box-sizing:content-box}.dashboard-actions a>svg:last-child{color:var(--text-subtle)}.dashboard-actions a>span{display:grid;gap:2px}.dashboard-actions strong{font-size:12px;font-weight:600}.dashboard-actions small{color:var(--text-muted);font-size:10px}.reservation-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.reservation-date-nav{display:flex;align-items:center;gap:7px}.reservation-date-nav button,.view-switch button{display:grid;min-width:42px;min-height:42px;place-items:center;border:1px solid var(--border);border-radius:9px;color:var(--text);background:var(--surface)}.reservation-date-nav .today-button{display:block;padding:0 14px;font-size:12px;font-weight:600}.reservation-date-nav input{min-height:42px;border-color:var(--border);padding:8px 11px;color:var(--text);background:var(--surface);font-size:12px}.view-switch{display:grid;grid-template-columns:repeat(2,46px);gap:3px;border:1px solid var(--border);border-radius:10px;padding:3px;background:var(--surface-soft)}.view-switch button{min-width:0;min-height:34px;border:0;background:transparent;font-size:12px}.view-switch button.active{color:var(--accent-strong);background:var(--surface);box-shadow:0 1px 3px #191f1b14}.reservation-filterbar{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;border-block:1px solid var(--border);padding:10px 0}.reservation-filterbar>div:first-child{display:grid;gap:3px}.reservation-filterbar>div:first-child strong{font-size:15px;font-weight:600}.reservation-filterbar>div:first-child span{color:var(--text-muted);font-size:11px}.reservation-filterbar>div:last-child{display:flex;gap:9px}.reservation-filterbar label{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:11px}.reservation-filterbar select{min-height:38px;padding:7px 30px 7px 10px;font-size:12px}.day-agenda{position:relative;width:min(100%,920px)}.agenda-card{display:grid;width:100%;min-height:88px;grid-template-columns:68px 16px minmax(0,1fr) 20px;align-items:stretch;gap:13px;border:0;padding:0;color:var(--text);background:transparent;text-align:left}.agenda-card.is-past{opacity:.62}.agenda-card:hover .agenda-content{background:#fff9}.agenda-time{display:grid;align-content:start;justify-items:end;gap:2px;padding-top:15px;font-variant-numeric:tabular-nums}.agenda-time strong{font-size:15px;font-weight:650}.agenda-time span{color:var(--text-subtle);font-size:10px}.agenda-rule{position:relative}.agenda-rule:before{position:absolute;inset:18px auto auto 4px;z-index:1;width:8px;height:8px;border:2px solid var(--canvas);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px #9eb4aa;content:""}.agenda-rule:after{position:absolute;inset:28px auto 0 8px;width:1px;background:var(--border);content:""}.agenda-card:last-child .agenda-rule:after{display:none}.agenda-content{display:grid;align-content:center;gap:5px;margin-bottom:8px;border-bottom:1px solid var(--border);border-radius:8px 8px 0 0;padding:11px 10px 15px;transition:background .15s}.agenda-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.agenda-title strong{overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.agenda-content>span{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.agenda-content>small{display:flex;align-items:center;gap:5px;color:var(--text-muted);font-size:11px}.agenda-chevron{align-self:center;color:var(--text-subtle)}.reservation-empty{display:grid;min-height:270px;justify-items:center;align-content:center;border-block:1px solid var(--border);text-align:center}.reservation-empty>svg{margin-bottom:13px;color:var(--accent)}.reservation-empty strong{font-size:15px;font-weight:600}.reservation-empty p{margin:7px 0 0;color:var(--text-muted);font-size:12px}.week-schedule{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));min-width:790px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}.week-day{min-width:0;border-right:1px solid var(--border)}.week-day:last-child{border-right:0}.week-day>header{display:grid;min-height:75px;justify-items:center;align-content:center;gap:1px;border-bottom:1px solid var(--border);background:#fbfbf9}.week-day>header span,.week-day>header small{color:var(--text-muted);font-size:10px}.week-day>header strong{font-size:18px;font-weight:550}.week-day.is-today>header{color:var(--accent-strong);background:var(--accent-soft)}.week-day>div{display:grid;align-content:start;gap:5px;min-height:330px;padding:6px}.week-booking{display:grid;gap:3px;width:100%;border:1px solid #dfe6e1;border-radius:8px;padding:8px;color:var(--text);background:#f6f9f7;text-align:left}.week-booking:hover{border-color:#9eb4aa}.week-booking time{color:var(--accent-strong);font-size:11px;font-weight:700}.week-booking strong,.week-booking span,.week-booking small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-booking strong{font-size:11px}.week-booking span,.week-booking small{color:var(--text-muted);font-size:9px}.week-booking .badge{margin-top:3px}.week-empty{margin:22px 0;color:var(--text-subtle);font-size:10px;text-align:center}.reservation-drawer-layer{position:fixed;inset:0;z-index:49}.reservation-drawer-backdrop{position:absolute;inset:0;width:100%;border:0;background:#1a1f1c57;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.reservation-detail{z-index:51;display:block}.reservation-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}.reservation-detail>header span{color:var(--accent);font-size:10px;font-weight:650;letter-spacing:.1em}.reservation-detail>header h2{margin:5px 0 0;font-size:22px;font-weight:600;letter-spacing:-.03em}.reservation-detail>header button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--text);background:var(--surface)}.reservation-detail-time{display:flex;align-items:center;gap:12px;margin:22px 0 0;border-radius:10px;padding:14px;color:var(--accent-strong);background:var(--accent-soft)}.reservation-detail-time>div{display:grid;gap:4px}.reservation-detail-time strong{font-size:13px}.reservation-detail-time span{font-size:12px}.reservation-detail dl{grid-template-columns:82px minmax(0,1fr);margin:25px 0;border-block:1px solid var(--border);padding:18px 0;font-size:13px}.reservation-detail dd{margin:0;line-height:1.55}.reservation-customer-link{display:flex;min-height:44px;align-items:center;justify-content:space-between;border-radius:9px;padding:9px 11px;color:var(--accent-strong);background:var(--accent-soft);font-size:12px;font-weight:600;text-decoration:none}.reservation-detail .drawer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:24px}.reservation-detail .drawer-actions button{min-height:42px;border:1px solid var(--border-strong);border-radius:8px;padding:8px;color:var(--text);background:var(--surface);font-size:11px}.reservation-list{display:grid;gap:9px}.reservation-card{display:grid;width:100%;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:15px;padding:15px 16px;text-align:left;color:inherit;transition:border-color .15s,background .15s}.reservation-card:hover{border-color:var(--border-strong);background:#fefefd}.reservation-card.next{border-color:#85a99a;box-shadow:inset 3px 0 var(--accent)}.reservation-card time{font-size:17px;font-weight:600;letter-spacing:-.02em}.reservation-card div{display:grid;min-width:0;gap:5px}.reservation-card strong,.reservation-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-card strong{font-size:14px;font-weight:600}.reservation-card small{color:var(--text-muted);font-size:12px}.badge{display:inline-flex;width:max-content;align-items:center;border:1px solid transparent;border-radius:999px;padding:4px 8px;background:var(--surface-soft);color:var(--text-muted);font-size:10px;font-weight:600;line-height:1.2;white-space:nowrap}.badge.confirmed,.badge.completed{color:var(--success);background:var(--success-soft)}.badge.pending{color:var(--warning);background:var(--warning-soft)}.badge.cancelled,.badge.no_show{color:var(--danger);background:var(--danger-soft)}.sidebar .badge{border-color:#ffffff1a;color:#cad2cd;background:#ffffff0f}.primary,button.primary{border-color:var(--accent)!important;color:#fff!important;background:var(--accent)!important}.primary:hover,button.primary:hover{background:var(--accent-strong)!important}.danger,button.danger{border-color:var(--danger)!important;color:#fff!important;background:var(--danger)!important}.toolbar,.date-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.toolbar select,.toolbar input,.date-nav input,input,select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);background:var(--surface)}.toolbar select,.toolbar input,.date-nav input{padding:9px 11px}.date-nav button,.toolbar button,.dialog button,.state button{min-height:40px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 13px;color:var(--text);background:var(--surface)}.search{min-width:300px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}table{width:100%;border-collapse:collapse}th,td{padding:14px 15px;border-bottom:1px solid #ecece7;text-align:left}th{color:var(--text-muted);background:#fbfbf9;font-size:11px;font-weight:600;letter-spacing:.03em}td{font-size:13px}td a{color:var(--accent-strong)}.state{display:grid;justify-items:center;padding:52px 20px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;background:#ffffff8c}.state-icon{display:grid;width:42px;height:42px;place-items:center;margin-bottom:13px;border-radius:50%;color:var(--accent);background:var(--accent-soft)}.state>strong{font-size:14px}.state p{max-width:420px;margin:7px 0 0;color:var(--text-muted);font-size:13px;line-height:1.6}.state.error{color:var(--danger)}.state.error .state-icon{color:var(--danger);background:var(--danger-soft)}.state button{margin-top:14px}.skeletons{display:grid;gap:12px}.skeletons i{height:72px;border-radius:var(--radius-md);background:linear-gradient(90deg,#e9e9e4,#f9f9f7,#e9e9e4);background-size:200%;animation:pulse 1.4s infinite}@keyframes pulse{to{background-position:-200%}}.drawer{position:fixed;inset:0 0 0 auto;z-index:50;width:min(440px,100%);height:100dvh;padding:28px;overflow-y:auto;border-left:1px solid var(--border);background:var(--surface);box-shadow:-16px 0 40px #1e23201a}.drawer>button{float:right}.drawer dl,.detail dl{display:grid;grid-template-columns:100px 1fr;gap:15px;margin-top:30px}.drawer dt,.detail dt{color:var(--text-muted)}.tabs{display:flex;gap:5px;margin:20px 0;overflow-x:auto;border-bottom:1px solid var(--border)}.tabs button{min-height:44px;border:0;padding:11px 12px;color:var(--text-muted);background:transparent;white-space:nowrap}.tabs .active{border-bottom:2px solid var(--accent);color:var(--accent-strong)}.detail{padding:24px}.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:#1a1f1c7a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog{width:min(440px,100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;background:var(--surface);box-shadow:0 22px 55px #191e1b29}.dialog h2{margin:0;font-size:19px;font-weight:600}.dialog p{color:var(--text-muted);font-size:13px;line-height:1.65}.dialog-actions,.dialog>div:last-child{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.login{display:grid;min-height:100vh;place-items:center;background:radial-gradient(circle at top right,#e7eee9,transparent 40%),var(--canvas)}.login form,.login .auth-result{display:grid;width:min(420px,calc(100% - 32px));gap:17px;padding:36px}.login h1{margin:20px 0 0}.login p{margin:0;color:var(--text-muted)}.login label{display:grid;gap:7px;font-size:13px}.login input{min-height:44px;padding:10px 12px}.login button{min-height:44px;border-radius:var(--radius-sm);padding:11px 13px}.form-error{border-radius:var(--radius-sm);padding:10px;color:var(--danger);background:var(--danger-soft)}.boot{display:grid;min-height:100vh;place-items:center}.auth-link{color:var(--accent-strong);font-size:13px;text-align:right;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-success{border-radius:var(--radius-sm);padding:12px;color:var(--success);background:var(--success-soft);line-height:1.6}.password-help{font-size:12px!important}.mobile-bottom-nav,.mobile-sheet-layer{display:none}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(220px,.8fr)}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpi:nth-child(2){border-right:0}.dashboard-kpi:nth-child(-n+2){border-bottom:1px solid var(--border)}}@media(max-width:820px){.sidebar{display:none}.workspace,.is-collapsed .workspace{margin-left:0}.topbar{height:64px;padding:0 16px}.topbar-title>div{display:none}.mobile-brand-mark,.mobile-salon-select{display:flex}.mobile-salon-select{width:min(54vw,260px)}.mobile-salon-select select{min-height:40px;border-color:var(--border);padding:8px 30px 8px 11px;color:var(--text);background:var(--surface-soft);font-size:13px}.mobile-salon-select svg{color:var(--text-muted)}.topbar-account{display:none}.app-main{padding:26px 18px calc(96px + env(safe-area-inset-bottom))}.mobile-bottom-nav{position:fixed;inset:auto 0 0;z-index:45;display:grid;grid-template-columns:repeat(5,1fr);min-height:64px;padding:6px 5px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fffffff5;box-shadow:0 -8px 24px #2328250d;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-bottom-nav a,.mobile-bottom-nav button{display:flex;min-width:0;min-height:50px;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:9px;padding:4px 2px;color:var(--text-muted);background:transparent;font-size:10px;text-decoration:none}.mobile-bottom-nav a.active{color:var(--accent-strong);background:var(--accent-soft)}.mobile-sheet-layer{position:fixed;inset:0;z-index:70;display:block}.sheet-backdrop{position:absolute;inset:0;width:100%;border:0;background:#191e1b73}.mobile-sheet{position:absolute;inset:auto 0 0;max-height:78dvh;padding:18px 18px calc(22px + env(safe-area-inset-bottom));overflow-y:auto;border-radius:20px 20px 0 0;background:var(--surface);box-shadow:0 -20px 50px #161b1829}.mobile-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:2px 3px 14px;border-bottom:1px solid var(--border)}.mobile-sheet-head>div{display:grid;gap:3px}.mobile-sheet-head span{color:var(--text-muted);font-size:11px}.mobile-sheet-head strong{font-size:16px;font-weight:600}.mobile-sheet-head button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--text);background:var(--surface)}.mobile-sheet nav{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:16px 0}.mobile-sheet nav a{min-height:54px;border:1px solid var(--border);color:var(--text);background:var(--surface)}.mobile-sheet nav a.active{border-color:#a9beb4;color:var(--accent-strong);background:var(--accent-soft)}.mobile-logout{width:100%;min-height:44px;color:var(--danger);background:var(--danger-soft);font-size:13px}.dashboard-grid{grid-template-columns:1fr}.dashboard-body{grid-template-columns:1fr;gap:34px}.dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.quick{order:-1;grid-template-columns:repeat(3,1fr)}.quick>div{grid-column:1/-1}.quick a{justify-content:center}.week-schedule{grid-template-columns:1fr;min-width:0;border:0;background:transparent}.week-day{border-right:0;border-bottom:1px solid var(--border)}.week-day>header{display:grid;min-height:50px;grid-template-columns:auto auto 1fr;justify-items:start;justify-content:start;align-items:center;gap:6px;border-bottom:0;padding:0 5px;background:transparent}.week-day>header small{justify-self:end}.week-day.is-today>header{border-radius:8px;padding-inline:10px}.week-day>div{min-height:0;padding:4px 0 12px}.week-booking{grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:5px 8px;padding:10px}.week-booking time{grid-row:1/4}.week-booking span,.week-booking small{grid-column:2}.week-booking .badge{grid-column:3;grid-row:1/4;margin:0}}@media(max-width:560px){.app-main{padding:23px 14px calc(94px + env(safe-area-inset-bottom))}.page-head{min-height:0;flex-direction:column;gap:15px;margin-bottom:23px}.page-head h1{font-size:25px}.page-actions{width:100%}.page-actions>*{min-height:44px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:27px}.dashboard-overview{margin-bottom:31px}.dashboard-section-heading h2{font-size:17px}.dashboard-kpis,.dashboard-kpis.staff-view{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpi{min-height:109px;padding:14px}.dashboard-kpi>strong{font-size:22px}.dashboard-kpi>p{font-size:10px}.dashboard-body{gap:30px}.dashboard-side{grid-template-columns:1fr;gap:28px}.dashboard-timeline li{grid-template-columns:58px 13px minmax(0,1fr);gap:8px}.timeline-time time{font-size:13px}.timeline-time span{display:none}.timeline-marker:before{left:3px}.timeline-marker:after{left:7px}.timeline-content{grid-template-columns:minmax(0,1fr) auto;gap:7px}.timeline-content>svg{display:none}.timeline-content .badge{grid-column:2;grid-row:1}.stat{min-height:116px;padding:15px}.stat strong{font-size:23px}.quick{grid-template-columns:1fr}.quick>div{grid-column:auto}.quick a{justify-content:flex-start}.reservation-card{grid-template-columns:62px minmax(0,1fr);gap:11px;padding:14px}.reservation-card .badge{grid-column:2}.search{min-width:0;width:100%}.toolbar{align-items:stretch;flex-direction:column}.date-nav{flex-wrap:wrap}.reservation-controls{align-items:stretch;flex-direction:column}.reservation-date-nav{display:grid;grid-template-columns:42px auto minmax(0,1fr) 42px}.reservation-date-nav label,.reservation-date-nav input{width:100%;min-width:0}.view-switch{align-self:flex-end}.reservation-filterbar{align-items:stretch;flex-direction:column}.reservation-filterbar>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-filterbar label{align-items:stretch;flex-direction:column;gap:4px}.agenda-card{grid-template-columns:55px 12px minmax(0,1fr);gap:8px;min-height:92px}.agenda-time strong{font-size:13px}.agenda-chevron{display:none}.agenda-content{padding-inline:8px 3px}.reservation-detail{inset:8vh 0 0;width:100%;height:92dvh;border:0;border-radius:20px 20px 0 0}.reservation-detail .drawer-actions{grid-template-columns:1fr}.drawer{padding:20px 17px calc(90px + env(safe-area-inset-bottom))}.dialog{padding:21px}.dialog-actions,.dialog>div:last-child{flex-direction:column-reverse}.dialog-actions button,.dialog>div:last-child button{width:100%;min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.stack{display:grid;gap:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-grid{padding:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label{display:grid;gap:7px}.form-grid .wide{grid-column:1/-1}.form-grid textarea{min-height:180px;resize:vertical;border:1px solid #d8e0db;border-radius:9px;padding:12px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.record-notes{white-space:pre-wrap;line-height:1.7;padding:16px;background:#f7f9f8;border-radius:9px}.photo-upload{display:flex;gap:10px;flex-wrap:wrap}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:18px}.photo-grid article{display:grid;gap:8px;padding:10px;border:1px solid #e2e8e4;border-radius:10px}.photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px}.money{display:grid;grid-template-columns:1fr auto;gap:10px}.money dd{font-weight:700}.sale-card{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:15px;text-align:left}.danger{color:#982f2f!important;border-color:#e6bcbc!important}.muted{color:#718078}.backend-gap{padding:16px;background:#fff8df;border-radius:10px}.backend-gap input{width:min(100%,420px);margin-right:8px}.drawer-actions{display:flex;gap:8px;margin-top:24px}.badge.failed{background:#f6e5e5;color:#943737}.badge.unknown,.badge.processing{background:#fff1cd;color:#7a5700}.badge.succeeded,.badge.sent{background:#dff5e9;color:#176445}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.photo-upload>*{width:100%}.sale-card{grid-template-columns:1fr auto}}.sale-card span{display:grid;gap:4px}.toasts{position:fixed;right:20px;bottom:20px;z-index:100;display:grid;gap:8px}.toast{min-width:240px;padding:12px 16px;border-radius:10px;background:#183c32;color:#fff;box-shadow:0 8px 24px #0003}.toast.error{background:#8c3333}.toast.info{background:#6d5b1d}.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#14251f88}.dialog{width:min(460px,100%);padding:24px;background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003}.dialog>div{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.dialog>p{white-space:pre-line;color:#5f6e67}.management-link-dialog label{display:grid;gap:7px}.management-link-dialog input{width:100%}.public-booking{min-height:100vh;background:#f4f7f5;padding:24px 16px;display:grid;align-content:start;justify-items:center;gap:18px}.public-booking>header,.booking-card{width:min(100%,540px)}.public-booking>header{padding:16px 4px}.booking-card{background:#fff;border:1px solid #dfe7e2;border-radius:18px;padding:22px;display:grid;gap:16px;box-shadow:0 10px 34px #173b2f12}.booking-option{min-height:64px;border:1px solid #dce5e0;border-radius:12px;padding:12px;display:flex;gap:12px;align-items:center;text-align:left;background:#fff}.booking-option span{display:grid;gap:4px}.booking-option.selected{border-color:#28604e;background:#edf6f2}.booking-card input,.booking-card select,.booking-card textarea{min-height:46px;padding:10px;border:1px solid #ccd8d1;border-radius:9px}.booking-date-control{display:grid;gap:6px;font-weight:600}.booking-date-control input{font:inherit;font-weight:400}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.slot-grid button{min-height:48px}.analytics-table{padding:20px;overflow:auto}.analytics-table table{width:100%;border-collapse:collapse}.analytics-table th,.analytics-table td{padding:12px;border-bottom:1px solid #e3e9e5;text-align:left}.analytics-table input{width:72px;margin:0 6px}.drawer textarea{width:100%;min-height:180px;padding:12px}.error-text{color:#982f2f}.complete{text-align:center}@media(max-width:600px){.public-booking{padding:12px}.booking-card{padding:18px;border-radius:14px}.slot-grid{grid-template-columns:repeat(2,1fr)}}.sales-toolbar{display:flex;min-height:64px;align-items:center;gap:15px;margin-bottom:23px;border-block:1px solid var(--border);padding:10px 0}.sales-period{display:flex;gap:3px;border:1px solid var(--border);border-radius:10px;padding:3px;background:var(--surface-soft)}.sales-period button{min-height:34px;border:0;border-radius:7px;padding:6px 13px;color:var(--text-muted);background:transparent;font-size:12px}.sales-period button.active{color:var(--accent-strong);background:var(--surface);box-shadow:0 1px 3px #191f1b14;font-weight:600}.sales-date-range{display:flex;align-items:center;gap:7px}.sales-date-range label,.sales-status-filter{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:11px}.sales-date-range input,.sales-status-filter select{min-height:38px;border:1px solid var(--border);border-radius:8px;padding:7px 9px;color:var(--text);background:var(--surface);font-size:12px}.sales-status-filter{margin-left:auto}.sales-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:35px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}.sales-kpis article{display:grid;min-width:0;min-height:120px;align-content:space-between;gap:8px;border-right:1px solid var(--border);padding:18px 20px}.sales-kpis article:last-child{border-right:0}.sales-kpis span,.sales-kpis small{color:var(--text-muted);font-size:11px}.sales-kpis strong{font-size:clamp(22px,2vw,29px);font-weight:560;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.sales-kpis strong small{margin-left:4px;font-size:12px}.sales-ledger>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:15px}.sales-ledger>header>div:first-child{display:grid;gap:4px}.sales-ledger>header>div:first-child>span{color:var(--accent);font-size:10px;font-weight:650;letter-spacing:.1em}.sales-ledger h2{margin:0;font-size:19px;font-weight:600}.sales-ledger header p{margin:0;color:var(--text-muted);font-size:11px}.sales-review-notice{display:flex;align-items:center;gap:9px;border-radius:9px;padding:8px 11px;color:var(--warning);background:var(--warning-soft)}.sales-review-notice>span{display:grid;gap:2px}.sales-review-notice strong{font-size:11px}.sales-review-notice small{font-size:9px}.sales-history{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.sales-history table{width:100%;border-collapse:collapse}.sales-history th{padding:11px 13px;color:var(--text-muted);background:#fbfbf9;font-size:10px;font-weight:600;text-align:left}.sales-history td{max-width:230px;border-top:1px solid var(--border);padding:14px 13px;font-size:11px;vertical-align:middle}.sales-history tbody tr{transition:background .15s;cursor:pointer}.sales-history tbody tr:hover,.sales-history tbody tr:focus-visible{background:var(--surface-soft)}.sales-history td:nth-child(3){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-history td:nth-child(5){font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.sales-history td:nth-child(6){display:grid;gap:4px}.sales-history td:nth-child(6) small{color:var(--text-muted);font-size:9px}.payment-state{display:inline-flex;width:max-content;border-radius:999px;padding:4px 8px;color:var(--accent-strong);background:var(--accent-soft);font-size:10px;font-weight:650;white-space:nowrap}.payment-state.review{color:var(--warning);background:var(--warning-soft)}.badge.draft{color:var(--text-muted);background:var(--surface-soft)}.badge.confirmed{color:var(--success);background:var(--success-soft)}.badge.voided{color:var(--danger);background:var(--danger-soft)}.sales-mobile-list{display:none}.sales-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px}.sales-pagination button{display:flex;min-height:38px;align-items:center;gap:4px;border:1px solid var(--border);border-radius:8px;padding:7px 11px;color:var(--text);background:var(--surface);font-size:11px}.sales-pagination span{color:var(--text-muted);font-size:10px}.sales-empty{display:grid;min-height:250px;place-items:center;border-block:1px solid var(--border);padding:25px;color:var(--accent)}.sales-empty .state{padding-top:0}.sale-drawer-layer{position:fixed;inset:0;z-index:50}.sale-drawer-backdrop{position:absolute;inset:0;width:100%;border:0;background:#14251f61}.sale-detail{position:absolute;inset:0 0 0 auto;width:min(520px,100%);height:100%;overflow-y:auto;border-left:1px solid var(--border);padding:0 25px 35px;background:var(--surface);box-shadow:-15px 0 45px #14251f1f}.sale-detail>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;margin:0 -25px 17px;border-bottom:1px solid var(--border);padding:21px 25px;background:#fffffff5}.sale-detail>header span{color:var(--accent);font-size:10px;font-weight:650;letter-spacing:.1em}.sale-detail>header h2{margin:5px 0 0;font-size:22px}.sale-detail>header button{min-width:40px;min-height:40px;border:0;border-radius:8px;background:var(--surface-soft);font-size:20px}.sale-detail-status{display:flex;align-items:center;gap:8px;margin-bottom:23px}.sale-detail>section{border-top:1px solid var(--border);padding:19px 0}.sale-detail>section h3{margin:0 0 13px;font-size:13px;font-weight:650}.sale-basic{display:grid;grid-template-columns:90px minmax(0,1fr);gap:9px;margin:0}.sale-basic dt{color:var(--text-muted);font-size:11px}.sale-basic dd{margin:0;font-size:12px}.sale-items,.transaction-list{display:grid}.sale-items>div,.transaction-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:10px 0}.sale-items>div:last-child,.transaction-list>div:last-child{border-bottom:0}.sale-items span,.transaction-list span{display:grid;gap:3px}.sale-items strong,.transaction-list strong{font-size:12px}.sale-items small,.transaction-list small{color:var(--text-muted);font-size:10px}.sale-detail .money{margin:0}.sale-detail .money dt,.sale-detail .money dd{border-bottom:1px solid var(--border);padding:8px 0;font-size:12px}.sale-detail .money dd{margin:0;text-align:right}.sale-detail .money dt:nth-last-of-type(-n+2),.sale-detail .money dd:nth-last-of-type(-n+2){font-weight:650}.transaction-list>div>span:nth-child(2){justify-items:end}.transaction-list>div>button{min-height:34px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:10px}.payment-entry{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}.payment-entry h3,.payment-entry p{grid-column:1/-1}.payment-entry label{display:grid;gap:5px;color:var(--text-muted);font-size:10px}.payment-entry select,.payment-entry input{min-height:41px;border:1px solid var(--border);border-radius:8px;padding:8px}.payment-entry>button{grid-column:1/-1}.payment-entry p{margin:0;color:var(--text-muted);font-size:10px}.sale-void{width:100%;min-height:42px;margin-top:12px;background:transparent}@media(max-width:900px){.sales-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-kpis article:nth-child(2){border-right:0}.sales-kpis article:nth-child(-n+2){border-bottom:1px solid var(--border)}.sales-history table{display:none}.sales-mobile-list{display:grid}.sales-mobile-list>button{display:grid;gap:7px;border:0;border-bottom:1px solid var(--border);padding:15px;color:var(--text);background:transparent;text-align:left}.sales-mobile-list>button:last-child{border-bottom:0}.sales-mobile-list>button>span:nth-child(2){overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.sales-mobile-list>button>small{color:var(--text-muted);font-size:10px}.sales-mobile-head,.sales-mobile-money{display:flex;align-items:center;justify-content:space-between;gap:10px}.sales-mobile-money>strong{font-size:15px}}@media(max-width:600px){.sales-toolbar{align-items:stretch;flex-direction:column}.sales-period{display:grid;grid-template-columns:repeat(3,1fr)}.sales-date-range{display:grid;grid-template-columns:1fr auto 1fr}.sales-date-range label{align-items:stretch;flex-direction:column}.sales-date-range input{width:100%;min-width:0}.sales-status-filter{align-items:stretch;flex-direction:column;margin-left:0}.sales-kpis{margin-inline:-14px;border-radius:0;border-inline:0}.sales-kpis article{min-height:98px;padding:14px}.sales-kpis strong{font-size:21px}.sales-ledger>header{align-items:flex-start;flex-direction:column}.sales-review-notice{width:100%}.sale-detail{inset:auto 0 0;width:100%;max-height:92dvh;border-left:0;border-radius:18px 18px 0 0;padding:0 18px max(28px,env(safe-area-inset-bottom));box-shadow:0 -15px 45px #14251f29}.sale-detail>header{margin:0 -18px 17px;padding:18px}.payment-entry{grid-template-columns:1fr}}.customer-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;max-width:620px;margin-bottom:22px;border:1px solid var(--border-strong);border-radius:12px;padding:0 13px;background:var(--surface)}.customer-search svg{color:var(--text-muted)}.customer-search input{min-height:46px;border:0;outline:0;background:transparent}.customer-search>span{color:var(--text-muted);font-size:12px;white-space:nowrap}.customer-results{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.customer-results tr{position:relative}.customer-results tbody tr:last-child td{border-bottom:0}.customer-results th:last-child,.customer-results td:last-child{width:42px;color:var(--text-muted)}.customer-name-link{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.customer-name-link:after{position:absolute;inset:0;content:""}.customer-name-link>span:last-child{display:grid;gap:4px}.customer-name-link strong{font-size:14px;font-weight:600}.customer-name-link small{color:var(--text-muted);font-size:11px}.customer-avatar{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--accent-strong);background:var(--accent-soft);font-size:14px;font-weight:600}.customer-avatar.large{width:54px;height:54px;font-size:19px}.back-link{display:inline-flex;min-height:40px;align-items:center;margin-bottom:14px;color:var(--text-muted);font-size:12px;text-decoration:none}.back-link:hover{color:var(--accent-strong)}.customer-profile-head{display:flex;align-items:center;gap:16px;margin-bottom:27px}.customer-profile-title{display:flex;align-items:center;gap:11px}.customer-profile-title h1{margin:0;font-size:28px;font-weight:600;letter-spacing:-.025em}.customer-profile-head p{margin:6px 0 0;color:var(--text-muted);font-size:13px}.customer-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:28px;border-block:1px solid var(--border)}.customer-summary>div{display:grid;min-height:94px;align-content:center;gap:7px;border-right:1px solid var(--border);padding:15px 22px}.customer-summary>div:first-child{padding-left:0}.customer-summary>div:last-child{border-right:0}.customer-summary span{color:var(--text-muted);font-size:11px}.customer-summary strong{font-size:18px;font-weight:600;letter-spacing:-.02em}.customer-tabs{position:sticky;top:72px;z-index:8;margin-bottom:31px;border-bottom:1px solid var(--border);background:var(--canvas)}.customer-tabs>div{display:flex;gap:5px;overflow-x:auto}.customer-tabs button{min-height:46px;border:0;border-bottom:2px solid transparent;padding:10px 14px;color:var(--text-muted);background:transparent;white-space:nowrap}.customer-tabs button.active{border-bottom-color:var(--accent);color:var(--accent-strong);font-weight:600}.customer-overview,.customer-panel{max-width:900px}.section-heading{display:grid;gap:5px}.section-heading>span,.medical-form header>div>span,.photo-heading span{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.section-heading h2,.medical-form h2,.photo-heading h3{margin:0;font-size:20px;font-weight:600;letter-spacing:-.02em}.section-heading p,.medical-form header p,.photo-heading p{margin:2px 0 0;color:var(--text-muted);font-size:12px;line-height:1.6}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.panel-heading>button{min-height:42px;white-space:nowrap}.contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:21px 0 24px;border-block:1px solid var(--border)}.contact-list>div{display:grid;gap:8px;padding:18px 22px;border-right:1px solid var(--border)}.contact-list>div:first-child{padding-left:0}.contact-list>div:last-child{border-right:0}.contact-list dt{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:11px}.contact-list dd{margin:0;font-size:14px;font-weight:500;overflow-wrap:anywhere}.customer-next-visit{display:flex;align-items:flex-start;gap:13px;border-radius:var(--radius-md);padding:18px;color:var(--accent-strong);background:var(--accent-soft)}.customer-next-visit>div{display:grid;gap:4px}.customer-next-visit span,.customer-next-visit small{font-size:11px}.customer-next-visit strong{font-size:15px}.customer-next-visit small{color:var(--text-muted)}.visit-timeline{display:grid;margin:22px 0 0;padding:0;list-style:none}.visit-timeline>li{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:13px;padding-bottom:16px}.visit-timeline>li:before{position:absolute;top:15px;bottom:-4px;left:5px;width:1px;background:var(--border);content:""}.visit-timeline>li:last-child:before{display:none}.visit-marker{position:relative;z-index:1;width:11px;height:11px;margin-top:14px;border:3px solid var(--canvas);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px #9cb6aa}.visit-timeline article{display:grid;gap:14px;border:1px solid var(--border);border-radius:var(--radius-md);padding:17px 18px;background:var(--surface)}.visit-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.visit-heading>div{display:grid;gap:5px}.visit-heading time{color:var(--text-muted);font-size:11px}.visit-heading strong{font-size:15px}.visit-timeline dl{display:flex;gap:24px;margin:0}.visit-timeline dl>div{display:flex;gap:7px}.visit-timeline dt{color:var(--text-muted);font-size:11px}.visit-timeline dd{margin:0;font-size:12px}.visit-timeline article>button{justify-self:start;min-height:38px;border:1px solid var(--border-strong);border-radius:8px;padding:7px 11px;color:var(--text);background:var(--surface)}.medical-records{display:grid;gap:17px}.medical-filters{display:flex;justify-content:flex-end;gap:10px}.medical-filters label{display:flex;align-items:center;gap:7px}.medical-filters label>span{color:var(--text-muted);font-size:11px}.medical-filters select{min-height:40px;padding:8px 30px 8px 10px}.medical-list{display:grid;border-top:1px solid var(--border)}.medical-list>button{display:grid;width:100%;grid-template-columns:70px minmax(0,1fr) auto 18px;align-items:center;gap:15px;border:0;border-bottom:1px solid var(--border);padding:16px 8px;color:var(--text);background:transparent;text-align:left}.medical-list>button:hover{background:#fff9}.medical-date,.medical-main{display:grid;gap:4px}.medical-date strong{font-size:13px}.medical-date small,.medical-main small{color:var(--text-muted);font-size:11px}.medical-main strong{font-size:14px}.medical-list .load-more{display:block;width:max-content;margin:16px auto;border:1px solid var(--border-strong);border-radius:8px;padding:9px 13px}.medical-form{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.medical-form>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--border)}.save-state{border-radius:999px;padding:5px 9px;color:var(--text-muted);background:var(--surface-soft);font-size:10px;white-space:nowrap}.medical-form .form-grid{border:0}.medical-form input,.medical-form select,.medical-form textarea{min-height:44px;padding:10px 12px}.medical-form textarea{min-height:220px;line-height:1.7}.medical-detail{display:grid;gap:22px}.medical-detail>.back-link{justify-self:start;margin:0}.medical-note{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.medical-note>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:21px 23px;border-bottom:1px solid var(--border)}.medical-note h2{margin:5px 0;font-size:20px}.medical-note header span,.medical-note header p{margin:0;color:var(--text-muted);font-size:11px}.medical-note .record-notes{min-height:130px;border-radius:0;padding:23px;background:transparent}.medical-history{padding:2px 0}.medical-history>div{display:flex;align-items:center;gap:8px}.medical-history h3{margin:0;font-size:15px}.medical-history ol{display:grid;gap:0;margin:13px 0 0;padding:0;list-style:none}.medical-history li{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:12px;border-top:1px solid var(--border);padding:11px 2px;font-size:11px}.medical-history time{color:var(--text-muted)}.medical-history>p{color:var(--text-muted);font-size:12px}.photo-section{display:grid;gap:18px;border-top:1px solid var(--border);padding-top:23px}.photo-upload{display:grid;grid-template-columns:150px minmax(180px,1fr) auto;align-items:end;gap:10px}.photo-upload label{display:grid;gap:6px}.photo-upload label>span{color:var(--text-muted);font-size:11px}.photo-upload select{min-height:42px;padding:8px 10px}.file-picker{display:flex!important;min-height:42px;flex-direction:row;align-items:center;gap:9px!important;border:1px dashed var(--border-strong);border-radius:9px;padding:9px 11px;cursor:pointer}.file-picker input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.photo-upload>button{min-height:42px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}.photo-grid article{position:relative;padding:0;overflow:hidden;background:var(--surface)}.photo-frame{display:grid;min-height:260px;place-items:center;background:var(--surface-soft)}.photo-frame img{width:100%;height:100%;max-height:420px;aspect-ratio:auto;object-fit:contain;border-radius:0}.photo-frame button{display:grid;min-width:140px;min-height:84px;place-items:center;gap:7px;border:1px dashed var(--border-strong);border-radius:10px;color:var(--text-muted);background:transparent}.photo-grid article>div:nth-child(2){display:grid;gap:3px;padding:12px 14px}.photo-grid article>div:nth-child(2) span{color:var(--text-muted);font-size:10px}.photo-delete{position:absolute;right:9px;bottom:10px;border:0;color:var(--danger);background:transparent;font-size:11px}.photo-empty{display:grid;justify-items:center;border:1px dashed var(--border-strong);border-radius:var(--radius-md);padding:38px 20px;text-align:center}.photo-empty svg{margin-bottom:9px;color:var(--accent)}.photo-empty strong{font-size:14px}.photo-empty p{max-width:380px;margin:6px 0 0;color:var(--text-muted);font-size:12px;line-height:1.6}.sale-history{display:grid;border-top:1px solid var(--border)}.sale-history>button{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto auto 18px;align-items:center;gap:16px;border:0;border-bottom:1px solid var(--border);padding:17px 7px;color:var(--text);background:transparent;text-align:left}.sale-history>button>span{display:grid;gap:4px}.sale-history strong{font-size:13px}.sale-history small{color:var(--text-muted);font-size:10px}@media(max-width:820px){.customer-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-summary>div{border-bottom:1px solid var(--border)}.customer-summary>div:nth-child(2){border-right:0}.customer-summary>div:nth-last-child(-n+2){border-bottom:0}.customer-summary>div:first-child{padding-left:22px}.customer-tabs{top:64px}.photo-frame{min-height:220px}}@media(max-width:600px){.customer-results{border:0;background:transparent}.customer-results table,.customer-results tbody{display:block}.customer-results thead{display:none}.customer-results tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-bottom:9px;border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;background:var(--surface)}.customer-results td{display:block;border:0;padding:0}.customer-results td:nth-child(2){grid-column:1;padding:9px 0 0 50px}.customer-results td:last-child{grid-column:2;grid-row:1/3}.customer-name-link small{display:block}.customer-profile-head{align-items:flex-start}.customer-profile-title{align-items:flex-start;flex-direction:column;gap:7px}.customer-profile-title h1{font-size:24px}.customer-avatar.large{width:48px;height:48px}.customer-summary{margin-inline:-14px;padding-inline:14px}.customer-summary>div{min-height:82px;padding:13px 10px!important}.customer-summary strong{font-size:15px}.customer-tabs{margin-inline:-14px;padding-inline:8px}.customer-tabs button{padding-inline:11px}.contact-list{grid-template-columns:1fr}.contact-list>div,.contact-list>div:first-child{border-right:0;border-bottom:1px solid var(--border);padding:15px 0}.contact-list>div:last-child{border-bottom:0}.panel-heading{align-items:stretch;flex-direction:column}.panel-heading>button{width:100%}.visit-timeline>li{grid-template-columns:14px minmax(0,1fr);gap:9px}.visit-timeline article{padding:15px}.visit-heading strong{font-size:14px}.visit-timeline dl{display:grid;gap:6px}.visit-timeline article>button{width:100%;min-height:44px}.medical-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.medical-filters label{align-items:stretch;flex-direction:column;gap:4px}.medical-list>button{grid-template-columns:57px minmax(0,1fr) 18px;gap:9px;padding:14px 2px}.medical-list .badge{grid-column:2}.medical-list>button>svg{grid-column:3;grid-row:1/3}.medical-form>header{padding:18px}.medical-form .form-grid{padding:18px}.medical-form textarea{min-height:240px}.medical-note>header{padding:18px}.medical-note .record-notes{padding:19px}.medical-history li{grid-template-columns:38px minmax(0,1fr)}.medical-history time{grid-column:2}.photo-upload{grid-template-columns:1fr}.photo-upload>button{width:100%;min-height:44px}.photo-grid{grid-template-columns:1fr}.photo-frame{min-height:280px}.sale-history>button{grid-template-columns:minmax(0,1fr) auto 16px;gap:8px}.sale-history>button>span:nth-child(2){grid-row:2}.sale-history .badge{grid-column:2;grid-row:1}.sale-history>button>svg{grid-column:3;grid-row:1/3}}.analytics-toolbar{display:grid;gap:10px;margin-bottom:24px;border-block:1px solid var(--border);padding:12px 0}.analytics-toolbar>p{display:flex;align-items:center;gap:6px;margin:0;color:var(--text-muted);font-size:11px}.analytics-period{display:flex;flex-wrap:wrap;gap:4px}.analytics-period button,.analytics-tabs button{min-height:38px;border:1px solid transparent;border-radius:8px;padding:7px 12px;color:var(--text-muted);background:transparent}.analytics-period button:hover,.analytics-tabs button:hover{background:var(--surface-soft)}.analytics-period button.active,.analytics-tabs button.active{border-color:var(--border-strong);color:var(--accent-strong);background:var(--accent-soft);font-weight:650}.analytics-custom{display:flex;align-items:end;gap:10px}.analytics-custom label{display:grid;gap:4px;color:var(--text-muted);font-size:10px}.analytics-custom input,.analytics-panel select{min-height:40px;border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;color:var(--text);background:var(--surface)}.analytics-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:26px;border-block:1px solid var(--border)}.analytics-kpis article{display:grid;min-height:104px;align-content:center;gap:7px;border-right:1px solid var(--border);padding:15px 18px}.analytics-kpis article:last-child{border-right:0}.analytics-kpis span,.analytics-kpis small{color:var(--text-muted);font-size:10px}.analytics-kpis strong{font-size:22px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.analytics-kpis strong small{margin-left:3px}.analytics-retention{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;align-items:center;margin-bottom:26px;border-radius:var(--radius-md);padding:22px 24px;color:var(--accent-strong);background:var(--accent-soft)}.analytics-retention header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-right:24px}.analytics-retention header span,.analytics-panel header span{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.08em}.analytics-retention h2,.analytics-panel h2{margin:4px 0 0;font-size:18px;font-weight:600}.analytics-retention header>strong{font-size:31px;font-weight:600}.analytics-retention>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid rgb(35 93 73 / 18%)}.analytics-retention dl{display:grid;grid-template-columns:1fr auto;gap:8px;margin:0;padding:3px 22px}.analytics-retention dl+dl{border-left:1px solid rgb(35 93 73 / 18%)}.analytics-retention dt{font-size:11px}.analytics-retention dd{margin:0;font-size:12px;font-weight:650}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:18px;margin-bottom:18px}.analytics-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.analytics-panel>header{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding:16px 19px}.analytics-panel>header>div:first-child{display:flex;align-items:center;gap:10px}.analytics-panel>header>small{max-width:220px;color:var(--text-muted);font-size:9px;text-align:right}.analytics-chart{padding:18px}.analytics-chart svg{display:block;width:100%;overflow:visible}.analytics-chart svg line{stroke:var(--border-strong)}.analytics-chart polyline{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.analytics-chart .sales-line{stroke:var(--accent)}.analytics-chart .cash-line{stroke:#ad7a42}.analytics-chart .sales-dot{fill:var(--accent)}.chart-legend,.chart-axis{display:flex;align-items:center;justify-content:space-between;color:var(--text-muted);font-size:9px}.chart-legend{justify-content:flex-end;gap:15px}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:15px;height:2px;background:var(--accent)}.chart-legend i.cash{background:#ad7a42}.breakdown ol{display:grid;gap:0;margin:0;padding:8px 18px 16px;list-style:none}.breakdown li{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 2px}.breakdown li+li{border-top:1px solid var(--border)}.breakdown li div{display:grid;gap:3px}.breakdown li strong,.breakdown li>span{font-size:12px}.breakdown li small{color:var(--text-muted);font-size:9px}.breakdown li i{position:absolute;bottom:3px;left:2px;height:2px;border-radius:2px;background:var(--accent)}.analytics-panel.customers{margin-bottom:18px}.analytics-tabs,.risk-controls{display:flex;align-items:center;gap:4px}.analytics-people{padding:0 19px}.analytics-people table{width:100%;border-collapse:collapse}.analytics-people th,.analytics-people td{border-bottom:1px solid var(--border);padding:12px 8px;text-align:left;font-size:11px}.analytics-people th{color:var(--text-muted);font-size:9px;font-weight:600}.analytics-people td:first-child a,.risk-person>a{display:inline-flex;align-items:center;gap:5px;color:var(--text);font-weight:600;text-decoration:none}.analytics-follow-action{min-height:34px;border:1px solid var(--border-strong);border-radius:7px;padding:6px 9px;color:var(--accent-strong);background:var(--surface);font-size:10px}.analytics-follow-action:disabled{border-color:var(--border);color:var(--text-muted);background:var(--surface-soft)}.line-on,.line-off{width:max-content;border-radius:999px;padding:4px 7px;font-size:9px}.line-on{color:var(--success);background:var(--success-soft)}.line-off{color:var(--text-muted);background:var(--surface-soft)}.analytics-people-mobile{display:none}.analytics-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:13px 19px}.analytics-pagination button{min-height:36px;border:1px solid var(--border);border-radius:7px;padding:6px 10px;background:var(--surface)}.analytics-pagination span{color:var(--text-muted);font-size:10px}.risk-list{display:grid;padding:0 19px}.risk-list article{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,2fr) auto;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding:15px 7px}.risk-person{display:grid;gap:6px}.risk-list dl{display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));gap:10px;margin:0}.risk-list dl>div{display:grid;gap:4px}.risk-list dt{color:var(--text-muted);font-size:9px}.risk-list dd{margin:0;font-size:11px;font-weight:550}.risk-controls select+select{margin-left:4px}.analytics-follow-layer{position:fixed;inset:0;z-index:70}.analytics-follow-layer>button{position:absolute;inset:0;width:100%;border:0;background:#14251f61}.analytics-follow-layer aside{position:absolute;inset:0 0 0 auto;width:min(470px,100%);overflow-y:auto;border-left:1px solid var(--border);padding:0 24px 30px;background:var(--surface);box-shadow:-15px 0 45px #14251f1f}.analytics-follow-layer aside>header{display:flex;align-items:flex-start;justify-content:space-between;margin:0 -24px 20px;border-bottom:1px solid var(--border);padding:20px 24px}.analytics-follow-layer aside>header span{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.08em}.analytics-follow-layer aside h2{margin:5px 0 0;font-size:21px}.analytics-follow-layer aside>header button{min-width:40px;min-height:40px;border:0;border-radius:8px;background:var(--surface-soft);font-size:20px}.analytics-follow-layer aside>p,.follow-complete p,.follow-approval p{color:var(--text-muted);font-size:11px;line-height:1.7}.analytics-follow-layer label{display:grid;gap:7px;color:var(--text-muted);font-size:10px}.analytics-follow-layer textarea{min-height:190px;border:1px solid var(--border-strong);border-radius:9px;padding:12px;resize:vertical}.analytics-follow-layer .primary,.follow-complete>button{width:100%;min-height:44px;margin-top:14px;border:0;border-radius:9px;color:#fff;background:var(--accent)}.follow-approval{margin-top:18px;border-top:1px solid var(--border);padding-top:18px}.follow-approval>p{white-space:pre-wrap}.follow-complete{display:grid;justify-items:center;padding:45px 10px;text-align:center}.follow-complete svg{color:var(--success)}@media(max-width:1100px){.analytics-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-kpis article:nth-child(3n){border-right:0}.analytics-kpis article:nth-child(-n+3){border-bottom:1px solid var(--border)}.analytics-grid{grid-template-columns:1fr}.risk-list article{grid-template-columns:minmax(140px,.6fr) minmax(0,2fr)}.risk-list article>.analytics-follow-action{grid-column:2;justify-self:end}.risk-list dl{grid-template-columns:repeat(3,minmax(80px,1fr))}}@media(max-width:700px){.analytics-retention{grid-template-columns:1fr;gap:17px}.analytics-retention header{padding:0}.analytics-retention>div{border-top:1px solid rgb(35 93 73 / 18%);border-left:0;padding-top:15px}.analytics-panel>header{align-items:flex-start;flex-direction:column}.analytics-panel>header>small{text-align:left}.analytics-people table{display:none}.analytics-people-mobile{display:grid}.analytics-people-mobile article{display:grid;gap:12px;border-bottom:1px solid var(--border);padding:15px 2px}.analytics-people-mobile article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.analytics-people-mobile article a{color:var(--text);font-size:13px;font-weight:600;text-decoration:none}.analytics-people-mobile dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0}.analytics-people-mobile dt{color:var(--text-muted);font-size:9px}.analytics-people-mobile dd{margin:0;font-size:10px}.analytics-follow-action{min-height:42px}.risk-list article{grid-template-columns:1fr}.risk-list article>.analytics-follow-action{grid-column:1;width:100%}.risk-list dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.analytics-toolbar{margin-inline:-2px}.analytics-period{display:grid;grid-template-columns:repeat(3,1fr)}.analytics-period button{padding-inline:5px}.analytics-custom{display:grid;grid-template-columns:1fr auto 1fr}.analytics-custom input{width:100%;min-width:0}.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:-14px;padding-inline:14px}.analytics-kpis article{min-height:91px;padding:13px 10px;border-bottom:1px solid var(--border)!important}.analytics-kpis article:nth-child(2n){border-right:0}.analytics-kpis article:nth-last-child(-n+2){border-bottom:0!important}.analytics-kpis strong{font-size:19px}.analytics-retention{margin-inline:-6px;padding:18px}.analytics-retention>div{grid-template-columns:1fr}.analytics-retention dl{padding:7px 0}.analytics-retention dl+dl{border-top:1px solid rgb(35 93 73 / 18%);border-left:0}.analytics-panel{margin-inline:-7px}.analytics-panel>header{padding:15px}.analytics-tabs{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.analytics-tabs button{padding-inline:5px}.risk-controls{width:100%}.risk-controls select{flex:1;min-width:0}.analytics-people,.risk-list{padding:0 14px}.analytics-chart{padding:14px 10px}.analytics-follow-layer aside{inset:auto 0 0;width:100%;max-height:92dvh;border-left:0;border-radius:18px 18px 0 0;padding:0 18px max(24px,env(safe-area-inset-bottom))}.analytics-follow-layer aside>header{margin-inline:-18px;padding:18px}}.settings-section{max-width:760px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.settings-section>header{display:flex;gap:13px;border-bottom:1px solid var(--border);padding:21px}.settings-section h2{margin:0;font-size:17px}.settings-section header p{margin:6px 0 0;color:var(--text-muted);font-size:11px;line-height:1.7}.settings-icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:10px;color:var(--accent-strong);background:var(--accent-soft)}.line-test-form{display:grid;gap:18px;padding:22px}.line-test-form label{display:grid;gap:7px;color:var(--text-muted);font-size:11px}.line-test-form select{min-height:44px;border:1px solid var(--border-strong);border-radius:9px;padding:9px 11px;color:var(--text);background:var(--surface)}.line-test-message{border-left:3px solid var(--accent);padding:4px 13px}.line-test-message span{color:var(--text-muted);font-size:10px}.line-test-message p{margin:5px 0 0;font-size:12px}.line-test-form>.primary{min-height:44px;border:0;border-radius:9px;color:#fff;background:var(--accent)}.line-test-form>.primary:disabled{opacity:.5}.line-test-success{display:flex;align-items:center;gap:7px;margin:0;color:var(--success);font-size:11px}.line-test-confirm{display:grid;grid-template-columns:auto 1fr;gap:9px 14px;margin:18px 0 0}.line-test-confirm dt{color:var(--text-muted);font-size:10px}.line-test-confirm dd{margin:0;font-size:11px;white-space:pre-wrap}@media(max-width:600px){.settings-section{margin-inline:-7px}.settings-section>header,.line-test-form{padding:18px}.line-test-confirm{grid-template-columns:1fr;gap:5px}.line-test-confirm dd+dt{margin-top:8px}}
