:root{
  --page-bg:#EEF3FA; --surface:#FFFFFF; --surface-2:#F4F8FD; --surface-3:#E6EDF7;
  --blue:#2563EB; --blue-dark:#1D4ED8; --blue-light:#4F8FF0; --blue-tint:#E7F0FE;
  --navy:#0F1E3D;
  --text:#101827; --text-dim:#5B6B84; --border:#DCE6F3;
  --green:#1F9D6B; --green-bg:#E4F7EE;
  --amber:#B5791A; --amber-bg:#FBF1DC;
  --red:#D5433A; --red-bg:#FCEAEA;
  --shadow:0 6px 22px rgba(16,24,39,0.09);
  --shadow-sm:0 2px 8px rgba(16,24,39,0.07);
  --font-head:'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--font-body);background:var(--page-bg);color:var(--text);}
i.ti{line-height:1;}
button i.ti, .notif-title i.ti{vertical-align:-2px;margin-right:5px;}

header{position:relative;overflow:hidden;color:#fff;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;box-shadow:0 4px 18px rgba(15,30,61,0.25);}
.header-bg{position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(115deg, rgba(9,20,45,0.90), rgba(15,45,95,0.78) 55%, rgba(37,99,235,0.62)),
    url('https://commons.wikimedia.org/wiki/Special:FilePath/Beautiful_Snowy_Kashmiri_Mountains.jpg');
  background-size:cover;background-position:center 40%;
}
.brand{position:relative;z-index:1;display:flex;align-items:center;gap:10px;}
.brand .logo{font-size:26px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:rgba(255,255,255,0.16);border-radius:12px;}
.brand h1{font-family:var(--font-head);font-size:21px;margin:0;font-weight:700;letter-spacing:0.2px;}
.brand p{margin:0;font-size:12px;opacity:0.85;}
.userbox{position:relative;z-index:1;display:flex;align-items:center;gap:12px;font-size:13px;}
.userbox .role-pill{background:rgba(255,255,255,0.18);padding:4px 10px;border-radius:999px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:0.4px;}
.userbox button{background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.22);color:#fff;padding:7px 14px;border-radius:9px;font-size:12.5px;font-weight:700;cursor:pointer;transition:background .15s;}
.userbox button:hover{background:rgba(255,255,255,0.26);}

main{max-width:1100px;margin:0 auto;padding:20px 16px 60px;}

.auth-hero{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw;min-height:calc(100vh - 78px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;
  background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Dal_LakeVR.jpg');
  background-size:cover;background-position:center;
}
.auth-hero-overlay{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg, rgba(8,18,40,0.60), rgba(8,18,40,0.72) 55%, rgba(8,18,40,0.88));}
.auth-hero-content{position:relative;z-index:1;max-width:460px;text-align:center;margin-bottom:22px;}
.auth-hero-tagline{font-family:var(--font-head);font-size:17px;font-weight:600;line-height:1.55;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,0.45);margin:0;}
.auth-wrap{position:relative;z-index:1;max-width:410px;width:100%;padding:0 16px;}
.auth-tabs{display:flex;gap:8px;margin-bottom:16px;}
.auth-tabs button{flex:1;padding:11px;border-radius:10px;border:none;background:rgba(255,255,255,0.9);font-weight:700;font-size:13.5px;cursor:pointer;color:var(--text-dim);transition:all .15s;}
.auth-tabs button.active{background:var(--blue);color:#fff;box-shadow:var(--shadow-sm);}

.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.subnav button{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);padding:9px 16px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;}
.subnav button:hover{border-color:var(--blue-light);color:var(--blue-dark);}
.subnav button.active{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:var(--shadow-sm);}
.panel{display:none;}
.panel.active{display:block;animation:fade .15s ease-in;}
@keyframes fade{from{opacity:0}to{opacity:1}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow);margin-bottom:16px;}
.card h3{margin:0 0 6px;font-family:var(--font-head);font-size:16.5px;color:var(--navy);}
.kandur-card{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.kandur-info h3{font-size:17.5px;}
.meta{color:var(--text-dim);font-size:13px;margin:4px 0 10px;}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.chip{background:var(--blue-tint);color:var(--blue-dark);font-size:11px;padding:4px 10px;border-radius:999px;font-weight:700;}
.items-row{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--text-dim);}
.items-row span{background:var(--surface-2);padding:3px 9px;border-radius:6px;border:1px solid var(--border);}
.kandur-actions{display:flex;flex-direction:column;gap:8px;min-width:150px;}
button.primary{background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;border:none;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 3px 10px rgba(37,99,235,0.32);transition:transform .12s, box-shadow .12s;}
button.primary:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(37,99,235,0.42);}
button.primary:disabled{opacity:0.5;cursor:not-allowed;transform:none;}
button.secondary{background:var(--surface);color:var(--blue-dark);border:1.5px solid var(--blue);padding:9px 15px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s;}
button.secondary:hover{background:var(--blue-tint);}
button.ghost{background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;font-weight:600;}
button.ghost:hover{border-color:var(--blue);color:var(--blue-dark);}
button.small-danger{background:var(--red-bg);color:var(--red);border:1px solid #f4c6c2;padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;font-weight:600;}
button.small-green{background:var(--green-bg);color:var(--green);border:1px solid #b9e6d1;padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;font-weight:600;}
label{display:block;font-size:12.5px;font-weight:700;color:var(--navy);margin-bottom:5px;margin-top:14px;}
select,input[type=text],input[type=tel],input[type=email],input[type=password],input[type=number],input[type=date],textarea{
  width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;background:var(--surface-2);color:var(--text);transition:border-color .15s;
}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--blue);background:var(--surface);}
textarea{resize:vertical;min-height:60px;}
.stepper{display:flex;align-items:center;justify-content:space-between;border:1.5px solid var(--border);border-radius:10px;padding:8px 12px;margin-bottom:8px;background:var(--surface-2);}
.stepper .item-label{font-size:13.5px;font-weight:600;color:var(--text);}
.stepper .item-price{font-size:11.5px;color:var(--text-dim);}
.stepper .ctrl{display:flex;align-items:center;gap:10px;}
.stepper .ctrl button{width:27px;height:27px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--blue-dark);font-size:16px;cursor:pointer;line-height:1;font-weight:700;}
.stepper .ctrl button:hover{background:var(--blue-tint);}
.stepper .ctrl .qty{min-width:18px;text-align:center;font-weight:700;color:var(--text);}
.slot-options{display:flex;gap:8px;flex-wrap:wrap;}
.slot-options label.slot{border:1.5px solid var(--border);padding:8px 14px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;background:var(--surface-2);color:var(--text-dim);}
.slot-options input{width:auto;margin:0;}
.slot-options label.slot:has(input:checked){border-color:var(--blue);background:var(--blue-tint);color:var(--blue-dark);}
.cost-line{display:flex;justify-content:space-between;font-size:14px;padding:8px 0;border-top:1px dashed var(--border);margin-top:12px;color:var(--text-dim);}
.cost-line strong{font-size:16px;color:var(--navy);}
.badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;}
.badge.active{background:var(--green-bg);color:var(--green);}
.badge.pending{background:var(--amber-bg);color:var(--amber);}
.badge.done{background:var(--surface-3);color:var(--text-dim);}
.badge.confirmed{background:var(--green-bg);color:var(--green);}
.badge.declined,.badge.cancelled{background:var(--red-bg);color:var(--red);}
.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.list-row:last-child{border-bottom:none;}
.list-row .lr-main{flex:1;min-width:200px;}
.lr-title{font-weight:700;font-size:14px;color:var(--text);}
.lr-sub{font-size:12.5px;color:var(--text-dim);margin-top:2px;}
.lr-actions{display:flex;gap:8px;align-items:center;}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;}
@media(max-width:750px){.stats{grid-template-columns:1fr 1fr;}}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow);}
.stat-card .num{font-family:var(--font-head);font-size:27px;font-weight:700;color:var(--blue-dark);}
.stat-card .lbl{font-size:12px;color:var(--text-dim);margin-top:2px;font-weight:600;}
.empty{color:var(--text-dim);font-size:13.5px;padding:20px 0;text-align:center;}
.token-box{background:var(--blue-tint);border:2px dashed var(--blue);border-radius:14px;padding:16px;text-align:center;margin-top:14px;}
.token-box .token{font-family:var(--font-head);font-size:25px;font-weight:700;color:var(--blue-dark);letter-spacing:1px;}
.note{font-size:12px;color:var(--text-dim);margin-top:14px;line-height:1.5;}
.section-title{font-family:var(--font-head);font-size:15px;font-weight:700;margin:26px 0 10px;color:var(--navy);}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);border:1px solid var(--blue);color:#fff;padding:12px 22px;border-radius:12px;font-size:13.5px;font-weight:600;box-shadow:0 6px 20px rgba(16,24,39,0.35);opacity:0;pointer-events:none;transition:opacity .25s, transform .25s;z-index:50;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(-6px);}
.toast.error{background:#3a1414;border-color:var(--red);}
.radio-toggle{display:flex;gap:10px;}
.radio-toggle label{border:1.5px solid var(--border);padding:8px 16px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;display:flex;gap:6px;align-items:center;color:var(--text-dim);background:var(--surface-2);}
.radio-toggle label:has(input:checked){border-color:var(--blue);color:var(--blue-dark);background:var(--blue-tint);}
.radio-toggle input{width:auto;margin:0;}
.error-msg{color:var(--red);font-size:12.5px;margin-top:8px;min-height:16px;}
.field-row{display:flex;gap:12px;}
.field-row > div{flex:1;}
.hint{font-size:11.5px;color:var(--text-dim);margin-top:4px;}
.add-item-row{display:flex;gap:8px;margin-top:14px;align-items:flex-end;}
.add-item-row > div{flex:1;}

.install-btn{position:relative;z-index:1;background:rgba(255,255,255,0.94);border:none;color:var(--blue-dark);padding:8px 14px;border-radius:9px;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);}
.install-btn:hover{background:#fff;}
.notif-wrap{position:relative;z-index:1;}
.notif-bell{background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.22);color:#fff;padding:7px 10px;border-radius:9px;font-size:16px;cursor:pointer;position:relative;line-height:1;}
.notif-bell:hover{background:rgba(255,255,255,0.26);}
.notif-badge{position:absolute;top:-5px;right:-5px;background:var(--red);color:#fff;font-size:10px;font-weight:800;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px;}
.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-height:420px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);z-index:60;}
.notif-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);font-weight:700;font-size:13px;color:var(--navy);}
.notif-header button{font-size:11px;padding:5px 10px;}
.notif-item{padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;border-left:3px solid transparent;}
.notif-item:last-child{border-bottom:none;}
.notif-item:hover{background:var(--surface-2);}
.notif-item.unread{border-left-color:var(--blue);}
.notif-title{font-weight:700;font-size:13px;color:var(--text);}
.notif-msg{font-size:12px;color:var(--text-dim);margin-top:2px;line-height:1.4;}
.notif-time{font-size:10.5px;color:var(--text-dim);margin-top:4px;opacity:0.75;}

.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--surface);color:var(--text);}
.leaflet-container{background:var(--surface-2);}
.leaflet-bar a{background:var(--surface);color:var(--text);border-color:var(--border) !important;}
.leaflet-bar a:hover{background:var(--surface-3);}
