:root{--annino-navy:#040b30;--annino-navy2:#071342;--annino-cyan:#10c8ed;--annino-blue:#148df0;--annino-gold:#c89c4c;--annino-bg:#f4f7fb;--annino-text:#14203b;--sidebar:270px}
*{box-sizing:border-box}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--annino-text);background:var(--annino-bg)}a{text-decoration:none}.btn-primary{--bs-btn-bg:var(--annino-blue);--bs-btn-border-color:var(--annino-blue);--bs-btn-hover-bg:#0b79d5;--bs-btn-hover-border-color:#0b79d5}.btn-outline-primary{--bs-btn-color:var(--annino-blue);--bs-btn-border-color:var(--annino-blue)}.card{border:0;border-radius:18px;box-shadow:0 8px 30px rgba(4,11,48,.06)}.form-control,.form-select{border-radius:12px;padding:.72rem .9rem;border-color:#dce4ef}.form-control:focus,.form-select:focus{border-color:var(--annino-cyan);box-shadow:0 0 0 .2rem rgba(16,200,237,.12)}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:linear-gradient(180deg,var(--annino-navy),#07113e);color:#fff;padding:22px 16px;z-index:1030}.brand-wrap{display:flex;align-items:center;gap:11px;padding:4px 6px 24px}.brand-wrap img{width:52px;height:52px;object-fit:cover;border-radius:12px}.brand-app{letter-spacing:.12em;font-weight:800;font-size:.88rem}.brand-wrap small{color:#8bdcf4;letter-spacing:.16em}.side-nav{display:flex;flex-direction:column;gap:6px}.side-nav a,.sidebar-bottom a{color:#cbd7ef;padding:11px 12px;border-radius:12px;display:flex;align-items:center;gap:12px;font-size:.94rem}.side-nav a:hover,.side-nav a.active,.sidebar-bottom a:hover{color:white;background:rgba(22,193,239,.12)}.side-nav a.active{box-shadow:inset 3px 0 0 var(--annino-cyan)}.nav-icon{width:24px;text-align:center;color:var(--annino-cyan);font-weight:800}.sidebar-bottom{position:absolute;left:16px;right:16px;bottom:18px;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}.main-content{margin-left:var(--sidebar);min-height:100vh}.topbar{height:98px;display:flex;align-items:center;justify-content:space-between;padding:18px 34px;background:white;border-bottom:1px solid #e9eef5}.topbar h1{font-size:1.45rem;margin:2px 0 0;font-weight:750}.user-chip{display:flex;align-items:center;gap:10px}.user-chip small{display:block;color:#6c778e}.avatar-sm{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--annino-cyan),var(--annino-blue));font-weight:800;color:white}.content-wrap{padding:28px 34px 42px;max-width:1600px}.mobile-topbar{position:sticky;top:0;z-index:1020;background:var(--annino-navy);color:white;height:62px;padding:9px 13px;display:flex;align-items:center;gap:10px}.mobile-topbar img{width:38px;height:38px;border-radius:9px}.mobile-topbar .notif-pill{margin-left:auto;color:#fff;background:rgba(255,255,255,.1);padding:6px 9px;border-radius:12px;font-size:.8rem}
.metric-card{background:white;border-radius:18px;padding:20px;display:flex;gap:14px;align-items:flex-start;min-height:126px;box-shadow:0 8px 30px rgba(4,11,48,.06)}.metric-icon{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,rgba(16,200,237,.18),rgba(20,141,240,.14));color:var(--annino-blue);display:grid;place-items:center;font-size:1.25rem;font-weight:800}.metric-card span,.metric-card small{display:block;color:#71809a}.metric-card strong{display:block;font-size:1.55rem;margin:3px 0}.section-title{font-size:1.08rem;font-weight:750;margin:0}.table>thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#748199;border-bottom-width:1px}.table td,.table th{vertical-align:middle}.table-responsive{border-radius:16px}.empty-state{padding:46px 20px;text-align:center;color:#75829a}.estimate-box{background:linear-gradient(135deg,var(--annino-navy),var(--annino-navy2));color:#fff;border-radius:18px;padding:20px}.estimate-box .amount{font-size:1.8rem;font-weight:800;color:var(--annino-cyan)}.booking-card{border-left:4px solid var(--annino-cyan)}.map-card #map{height:520px;border-radius:14px}.pa-loc-list{max-height:520px;overflow:auto}.pa-loc-item{padding:12px;border:1px solid #e8edf4;border-radius:13px;margin-bottom:9px;cursor:pointer}.pa-loc-item:hover{border-color:var(--annino-cyan)}.chat-wrap{height:calc(100vh - 190px);min-height:520px;display:flex}.chat-threads{width:310px;border-right:1px solid #e7edf5;overflow:auto}.thread-item{display:block;padding:14px;border-bottom:1px solid #eef2f7;color:inherit}.thread-item.active{background:#eef9fd}.chat-panel{flex:1;display:flex;flex-direction:column}.chat-messages{flex:1;overflow:auto;padding:18px;background:#f7f9fc}.bubble{max-width:74%;padding:10px 13px;border-radius:15px;margin-bottom:10px;background:white;box-shadow:0 3px 12px rgba(0,0,0,.04)}.bubble.me{margin-left:auto;background:#dff8ff}.bubble small{display:block;color:#8994a7;margin-top:4px}.chat-form{padding:12px;border-top:1px solid #e7edf5;display:flex;gap:8px;background:#fff}.rating-stars input{display:none}.rating-stars label{font-size:2rem;color:#d8dee8;cursor:pointer}.rating-stars input:checked~label,.rating-stars label:hover,.rating-stars label:hover~label{color:#f0b84c}
.public-shell{background:white}.public-nav{height:78px;padding:10px clamp(20px,6vw,88px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(4,11,48,.96);z-index:20}.public-brand{display:flex;align-items:center;gap:10px;color:white;font-weight:800;letter-spacing:.08em}.public-brand img{width:48px;height:48px;border-radius:12px}.public-nav>div{display:flex;align-items:center;gap:18px}.public-nav>div>a:not(.btn){color:#d6e3f8}.hero{min-height:670px;background:radial-gradient(circle at 77% 20%,rgba(16,200,237,.18),transparent 27%),linear-gradient(140deg,#03092d,#081747);color:#fff;padding:80px clamp(20px,8vw,120px);display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:50px}.hero h1{font-size:clamp(2.6rem,5vw,5rem);font-weight:850;line-height:1.02;letter-spacing:-.045em}.hero h1 span{color:var(--annino-cyan)}.hero p{font-size:1.15rem;color:#cbd7ec;max-width:650px}.hero-logo{max-width:500px;width:100%;border-radius:30px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.pill{display:inline-block;border:1px solid rgba(16,200,237,.45);background:rgba(16,200,237,.1);color:#a9edff;border-radius:99px;padding:7px 13px;font-size:.83rem;letter-spacing:.06em;margin-bottom:18px}.public-section{padding:84px clamp(20px,8vw,120px)}.public-section.alt{background:#f5f8fc}.public-section h2{font-size:clamp(2rem,3vw,3rem);font-weight:800}.service-card{padding:24px;height:100%;border:1px solid #e8eef6;border-radius:20px;background:white}.service-card .service-icon{width:48px;height:48px;border-radius:14px;background:#e3f9ff;color:#058eb4;display:grid;place-items:center;font-size:1.25rem;margin-bottom:16px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.public-footer{background:#020827;color:#b9c7e0;padding:35px clamp(20px,8vw,120px);display:flex;justify-content:space-between;gap:40px}.public-footer strong{color:#fff}
.login-page{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1fr 1fr}.login-art{background:linear-gradient(140deg,#03092d,#071746);display:grid;place-items:center;padding:50px}.login-art img{max-width:520px;width:90%;border-radius:28px}.login-panel{display:grid;place-items:center;padding:40px}.login-card{width:min(460px,100%)}.role-chip{font-size:.72rem;padding:5px 8px;background:#eef4fb;border-radius:99px;color:#59708e}
@media(max-width:991.98px){.main-content{margin-left:0}.content-wrap{padding:20px 14px 34px}.sidebar{width:290px}.hero{grid-template-columns:1fr;padding-top:70px;padding-bottom:70px}.hero-logo{max-width:330px;margin:auto}.login-page{grid-template-columns:1fr}.login-art{display:none}.contact-grid{grid-template-columns:1fr}.chat-threads{width:230px}.map-card #map{height:410px}}
@media(max-width:575.98px){.public-nav{padding:8px 12px}.public-nav>div>a:not(.btn){display:none}.public-brand img{width:40px;height:40px}.hero{padding:58px 18px}.hero h1{font-size:2.65rem}.hero-logo{max-width:270px}.public-section{padding:58px 18px}.public-footer{flex-direction:column;padding:30px 18px}.content-wrap{padding:16px 10px 28px}.metric-card{min-height:105px}.chat-wrap{height:calc(100vh - 130px);min-height:520px}.chat-threads{display:none}.bubble{max-width:90%}.map-card #map{height:350px}.table{font-size:.86rem}}
