@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--bg:#070707;--panel:#101010;--panel2:#151515;--line:#2a2418;--gold:#d6ad55;--gold2:#f1d48a;--text:#f5f1e8;--muted:#aaa39a;--danger:#d96b6b;--ok:#79c28a}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#19140a 0,#070707 42%);color:var(--text);font-family:Inter,Arial,sans-serif}button,input,textarea,select{font:inherit}.hidden{display:none!important}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);background:linear-gradient(145deg,#121212,#080808);border:1px solid var(--line);border-radius:28px;padding:42px;box-shadow:0 30px 100px #000}.login-logo{width:130px;height:130px;display:block;margin:0 auto 12px}.gold-label{color:var(--gold);font-size:11px;letter-spacing:4px;font-weight:700}.login-card .gold-label{text-align:center}.login-card h1{font-family:'Cormorant Garamond',serif;font-size:42px;text-align:center;margin:8px 0}.login-card>p{text-align:center;color:var(--muted);margin:0 0 28px}.login-card label,.modal label{display:block;color:#d9d1c4;font-size:13px;margin:0 0 15px}.login-card input,.modal input,.modal textarea,.modal select{width:100%;margin-top:7px;background:#090909;border:1px solid #332c20;border-radius:12px;color:#fff;padding:13px;outline:none}.login-card input:focus,.modal input:focus,.modal textarea:focus{border-color:var(--gold)}.gold-button{width:100%;border:0;border-radius:12px;padding:14px;background:linear-gradient(135deg,#b88b34,#f0d27e);color:#080808;font-weight:800;cursor:pointer}.gold-button:disabled,.small-btn:disabled{opacity:.55;cursor:not-allowed}.error{min-height:22px;color:var(--danger);font-size:13px;margin-top:10px}
.app{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#080808;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;margin-bottom:42px;color:var(--gold);letter-spacing:3px;font-size:12px;font-weight:700}.brand img{width:48px;height:48px}.sidebar nav{display:grid;gap:7px;overflow:auto}.nav-item{border:1px solid transparent;background:transparent;color:#bdb6aa;text-align:left;padding:13px 15px;border-radius:12px;cursor:pointer;display:flex;gap:12px;align-items:center}.nav-item:hover,.nav-item.active{background:#15120d;border-color:#342a18;color:var(--gold2)}.nav-item b{margin-left:auto;background:#8f2828;color:#fff;border-radius:20px;padding:2px 7px;font-size:11px}.logout{margin-top:auto;background:transparent;border:1px solid #2c2c2c;color:#aaa;padding:11px;border-radius:10px;cursor:pointer}.main{margin-left:250px;width:calc(100% - 250px);padding:28px 34px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;border-bottom:1px solid #1d1a15;padding-bottom:20px}.topbar h2{font-family:'Cormorant Garamond',serif;font-size:38px;margin:3px 0 0}.top-actions{display:flex;align-items:center;gap:16px}.site-link{color:var(--gold);text-decoration:none}.site-link:hover{text-decoration:underline}.notify-button{border:1px solid #3a3021;background:#111;color:var(--gold2);border-radius:10px;padding:9px 12px;cursor:pointer;min-width:52px}.notify-button span{display:inline-block;min-width:18px;margin-left:3px}.notify-button:hover{border-color:var(--gold)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat,.card{background:linear-gradient(145deg,#121212,#0d0d0d);border:1px solid #262118;border-radius:18px;padding:20px}.stat small{color:var(--muted)}.stat strong{display:block;font-size:32px;margin-top:7px;color:var(--gold2)}.stat span{display:block;color:#777;font-size:11px;margin-top:4px}.section-title{font-family:'Cormorant Garamond',serif;font-size:30px;margin:30px 0 14px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.quick{background:#101010;border:1px solid #292217;border-radius:16px;padding:18px;text-align:left;color:#ddd;cursor:pointer}.quick:hover{border-color:#6b5730;transform:translateY(-1px)}.quick b{display:block;color:var(--gold2);margin-bottom:7px}.quick span{font-size:12px;color:#8f8a82;line-height:1.5}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:14px 10px;border-bottom:1px solid #242019;text-align:left;vertical-align:top}.table th{color:#9d9486;font-size:11px;text-transform:uppercase;letter-spacing:1px}.badge{display:inline-block;border:1px solid #3b3020;border-radius:999px;padding:5px 9px;font-size:11px}.badge.new{color:#f0cf79}.badge.confirmed{color:#8cc9f0}.badge.done{color:var(--ok)}.badge.cancelled{color:var(--danger)}.badge.published{color:var(--ok)}.badge.pending{color:var(--gold2)}.badge.hidden{color:#888}.badge.no_show{color:#ffb27a;border-color:#5a3826}.actions{display:flex;gap:7px;flex-wrap:wrap}.small-btn{border:1px solid #3a3021;background:#111;color:#ddd;border-radius:9px;padding:8px 10px;cursor:pointer}.small-btn:hover{border-color:#6b5730}.small-btn.gold{color:#111;background:var(--gold);border-color:var(--gold)}.small-btn.danger{color:#ffb0b0}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:15px}.toolbar input{flex:1;min-width:220px}.toolbar input,.toolbar select{background:#0d0d0d;border:1px solid #30291e;color:#ddd;border-radius:10px;padding:10px}
.days{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.day{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:center;background:#101010;border:1px solid #262118;border-radius:14px;padding:12px}.day span{color:#ddd}.schedule-grid{display:grid;gap:12px;margin-top:18px}.schedule-row{display:grid;grid-template-columns:1.25fr 150px 150px 130px auto;gap:12px;align-items:center;background:#101010;border:1px solid #262118;border-radius:14px;padding:14px}.schedule-name{color:var(--gold2)}.time-field{color:#9d9486;font-size:11px;text-transform:uppercase;letter-spacing:1px}.time-field input{display:block;width:100%;margin-top:6px;background:#080808;border:1px solid #322b21;color:#fff;border-radius:9px;padding:10px}.closed-field{font-size:12px;color:#bbb;white-space:nowrap}.closed-field input{accent-color:var(--gold);margin-right:6px}.schedule-row>.small-btn{min-width:82px}.save-message{min-height:22px;color:var(--ok);margin-top:12px}
.review{display:grid;grid-template-columns:1fr auto;gap:15px;margin-bottom:12px}.review h3{margin:10px 0 4px}.review p{color:#c4bdb1;line-height:1.6}.reply{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.gold-text{color:var(--gold)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 15px}.form-grid .full{grid-column:1/-1}.check-label{display:flex!important;align-items:center;gap:8px;padding-top:22px}.check-label input{width:auto!important;margin:0!important;accent-color:var(--gold)}
.service-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.service-admin{padding:0;overflow:hidden;display:flex;flex-direction:column}.service-admin>img{width:100%;height:190px;object-fit:cover;background:#080808}.service-admin-body{padding:20px}.service-admin-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.service-admin h3{font-family:'Cormorant Garamond',serif;font-size:29px;margin:12px 0 7px}.service-admin p{color:#aaa39a;line-height:1.6;min-height:50px}.service-meta{display:flex;gap:15px;flex-wrap:wrap;margin:15px 0;color:#aaa}.service-meta b{color:var(--gold2)}.active-dot{font-size:11px;color:var(--ok)}.inactive-dot{font-size:11px;color:#777}.service-admin.inactive{opacity:.72}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 20px}.detail-grid p{padding:10px 0;border-bottom:1px solid #242019;color:#c9c1b5;line-height:1.5}.modal-backdrop{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:20px;z-index:100}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#111;border:1px solid #3a2e1c;border-radius:22px;padding:25px}.modal h3{font-family:'Cormorant Garamond',serif;font-size:30px;margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.calendar-day{margin:0 0 22px}.calendar-day>h3{font-family:'Cormorant Garamond',serif;color:var(--gold2);font-size:26px;margin:12px 0}.calendar-list{display:grid;gap:9px}.calendar-item{display:grid;grid-template-columns:80px 1fr 220px auto;gap:18px;align-items:center;padding:14px 16px}.calendar-time{font-size:20px;color:var(--gold2);font-weight:700}.calendar-item div:nth-child(2) b,.calendar-item div:nth-child(2) span{display:block}.calendar-item div:nth-child(2) span{color:#888;font-size:12px;margin-top:3px}
@media(max-width:1100px){.stats,.quick-grid{grid-template-columns:repeat(2,1fr)}.service-admin-grid{grid-template-columns:1fr}.schedule-row{grid-template-columns:1fr 1fr}.closed-field{grid-column:1/2}.schedule-row .small-btn{grid-column:2/3}.calendar-item{grid-template-columns:70px 1fr 1fr}.calendar-item .badge{grid-column:1/-1}}
@media(max-width:850px){.sidebar{width:72px;padding:18px 10px}.brand span,.nav-item span,.logout{display:none}.brand{justify-content:center}.nav-item{justify-content:center}.main{margin-left:72px;width:calc(100% - 72px);padding:20px}.days{grid-template-columns:1fr}.top-actions{gap:8px}.calendar-item{grid-template-columns:1fr 1fr}}
@media(max-width:520px){
html,body{width:100%;max-width:100%;overflow-x:hidden}.app{min-height:100dvh;display:block}.sidebar{position:fixed;z-index:90;left:0;right:0;bottom:0;top:auto;width:100%;height:68px;padding:7px 8px;background:rgba(8,8,8,.98);border-right:0;border-top:1px solid var(--line);display:block;box-shadow:0 -12px 30px rgba(0,0,0,.28);backdrop-filter:blur(12px)}.brand,.logout{display:none}.sidebar nav{height:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;overflow:visible}.nav-item{min-width:0;height:54px;padding:5px 3px;display:flex;flex-direction:column;justify-content:center;gap:2px;border-radius:10px;text-align:center;font-size:21px;line-height:1}.nav-item span{display:block;max-width:100%;font-size:9px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item b{position:absolute;margin:0;transform:translate(13px,-14px);padding:2px 5px;font-size:9px}.nav-item:nth-child(1),.nav-item:nth-child(2),.nav-item:nth-child(3),.nav-item:nth-child(4),.nav-item:nth-child(5){display:flex}.main{margin:0;width:100%;padding:14px 12px 88px;min-width:0}.topbar{position:sticky;top:0;z-index:20;min-height:58px;margin:0 -12px 16px;padding:9px 12px 11px;background:rgba(7,7,7,.96);backdrop-filter:blur(12px);align-items:center}.topbar>div{min-width:0}.gold-label{letter-spacing:2.5px;font-size:9px}.topbar h2{font-size:29px;line-height:1.05;margin:2px 0 0;overflow-wrap:anywhere}.site-link{font-size:11px;white-space:nowrap}.top-actions{min-width:0}.notify-button{min-width:44px;padding:8px 9px;font-size:14px}.notify-button span{font-size:11px}.stats,.quick-grid{grid-template-columns:1fr 1fr;gap:9px}.stat,.card{border-radius:14px;padding:15px;min-width:0;max-width:100%}.stat small{font-size:11px;line-height:1.3}.stat strong{font-size:27px}.section-title{font-size:25px;margin:23px 0 11px}.quick{padding:14px;border-radius:13px;min-width:0}.quick b,.quick span{overflow-wrap:anywhere}.quick b{font-size:13px}.quick span{font-size:11px}.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}.table{min-width:680px}.table th,.table td{padding:11px 9px;font-size:12px}.table th{font-size:9px}.toolbar{align-items:stretch;gap:8px}.toolbar>input,.toolbar>select{min-width:0;width:100%;flex:1 1 100%;max-width:100%}.toolbar>button{min-height:42px}.toolbar>span{font-size:11px;line-height:1.35;overflow-wrap:anywhere}.actions{gap:6px;max-width:250px}.small-btn{min-height:38px;padding:8px 10px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.days{grid-template-columns:1fr}.day{grid-template-columns:1fr;gap:4px;padding:12px}.day strong,.day span{overflow-wrap:anywhere}.schedule-row{grid-template-columns:1fr;gap:9px;padding:12px}.schedule-row .small-btn,.closed-field{grid-column:auto}.time-field input{min-height:42px}.closed-field{white-space:normal;line-height:1.3}.review{grid-template-columns:1fr;gap:10px}.review h3,.review p{overflow-wrap:anywhere}.reply{grid-column:auto;display:grid;grid-template-columns:1fr;gap:7px}.reply .small-btn{width:100%}.form-grid,.detail-grid{grid-template-columns:1fr;gap:0}.form-grid .full{grid-column:auto}.form-grid input,.form-grid textarea,.form-grid select,.modal input,.modal textarea,.modal select{max-width:100%;min-width:0}.check-label{padding-top:10px}.service-admin-grid{grid-template-columns:1fr}.service-admin{min-width:0}.service-admin-body{padding:15px}.service-admin-head{align-items:flex-start;flex-direction:column}.service-admin h3{font-size:25px;overflow-wrap:anywhere}.service-admin p{min-height:0;overflow-wrap:anywhere}.service-meta{gap:10px;font-size:12px}.detail-grid p{overflow-wrap:anywhere}.modal-backdrop{padding:10px;align-items:end}.modal{width:100%;max-height:calc(100dvh - 20px);border-radius:18px;padding:17px 15px 18px}.modal h3{font-size:27px;line-height:1.05;overflow-wrap:anywhere}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal-actions .small-btn{width:100%}.calendar-day{margin-bottom:16px}.calendar-day>h3{font-size:23px;line-height:1.1;overflow-wrap:anywhere}.calendar-item{grid-template-columns:1fr;gap:7px;padding:13px}.calendar-time{font-size:21px}.calendar-item div{min-width:0}.calendar-item b,.calendar-item span{overflow-wrap:anywhere}.calendar-item .badge{grid-column:auto}.login-screen{padding:14px}.login-card{padding:25px 17px;border-radius:20px}.login-logo{width:95px;height:95px}.login-card h1{font-size:34px;line-height:1.05}.login-card>p{font-size:13px;line-height:1.5;margin-bottom:22px}.login-card input{min-height:44px}.gold-button{min-height:46px}
}

/* Royal Pet CRM visual polish */
:root{--surface:#11100f;--surface2:#171512;--surface3:#0b0b0a;--line-soft:rgba(241,212,138,.10);--shadow:0 18px 50px rgba(0,0,0,.30)}
body{background:radial-gradient(circle at 85% -10%,rgba(214,173,85,.12),transparent 28%),radial-gradient(circle at 15% 20%,rgba(214,173,85,.045),transparent 25%),#070707}
.sidebar{background:linear-gradient(180deg,#0b0a09,#080808);box-shadow:12px 0 40px rgba(0,0,0,.16)}
.brand{padding:8px 8px 18px;border-bottom:1px solid var(--line-soft)}
.nav-item{transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.nav-item:hover{transform:translateX(2px)}.nav-item.active{box-shadow:inset 3px 0 0 var(--gold)}
.main{max-width:1700px}.topbar{min-height:74px;backdrop-filter:blur(10px)}
.topbar h2{letter-spacing:-.02em}.site-link,.notify-button{transition:all .18s ease}.notify-button{box-shadow:0 8px 24px rgba(0,0,0,.18)}
.stat,.card,.quick,.day,.schedule-row,.service-admin{box-shadow:var(--shadow);border-color:rgba(255,255,255,.065);background:linear-gradient(145deg,rgba(22,22,21,.98),rgba(12,12,12,.98))}
.stat,.quick,.card{transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.stat:hover,.quick:hover,.card:hover{border-color:rgba(214,173,85,.18);box-shadow:0 20px 55px rgba(0,0,0,.36)}
.stat strong{font-variant-numeric:tabular-nums;letter-spacing:-.03em}.quick b{font-weight:700;letter-spacing:-.01em}
.table-wrap{border:1px solid rgba(255,255,255,.055);box-shadow:var(--shadow);background:#0d0d0c}.table{background:transparent}.table thead{background:linear-gradient(180deg,#151311,#11100f)}.table th{position:sticky;top:0;background:#14120f;z-index:2}.table tbody tr{transition:background .15s ease}.table tbody tr:hover{background:rgba(214,173,85,.035)}.table td{color:#ddd6ca}.table th,.table td{border-bottom-color:rgba(255,255,255,.055)}
.badge{font-weight:600;letter-spacing:.01em;background:rgba(255,255,255,.025)}.badge.new{background:rgba(240,207,121,.07)}.badge.confirmed{background:rgba(140,201,240,.07)}.badge.done{background:rgba(121,194,138,.07)}.badge.cancelled,.badge.no_show{background:rgba(217,107,107,.06)}
.small-btn{transition:all .16s ease;box-shadow:0 5px 16px rgba(0,0,0,.14)}.small-btn:hover{transform:translateY(-1px)}.small-btn.gold:hover{filter:brightness(1.06);box-shadow:0 8px 24px rgba(214,173,85,.18)}.small-btn.danger:hover{border-color:rgba(217,107,107,.5);background:rgba(217,107,107,.06)}
.toolbar input,.toolbar select,.login-card input,.modal input,.modal textarea,.modal select,.time-field input{transition:border-color .16s ease,box-shadow .16s ease;background:#0b0b0a}.toolbar input:focus,.toolbar select:focus,.time-field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(214,173,85,.08)}
.section-title{letter-spacing:-.015em}.modal-backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.modal{box-shadow:0 30px 100px rgba(0,0,0,.55);border-color:rgba(214,173,85,.16)}
.login-card{box-shadow:0 35px 120px rgba(0,0,0,.62);border-color:rgba(214,173,85,.16)}
.save-message{padding:9px 11px;border-radius:10px;background:rgba(121,194,138,.06);border:1px solid rgba(121,194,138,.12)}
.rp-business-grid .card,.rp-kpi{box-shadow:0 14px 36px rgba(0,0,0,.22)}
@media(max-width:850px){.sidebar{box-shadow:8px 0 30px rgba(0,0,0,.18)}}
@media(max-width:520px){.stat,.card,.quick{box-shadow:0 12px 30px rgba(0,0,0,.24)}.table-wrap{box-shadow:0 12px 30px rgba(0,0,0,.24)}.topbar{border-bottom:1px solid rgba(214,173,85,.12)}}
