:root{--bg:#eef3f8;--panel:rgba(255,255,255,.78);--panel-solid:#fff;--text:#152238;--muted:#6d7c91;--line:#dce5ef;--accent:#4f67d8;--accent2:#7658cf;--green:#27a87d;--yellow:#e6a72e;--danger:#d9556f;--shadow:0 22px 70px rgba(44,64,94,.13);--radius:22px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 10% 10%,#fff 0,#eef3f8 35%,#e9eff7 100%);color:var(--text)}body.dark{--bg:#080d16;--panel:rgba(17,25,38,.82);--panel-solid:#101827;--text:#e9eef8;--muted:#9aa9bc;--line:#253348;--shadow:0 22px 70px rgba(0,0,0,.3);background:radial-gradient(circle at 10% 0,#17223b,#080d16 48%,#060a11)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.glass{background:var(--panel);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.55);box-shadow:var(--shadow)}.loader{position:fixed;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#eef3f8,#e5ecf6);z-index:100}.loader-card{width:min(380px,90vw);padding:42px 32px;border-radius:30px;background:rgba(255,255,255,.75);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:9px}.loader-card img{width:66px;height:66px;object-fit:contain}.loader-card strong{font-size:25px}.loader-card span{color:var(--muted);font-size:13px}.loader-card i{width:150px;height:4px;border-radius:9px;background:linear-gradient(90deg,var(--accent),var(--accent2));animation:load 1.2s infinite ease-in-out}@keyframes load{0%{transform:scaleX(.15);opacity:.4}50%{transform:scaleX(1);opacity:1}100%{transform:scaleX(.15);opacity:.4}}.auth-screen{min-height:100vh;padding:30px;display:grid;place-items:center}.auth-shell{width:min(1050px,100%);min-height:650px;display:grid;grid-template-columns:1.02fr .98fr;overflow:hidden;border-radius:32px}.auth-brand{position:relative;padding:48px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,rgba(80,104,216,.96),rgba(114,82,201,.94));color:#fff;overflow:hidden}.auth-brand:after{content:"";position:absolute;width:350px;height:350px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-150px;bottom:-120px}.brand-row{display:flex;align-items:center;gap:11px;font-size:19px}.brand-row img{width:40px;height:40px;object-fit:contain}.auth-brand h1{font-size:39px;line-height:1.08;max-width:480px;margin:0 0 18px}.auth-brand p{max-width:500px;color:rgba(255,255,255,.82);line-height:1.65}.auth-brand ul{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:15px}.auth-brand li{display:flex;align-items:center;gap:10px}.auth-brand li:before{content:"✓";width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.17)}.auth-brand small{color:rgba(255,255,255,.65)}.auth-main{padding:40px 52px;background:var(--panel-solid);display:flex;flex-direction:column}.auth-top{display:flex;justify-content:space-between;align-items:center}.mobile{display:none}.auth-main form{max-width:430px;width:100%;margin:auto}.auth-main h2{font-size:34px;margin:7px 0}.muted{color:var(--muted);line-height:1.6}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}label{display:grid;gap:8px;font-size:13px;font-weight:700;margin-top:18px}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:13px;padding:12px 13px;outline:0;transition:.18s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(79,103,216,.1)}textarea{min-height:110px;resize:vertical}.password{position:relative}.password input{padding-right:46px}.input-eye{position:absolute;right:6px;top:6px;width:38px;height:38px;border:0;background:transparent;color:var(--muted)}.btn{border:0;border-radius:13px;padding:12px 17px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 10px 24px rgba(79,103,216,.24)}.btn.soft{background:rgba(79,103,216,.1);color:var(--accent)}.btn.danger{background:rgba(217,85,111,.11);color:var(--danger)}.btn.full{width:100%;margin-top:25px}.spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:none;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading .spinner{display:block}.login-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;margin-top:17px}.alert{padding:12px;border-radius:12px;margin:16px 0;font-size:13px}.error{background:rgba(217,85,111,.1);color:var(--danger)}.app{min-height:100vh;display:flex}.sidebar{position:fixed;inset:16px auto 16px 16px;width:270px;border-radius:26px;padding:20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:5px 5px 22px;border-bottom:1px solid var(--line)}.brand-mark{width:43px;height:43px;border-radius:14px;background:rgba(79,103,216,.1);display:grid;place-items:center}.brand-mark img{width:33px;height:33px;object-fit:contain}.brand strong{display:block;font-size:15px}.brand small,.side-user small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.nav{padding:18px 0;display:flex;flex-direction:column;gap:5px;overflow:auto;min-height:0;width:100%}.nav button{appearance:none;-webkit-appearance:none;border:0!important;outline:0;background:transparent;color:var(--muted);width:100%;min-height:44px;padding:11px 13px;border-radius:12px;display:flex;align-items:center;gap:11px;text-align:left;font:inherit;font-size:13px;font-weight:750;line-height:1.2;box-shadow:none}.nav button svg{flex:0 0 18px}.nav button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav button:hover,.nav button.active{background:rgba(79,103,216,.1);color:var(--accent)}.nav button.active{box-shadow:inset 3px 0 0 var(--accent)}.side-user{margin-top:auto;border-top:1px solid var(--line);padding-top:15px;display:flex;align-items:center;gap:9px}.side-user>div:nth-child(2){min-width:0;flex:1}.side-user b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:37px;height:37px;border-radius:12px;background:linear-gradient(135deg,#7188e9,#7c5ad0);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px}.avatar.sm{width:34px;height:34px;border-radius:11px}.main{margin-left:302px;width:calc(100% - 302px);padding:22px 28px 40px}.topbar{min-height:66px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.topbar h1{margin:3px 0 0;font-size:28px}.top-actions{display:flex;align-items:center;gap:8px}.icon-btn{width:39px;height:39px;border:1px solid var(--line);border-radius:12px;background:var(--panel-solid);color:var(--muted);display:grid;place-items:center}.icon-btn:hover{color:var(--accent);border-color:rgba(79,103,216,.35)}.user-mini{border:1px solid var(--line);background:var(--panel-solid);border-radius:13px;padding:3px 8px 3px 4px;display:flex;align-items:center;gap:8px;color:var(--text);font-weight:700}.content{max-width:1450px;margin:auto}.grid{display:grid;gap:17px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:19px}.stat{position:relative;overflow:hidden}.stat .label{color:var(--muted);font-size:12px;font-weight:700}.stat .value{font-size:30px;font-weight:850;margin-top:7px}.stat .icon{position:absolute;right:17px;top:17px;width:39px;height:39px;border-radius:13px;background:rgba(79,103,216,.1);color:var(--accent);display:grid;place-items:center}.split{grid-template-columns:1.4fr .8fr;margin-top:18px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-head h3{margin:0;font-size:17px}.section-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);font-size:12px;white-space:nowrap}.table th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:99px;font-size:10px;font-weight:800;background:rgba(79,103,216,.1);color:var(--accent)}.badge.green{background:rgba(39,168,125,.1);color:var(--green)}.badge.yellow{background:rgba(230,167,46,.12);color:#b17a12}.badge.red{background:rgba(217,85,111,.1);color:var(--danger)}.pet-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.pet-card{display:flex;gap:14px;align-items:flex-start}.pet-photo{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(79,103,216,.13),rgba(118,88,207,.14));font-size:30px}.pet-card h3{margin:2px 0 5px}.pet-card p{margin:0;color:var(--muted);font-size:12px}.toolbar{display:flex;gap:9px;align-items:center;margin-bottom:17px}.toolbar .search{max-width:340px}.toolbar .spacer{flex:1}.page-card{margin-top:0}.timeline{display:grid;gap:12px}.timeline-item{border-left:3px solid var(--accent);padding:10px 14px;background:rgba(79,103,216,.05);border-radius:0 13px 13px 0}.timeline-item b{display:block}.timeline-item small{color:var(--muted)}.empty{text-align:center;padding:40px 15px;color:var(--muted)}.empty strong{display:block;color:var(--text);margin-bottom:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}.form-grid .full-row{grid-column:1/-1}.modal{position:fixed;inset:0;background:rgba(10,18,30,.42);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px;z-index:50}.modal-card{width:min(680px,100%);max-height:90vh;overflow:auto;background:var(--panel-solid);border:1px solid var(--line);border-radius:25px;padding:22px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-head h3{margin:3px 0;font-size:22px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.toast{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;gap:11px;align-items:flex-start;max-width:370px;padding:13px 15px;border:1px solid var(--line);background:var(--panel-solid);border-radius:15px;box-shadow:var(--shadow);transform:translateY(20px);opacity:0;pointer-events:none;transition:.25s}.toast.show{transform:none;opacity:1}.toast-icon{color:var(--green);margin-top:2px}.toast b{font-size:13px}.toast p{margin:3px 0 0;color:var(--muted);font-size:12px}.mobile-only{display:none}.notification-list{display:grid;gap:9px}.notification{padding:13px;border:1px solid var(--line);border-radius:14px}.notification.unread{background:rgba(79,103,216,.06);border-color:rgba(79,103,216,.18)}.notification b{font-size:13px}.notification p{margin:4px 0;color:var(--muted);font-size:12px}.notification time{font-size:10px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:260px 1fr;gap:18px}.profile-card{text-align:center}.profile-paw{width:100px;height:100px;margin:0 auto 10px;border-radius:28px;background:rgba(79,103,216,.1);display:grid;place-items:center;font-size:48px}.quick-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:15px}.kpi{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.kpi span{color:var(--muted)}.section-title{font-size:13px;font-weight:850;margin:22px 0 10px}.permission-note{font-size:11px;color:var(--muted);padding:10px;border-radius:12px;background:rgba(79,103,216,.06);margin-top:14px}.icon-flat{display:block}.has-tip{position:relative}
@media(max-width:1050px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.mobile{display:flex}.stats{grid-template-columns:repeat(2,1fr)}.sidebar{transform:translateX(-110%);transition:.25s}.sidebar.open{transform:none}.main{margin-left:0;width:100%;padding:18px}.mobile-only{display:grid}.split{grid-template-columns:1fr}}
@media(max-width:650px){.auth-screen{padding:12px}.auth-main{padding:25px 20px}.auth-main h2{font-size:29px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:14px}.stat .value{font-size:25px}.top-actions .user-mini span:nth-child(2){display:none}.topbar h1{font-size:23px}.content{width:100%}.form-grid,.detail-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar .search{max-width:none}.toolbar .spacer{display:none}.card{padding:15px}.modal-card{padding:17px}.toast{left:12px;right:12px;bottom:12px}.pet-grid{grid-template-columns:1fr}}
