:root{
 --bg:#f5f7fa;--surface:#fff;--surface-2:#f9fbfd;--line:#e4e9ef;--line-2:#d8e0e8;
 --ink:#17212b;--muted:#6f7b87;--muted-2:#99a3ad;--blue:#4d78a8;--blue-strong:#3f6793;--blue-soft:#edf4fb;
 --green:#338b67;--green-soft:#eaf7f1;--amber:#a66c18;--amber-soft:#fff5e4;--red:#b34d55;--red-soft:#fff0f1;
 --sidebar:218px;--radius:14px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);padding:24px 14px 18px;display:flex;flex-direction:column;z-index:30}.brand{height:38px;padding:0 10px;display:flex;align-items:center}.brand img{display:block;width:106px;height:25px;object-fit:contain;object-position:left center;filter:brightness(0)}.sidebar nav{display:flex;flex-direction:column;gap:4px;margin-top:24px}.sidebar nav a{height:42px;border-radius:11px;padding:0 11px;display:flex;align-items:center;gap:10px;color:#65727e;font-weight:520}.sidebar nav a:hover{background:#f7f9fb;color:#26313c}.sidebar nav a.active{background:var(--blue-soft);color:#31577d;font-weight:620}.nav-icon{width:25px;text-align:center;font-size:14px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:16px 8px 0}.user-chip{display:flex;align-items:center;gap:9px}.avatar{width:31px;height:31px;border-radius:9px;background:#eaf0f6;color:#486780;display:grid;place-items:center;font-size:11px;font-weight:650}.avatar.large{width:42px;height:42px;border-radius:12px;font-size:14px}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:12px;font-weight:600}.user-chip small{font-size:10px;color:var(--muted);margin-top:1px}.sidebar-bottom form{margin-top:10px}.logout{border:0;background:transparent;padding:3px 0;color:var(--muted);font-size:11px}.main{margin-left:var(--sidebar);padding:26px 34px 56px;max-width:1500px}.topbar{display:flex;align-items:center;gap:15px;margin-bottom:22px}.topbar>div{flex:1}.topbar h1{margin:2px 0 0;font-size:25px;line-height:1.1;font-weight:620;letter-spacing:-.025em}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:9px;font-weight:650;color:#93a0ab}.menu-btn{display:none;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff}.btn{min-height:38px;border:1px solid var(--line-2);border-radius:10px;background:#fff;padding:8px 13px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:600;transition:.12s}.btn:hover{border-color:#c8d2dc;background:#fbfcfd}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-strong);border-color:var(--blue-strong)}.btn.success{background:var(--green);border-color:var(--green);color:#fff}.btn.ghost{background:#fff}.btn.wide{width:100%}.text-link{font-size:11px;font-weight:600;color:#557ca3}.alert{padding:11px 13px;border-radius:10px;margin-bottom:16px;font-size:12px;font-weight:550}.alert.green{background:var(--green-soft);color:#2d775a}.alert.red{background:var(--red-soft);color:var(--red)}
.today-summary{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;display:flex;align-items:center;gap:30px}.today-summary>div:first-child{flex:1}.today-summary h2{font-size:22px;font-weight:620;letter-spacing:-.02em;margin:5px 0 4px}.today-summary p{margin:0;color:var(--muted);font-size:12px}.today-numbers{display:grid;grid-template-columns:repeat(3,minmax(95px,1fr));gap:8px}.today-numbers>div{background:var(--surface-2);border:1px solid #edf1f5;border-radius:11px;padding:12px 14px}.today-numbers span,.today-numbers strong{display:block}.today-numbers span{font-size:9px;color:var(--muted);margin-bottom:4px}.today-numbers strong{font-size:15px;font-weight:620}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin:27px 2px 10px}.section-head h2{font-size:16px;font-weight:620;margin:0 0 3px}.section-head p{font-size:10px;color:var(--muted);margin:0}.service-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.service-row{display:grid;grid-template-columns:56px minmax(220px,1.25fr) minmax(120px,.7fr) auto 20px;align-items:center;gap:13px;padding:13px 15px;border-bottom:1px solid #edf1f4}.service-list.all .service-row{grid-template-columns:48px minmax(220px,1.2fr) minmax(120px,.65fr) auto auto 18px}.service-row:last-child{border-bottom:0}.service-row:hover{background:#fafbfd}.time-pill{background:var(--blue-soft);color:#456c93;border-radius:9px;text-align:center;padding:8px 5px;font-size:11px;font-weight:650}.service-main strong,.service-main span{display:block}.service-main strong{font-size:12px;font-weight:600}.service-main span{font-size:10px;color:var(--muted);margin-top:3px}.service-person{font-size:10px;color:#596a78}.service-person.warning{color:var(--amber);font-weight:600}.status{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:99px;font-size:9px;font-weight:650;white-space:nowrap}.status.big{padding:7px 10px}.status.blue{background:var(--blue-soft);color:#466e96}.status.green{background:var(--green-soft);color:#30795c}.status.amber{background:var(--amber-soft);color:var(--amber)}.status.red{background:var(--red-soft);color:var(--red)}.status.gray{background:#f0f2f4;color:#6f7881}.arrow{font-size:18px;color:#a8b2bc}.date-block{text-align:center}.date-block strong{display:block;font-size:16px;font-weight:620}.date-block span{font-size:8px;color:var(--muted);font-weight:650}.price{font-size:11px;font-weight:600}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:11px}.quick-grid a{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center}.quick-grid a:hover{border-color:#ccd6df}.quick-icon{grid-row:1/3;width:34px;height:34px;border-radius:9px;background:var(--blue-soft);color:#567ca2;display:grid;place-items:center;font-size:17px}.quick-grid strong{font-size:11px;font-weight:600}.quick-grid small{font-size:9px;color:var(--muted);margin-top:2px}.empty{text-align:center;padding:42px 20px}.empty.compact{padding:28px 20px}.empty-icon{width:40px;height:40px;border-radius:11px;background:var(--blue-soft);color:#52779c;display:grid;place-items:center;margin:0 auto 10px}.empty h3{font-size:13px;font-weight:600;margin:0 0 5px}.empty p{font-size:10px;color:var(--muted);margin:0 0 13px}
.agenda-toolbar{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:12px}.agenda-toolbar>div{text-align:center;min-width:180px}.agenda-toolbar strong,.agenda-toolbar small{display:block}.agenda-toolbar strong{font-size:14px;font-weight:620}.agenda-toolbar small{font-size:9px;color:var(--muted);margin-top:2px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px;overflow-x:auto;padding-bottom:5px}.day-card{background:#fff;border:1px solid var(--line);border-radius:13px;min-height:360px;padding:11px}.day-card.today{border-color:#adc4db;background:#fbfdff}.day-card>header{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 10px;border-bottom:1px solid #edf1f4}.day-card>header span{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:650}.day-card>header strong{font-size:17px;font-weight:620}.day-services{padding-top:8px;display:flex;flex-direction:column;gap:6px}.day-services a{border:1px solid #e7edf2;background:#fbfcfd;border-radius:10px;padding:9px}.day-services a:hover{border-color:#cfd9e2}.day-services time,.day-services strong,.day-services small{display:block}.day-services time{font-size:9px;color:#567ca2;font-weight:650}.day-services strong{font-size:10px;font-weight:600;margin-top:2px}.day-services small{font-size:8px;color:var(--muted);margin-top:2px}.day-empty{display:block;text-align:center;color:#b0b8c0;font-size:9px;padding-top:22px}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.search{position:relative;width:min(380px,55%)}.search span{position:absolute;left:11px;top:9px;color:#8c99a5}.search input{width:100%;height:38px;border:1px solid var(--line-2);border-radius:10px;padding:8px 11px 8px 31px;background:#fff;outline:none}.search input:focus{border-color:#9db5cc;box-shadow:0 0 0 3px rgba(77,120,168,.08)}.filters{display:flex;gap:5px}.chip{background:#fff;border:1px solid var(--line);border-radius:99px;padding:7px 10px;font-size:10px;color:var(--muted);font-weight:550}.chip.active{background:var(--blue-soft);border-color:#d9e7f4;color:#466d94}.table-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #edf1f4;font-size:11px}th{background:#fbfcfd;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#8996a2;font-weight:650}td strong,td small{display:block}td strong{font-weight:600}td small{font-size:9px;color:var(--muted);margin-top:2px}.mini-btn{display:inline-block;border:1px solid var(--line-2);border-radius:8px;padding:6px 9px;font-size:9px;font-weight:600}.positive{color:var(--green)}
.form-card{max-width:850px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px}.form-head,.detail-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.form-head h2,.detail-head h2{font-size:20px;font-weight:620;margin:1px 0 3px;letter-spacing:-.02em}.form-head p,.detail-head p{font-size:10px;color:var(--muted);margin:0}.back{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;place-items:center;color:#657480}.friendly-form{display:flex;flex-direction:column;gap:11px}.form-section{border:1px solid var(--line);border-radius:13px;padding:16px}.form-section-title{display:flex;align-items:center;gap:9px;margin-bottom:13px}.form-section-title>span{width:26px;height:26px;border-radius:8px;background:var(--blue-soft);color:#52799f;display:grid;place-items:center;font-size:9px;font-weight:650}.form-section-title h3{font-size:12px;font-weight:600;margin:0}.form-section-title p{font-size:9px;color:var(--muted);margin:2px 0 0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid label,.stack label{display:block;font-size:10px;font-weight:600;color:#54636f}.form-grid input,.form-grid select,.form-grid textarea,.stack input,.stack select{width:100%;margin-top:5px;border:1px solid var(--line-2);border-radius:9px;padding:9px 10px;background:#fff;outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.stack input:focus,.stack select:focus{border-color:#9db5cc;box-shadow:0 0 0 3px rgba(77,120,168,.08)}.span-2{grid-column:1/-1}.optional{font-weight:450;color:#9aa5ae;margin-left:3px}.price-preview{background:var(--blue-soft);border-radius:10px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between}.price-preview span{font-size:10px;color:#597086}.price-preview strong{font-size:16px;font-weight:620}.advanced{border:1px solid var(--line);border-radius:12px;background:#fbfcfd}.advanced summary{cursor:pointer;list-style:none;padding:12px 14px;display:flex;align-items:center;justify-content:space-between}.advanced summary::-webkit-details-marker{display:none}.advanced summary span{font-size:10px;font-weight:600}.advanced summary small{font-size:9px;color:var(--muted)}.advanced-body{padding:0 14px 14px}.sticky-form-actions{display:flex;justify-content:flex-end;gap:7px}.detail-head{align-items:center}.detail-head>div:nth-child(2){flex:1}.detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,.72fr);gap:11px}.action-strip{display:flex;gap:7px;margin-bottom:10px}.action-strip form{margin:0}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;margin-bottom:10px}.panel h3{font-size:11px;font-weight:600;margin:0 0 10px}.panel-title{display:flex;align-items:center;justify-content:space-between}.panel-title h3{margin:0}.panel-title p{font-size:9px;color:var(--muted);margin:2px 0 0}.panel-title strong{font-size:15px;font-weight:620}.progress{height:5px;background:#edf1f4;border-radius:99px;margin:11px 0 4px;overflow:hidden}.progress i{display:block;height:100%;background:var(--blue);border-radius:99px}.check-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #edf1f4}.check-row:last-child{border-bottom:0}.check{width:25px;height:25px;border:1px solid #cfd8e0;border-radius:7px;background:#fff}.check.done{background:var(--green);border-color:var(--green);color:#fff}.struck{text-decoration:line-through;color:#9aa4ad}.info-list>div{padding:8px 0;border-bottom:1px solid #edf1f4}.info-list>div:last-child{border-bottom:0}.info-list span,.info-list strong{display:block}.info-list span{font-size:8px;color:var(--muted);margin-bottom:2px}.info-list strong{font-size:10px;font-weight:600}.note-text{font-size:10px;color:#62717d;line-height:1.6}.repeat-actions{display:flex;flex-direction:column;gap:6px}.repeat-actions form{margin:0}.mini-service-list>a{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #edf1f4}.mini-service-list>a:last-child{border-bottom:0}.mini-service-list>a>span:first-child{font-size:9px;color:var(--muted)}.mini-service-list strong,.mini-service-list small{display:block}.mini-service-list strong{font-size:10px;font-weight:600}.mini-service-list small{font-size:8px;color:var(--muted);margin-top:2px}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.person-card,.add-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px;min-height:140px}.person-top{display:flex;align-items:center;gap:9px}.person-top>div{flex:1}.person-top h3{font-size:11px;font-weight:600;margin:0}.person-top p{font-size:9px;color:var(--muted);margin:2px 0 0}.person-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px;padding-top:11px;border-top:1px solid var(--line)}.person-meta span{font-size:8px;color:var(--muted)}.person-meta strong{display:block;font-size:10px;font-weight:600;margin-top:2px}.add-card{display:flex;flex-direction:column;justify-content:center;border-style:dashed}.add-card>span{font-size:18px;color:#6b89a6}.add-card strong{font-size:10px;font-weight:600;margin-top:6px}.add-card small{font-size:8px;color:var(--muted);margin-top:2px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px}.stat-card span,.stat-card strong,.stat-card small{display:block}.stat-card span{font-size:9px;color:var(--muted)}.stat-card strong{font-size:20px;font-weight:620;margin:5px 0 2px}.stat-card small{font-size:8px;color:#9ba5ae}
.login-body{min-height:100vh;display:grid;place-items:center;background:#f5f7fa;padding:20px}.login-card{width:min(370px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}.login-logo{display:block;width:118px;height:28px;object-fit:contain;object-position:left;filter:brightness(0);margin-bottom:25px}.login-card h1{font-size:23px;font-weight:620;margin:0}.login-card>p{font-size:11px;color:var(--muted);margin:5px 0 18px}.stack{display:flex;flex-direction:column;gap:12px}.mobile-nav{display:none}
@media(max-width:1100px){.today-summary{align-items:flex-start}.today-numbers{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(7,145px)}.cards-grid{grid-template-columns:repeat(2,1fr)}.service-row,.service-list.all .service-row{grid-template-columns:50px minmax(180px,1fr) auto auto}.service-person,.price{display:none}}
@media(max-width:800px){:root{--sidebar:0}.sidebar{width:224px;transform:translateX(-100%);transition:.18s}.sidebar-open .sidebar{transform:translateX(0);box-shadow:0 12px 35px rgba(20,35,50,.12)}.main{margin-left:0;padding:18px 15px 90px}.menu-btn{display:grid;place-items:center}.topbar{margin-bottom:18px}.topbar h1{font-size:21px}.today-summary{display:block;padding:18px}.today-numbers{grid-template-columns:repeat(3,1fr);margin-top:15px}.detail-grid{grid-template-columns:1fr}.cards-grid{grid-template-columns:1fr 1fr}.table-card{overflow-x:auto}table{min-width:620px}.mobile-nav{position:fixed;display:grid;grid-template-columns:1fr 1fr 58px 1fr 1fr;align-items:center;left:9px;right:9px;bottom:9px;height:60px;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:16px;z-index:35;padding:0 7px}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:8px;color:#84909a;font-weight:550}.mobile-nav a span{font-size:15px}.mobile-nav a.active{color:#426a91}.mobile-nav .mobile-create{width:46px;height:46px;border-radius:14px;background:var(--blue);color:#fff;justify-self:center;transform:translateY(-10px)}.mobile-nav .mobile-create span{font-size:20px}}
@media(max-width:560px){.main{padding-inline:11px}.topbar .btn.primary{padding-inline:10px}.today-numbers{grid-template-columns:1fr 1fr}.today-numbers>div:last-child{display:none}.service-row,.service-list.all .service-row{grid-template-columns:44px 1fr 16px;padding:10px;gap:9px}.service-row .status,.service-row .service-person,.service-row .price{display:none}.quick-grid{grid-template-columns:1fr}.form-card{padding:13px}.form-section{padding:13px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.sticky-form-actions{position:sticky;bottom:74px;background:#fff;border-top:1px solid var(--line);margin:0 -13px -13px;padding:9px 13px;z-index:5}.sticky-form-actions .btn.primary{flex:1}.list-toolbar{align-items:stretch;flex-wrap:wrap}.search{width:100%}.filters{overflow-x:auto}.cards-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr}.detail-head{flex-wrap:wrap}.detail-head>.status{margin-left:46px}.action-strip{flex-wrap:wrap}.action-strip .btn{flex:1}.week-grid{grid-template-columns:repeat(7,132px)}.day-card{min-height:310px}.price-preview{display:block}.price-preview strong{display:block;margin-top:3px}}
