/* Admin portal additions on top of admin-premium.css (the approved mockup styles). */
a{color:inherit}
h2,h3{margin:6px 0 12px}
.muted{color:#62719a}
.side{z-index:40;overflow-y:auto}
.nav a:not(.active):hover{background:#f0f5fb}

/* Top bar */
.top{position:sticky;top:0;z-index:30}
.search{margin:0}
.menu-btn{display:none;cursor:pointer}
.usermenu{margin-left:auto;position:relative}
.usermenu summary{list-style:none;cursor:pointer}
.usermenu summary::-webkit-details-marker{display:none}
.usermenu .admin{margin-left:0}
.dropdown{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--l);border-radius:10px;box-shadow:0 12px 28px #10195b1f;min-width:190px;padding:6px;z-index:50}
.dropdown a,.dropdown button{display:block;width:100%;text-align:left;padding:10px 12px;border:0;background:none;font:inherit;color:#10195b;border-radius:7px;cursor:pointer;text-decoration:none}
.dropdown a:hover,.dropdown button:hover{background:#f0f5fb}
.dropdown form{margin:0}

/* Buttons */
.btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;font-weight:600;font-family:inherit}
.btn:hover{border-color:#b9c8e0}
.btn.primary:hover{background:#0f5ae6}
.btn.sm{height:36px;padding:0 14px;font-size:13px}
.btn.danger{color:#d9284a;border-color:#f5c2cc}
.btn.success{background:#08a95d;border-color:#08a95d;color:#fff}
.hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.act{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--l);border-radius:7px;background:#fff;color:#365286;text-decoration:none;cursor:pointer;font-size:14px;font-family:inherit;padding:0;vertical-align:middle}
.act:hover{background:#f0f5fb}
.act.del{color:#d9284a}
.actions{display:flex;gap:6px;align-items:center}
.inline{display:inline;margin:0}

/* Alerts */
.alert{padding:12px 16px;border-radius:9px;margin-bottom:14px;border:1px solid;font-size:14px}
.alert.success{background:#e3faef;border-color:#b5ebd0;color:#067a49}
.alert.error{background:#ffe7ed;border-color:#f8c4cf;color:#b81f3d}

/* Filters as form */
form.filters{flex-wrap:wrap}
.filters .select{flex:0 0 auto}
.filters .btn{height:43px}
.filters input[type=date]{height:43px;border:1px solid var(--l);border-radius:8px;padding:0 10px;color:#11195b;font:inherit}

/* Forms */
.form-card{margin-top:15px;padding:22px}
.form-card h2{margin:0 0 4px;font-size:20px}
.form-card > p{margin:0;color:#53699e}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin-top:18px}
.form-grid .full{grid-column:1/-1}
.field label{display:block;font-weight:600;margin-bottom:6px;font-size:13px}
.field input,.field select,.field textarea{width:100%;height:42px;border:1px solid var(--l);border-radius:8px;padding:0 12px;font:inherit;color:#10195b;background:#fff}
.field textarea{height:auto;min-height:90px;padding:10px 12px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #1769ff22;border-color:#1769ff}
.field .hint{color:#62719a;display:block;margin-top:5px;font-size:12px}
.field .err{color:#d9284a;font-size:12px;margin-top:5px;display:block}
.field.has-error input,.field.has-error select{border-color:#e93655}
.req{color:#e93655}
.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap}
.checklist-tools{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.checklist-tools input{flex:1}
.checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px;max-height:280px;overflow:auto;border:1px solid var(--l);border-radius:8px;padding:8px}
.checklist label{display:flex;align-items:center;gap:9px;font-weight:400;margin:0;padding:7px 8px;border-radius:6px;cursor:pointer;font-size:13px}
.checklist label:hover{background:#f3f7fc}
.checklist small{display:block;color:#62719a;font-size:11px}
.checklist input{width:16px;height:16px;accent-color:#1769ff;flex:none}

/* Table bits */
.card{overflow-x:auto}
td a.link{color:#1769ff;text-decoration:none;word-break:break-all;white-space:normal}
td a.link:hover{text-decoration:underline}
.empty{text-align:center;color:#62719a;padding:34px!important}
.pa{overflow:hidden;font-size:12px;font-weight:700;color:#365286;flex:none}
.pa img,.av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.av{overflow:hidden}
.plogo{font-size:12px;flex:none}
.plogo.blue{background:#1675f5;color:#fff}.plogo.green{background:#08a95d;color:#fff}.plogo.purple{background:#7020ef;color:#fff}
.plogo.orange{background:#f08a10;color:#fff}.plogo.red{background:#ef3c22;color:#fff}.plogo.pink{background:#d92a70;color:#fff}.plogo.teal{background:#08a6c5;color:#fff}
.teal{background:#dff7fb;color:#0892ab}
.tag{margin:1px 0}
.tag.blue{background:#e4f1ff;color:#1769ff}.tag.green{background:#e3faef;color:#07965a}.tag.purple{background:#f0e7ff;color:#7020ef}
.tag.orange{background:#fff0dd;color:#c96f00}.tag.red{background:#ffe7ed;color:#d9284a}.tag.pink{background:#ffe6ef;color:#d92a70}.tag.teal{background:#dff7fb;color:#0892ab}
.tag.active{background:#dcfaeb;color:#07965a}.tag.inactive{background:#ffe5ea;color:#d9284a}
.hero-icon{overflow:hidden}.hero-icon img{width:100%;height:100%;object-fit:cover}
.pager{display:flex;gap:5px}
a.pg{display:inline-grid;place-items:center;text-decoration:none;color:#11195b}
a.pg.active{color:#fff}
.pg{display:inline-grid;place-items:center}
.pg.disabled{opacity:.4}
.progress{height:8px;background:#e9eef6;border-radius:99px;overflow:hidden;width:110px;display:inline-block;vertical-align:middle;margin-right:8px}
.progress i{display:block;height:100%;background:#1769ff;border-radius:99px}
.progress.done i{background:#08a95d}

/* Dashboard / quick cards */
a.quickitem{text-decoration:none;color:inherit}
a.quickitem:hover{border-color:#b9c8e0;box-shadow:0 6px 16px #1769ff14}
.quickitem > span:last-child{margin-left:auto;color:#62719a}
.list-row{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid #edf2f7}
.list-row:last-child{border-bottom:0}
.list-row .when{margin-left:auto;color:#62719a;font-size:12px;white-space:nowrap}
.dot{width:8px;height:8px;border-radius:50%;background:#1769ff;flex:none}
.stats.five{grid-template-columns:repeat(5,1fr)}

/* Tabs */
.tabs{display:flex;gap:6px;margin:15px 0 0;flex-wrap:wrap}
.tabs a{padding:10px 16px;border-radius:9px;text-decoration:none;color:#365286;background:#fff;border:1px solid var(--l)}
.tabs a.on{background:#1769ff;color:#fff;border-color:#1769ff}

/* Assign bookmark */
.steps{display:flex;align-items:center;justify-content:center;gap:0;padding:18px 0;overflow:auto}
.step{display:flex;align-items:center;color:#53699e;white-space:nowrap}
.circle{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#dfe6f1;color:#5b6a91;margin-right:10px;font-weight:700}
.step.on{color:#1769ff;font-weight:700}.step.on .circle{background:#1769ff;color:#fff}
.step-line{width:90px;height:1px;background:#cbd7ea;margin:0 14px}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:12px;align-items:start}
.ab-area{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px}
.cat-list{border:1px solid #e0e7f1;border-radius:8px;overflow:hidden;align-self:start}
.cat-list h3{font-size:13px;margin:0;padding:12px;border-bottom:1px solid #e0e7f1}
.cat-list a{height:44px;padding:0 10px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #edf1f6;font-size:13px;text-decoration:none}
.cat-list a:last-child{border-bottom:0}
.cat-list a.on{background:#eef5ff;color:#1769ff;font-weight:700}
.cat-count{margin-left:auto;background:#edf3fb;padding:4px 8px;border-radius:7px;color:#365286;font-size:11px}
.panel{background:#fff;border:1px solid var(--l);border-radius:10px;margin-bottom:12px;overflow:hidden}
.panel-head{min-height:46px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e9f2}
.panel-head h3{font-size:14px;margin:0}
.panel-body{padding:12px 14px}
.emp-list{max-height:330px;overflow:auto}
.emp-row{display:grid;grid-template-columns:20px 38px 1fr auto;gap:9px;align-items:center;padding:7px 14px;cursor:pointer}
.emp-row:hover{background:#f6f9fd}
.emp-row b{font-size:13px}.emp-row small{display:block;color:#62719a;font-size:11px}
.emp-row input,.bm-check{width:16px;height:16px;accent-color:#1769ff}
.selected-list{padding:6px 14px;max-height:220px;overflow:auto;font-size:13px}
.selected-list div{padding:6px 0;border-bottom:1px solid #edf1f6}
.selected-list div:last-child{border-bottom:0}
.radio{display:flex;gap:8px;align-items:flex-start;margin:8px 0;font-size:13px}
.radio input{accent-color:#1769ff;margin-top:2px}

/* Exit clearance detail */
.stage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}
.stage-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.stage-head .si{width:44px;height:44px;font-size:20px}
.item-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f7}
.item-row:last-child{border-bottom:0}
.item-row .meta{color:#62719a;font-size:12px}
.item-row form{margin-left:auto}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.info{background:#f6f9fd;border-radius:8px;padding:10px 12px}
.info small{display:block;color:#62719a;font-size:12px}
.info b{display:block;margin-top:3px}

/* Reports */
.legend{display:grid;gap:6px;font-size:13px}
.legend span{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px}
.donut-wrap{display:flex;align-items:center;gap:22px;justify-content:center;flex-wrap:wrap}
.donut{width:130px;height:130px;border-radius:50%;position:relative}
.donut:after{content:"";position:absolute;inset:28px;background:#fff;border-radius:50%}

/* Login */
.auth{min-height:100vh;display:grid;place-items:center;padding:16px}
.auth-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--l);border-radius:14px;padding:30px;box-shadow:0 20px 45px #1769ff14}
.auth-card .brand{padding:0;margin-bottom:18px}
.auth-card h1{font-size:24px;margin:0 0 4px}
.auth-card p{color:#53699e;margin:0 0 18px}
.auth-card .field{margin-bottom:14px}
.auth-card .btn{width:100%}

/* Search results */
.result-group{margin-top:14px}
.result-group h3{font-size:15px}

@media(max-width:1200px){.workspace{grid-template-columns:1fr}.stats.five{grid-template-columns:repeat(3,1fr)}.info-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1050px){
  .menu-btn{display:grid;place-items:center}
  body.nav-open .side{display:block;box-shadow:0 0 0 100vmax #10195b55}
  .top .search{min-width:0}
  table{min-width:900px}
  .filters{min-width:0}
  .stats.five{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){.ab-area{grid-template-columns:1fr}.cat-list{display:none}.stage-grid{grid-template-columns:1fr}.step-line{width:40px}}
@media(max-width:650px){
  .form-grid{grid-template-columns:1fr}
  .top{padding:0 12px}
  .top .search{display:none}
  .usermenu .admin > div:not(.av),.usermenu .admin > span{display:none}
  .content{padding:14px 12px 30px}
  .stats.five{grid-template-columns:1fr}
  .info-grid{grid-template-columns:1fr}
  .footer{flex-direction:column;gap:10px;align-items:flex-start}
}
