:root{
  --bg:#f3f6fb;
  --panel:#ffffff;
  --ink:#162033;
  --muted:#667085;
  --line:#dbe4ef;
  --line-soft:#edf2f7;
  --nav:#0b2b4c;
  --nav-2:#123b63;
  --nav-ink:#e7f1fb;
  --brand:#1769aa;
  --brand-2:#0f7ab8;
  --gold:#d7a948;
  --green:#12805c;
  --red:#c93636;
  --orange:#d9822b;
  --blue-soft:#e9f4ff;
  --green-soft:#e8f7f0;
  --red-soft:#fff0f0;
  --orange-soft:#fff5e8;
  --shadow:0 12px 32px rgba(14,35,64,.09);
  --radius:16px;
  --radius-sm:10px;
  --sidebar:248px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);overflow-x:hidden}
button,input,select,textarea{font:inherit}
button{border:0;cursor:pointer}
a{color:inherit}
.loading-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f7fbff,#eef4fb)}
.loader-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow);text-align:center;max-width:420px;width:92%}
.brand-mark{width:54px;height:54px;border-radius:17px;margin:0 auto 14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--nav),var(--brand));color:#fff;font-weight:900;letter-spacing:.5px;box-shadow:0 12px 24px rgba(23,105,170,.2)}
.loader-card h1{font-size:22px;margin:0 0 6px}.loader-card p{margin:0;color:var(--muted)}
.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,520px) 1fr;background:linear-gradient(120deg,#f8fbff,#eef5fb)}
.auth-panel{padding:32px;display:flex;align-items:center;justify-content:center}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);width:100%;max-width:540px;padding:24px}
.auth-card h1,.loader-card h1{font-size:clamp(18px,2vw,24px);margin:12px 0 8px;line-height:1.1;white-space:nowrap;letter-spacing:-.02em}.auth-card p{color:var(--muted);line-height:1.45;margin:0 0 14px}.auth-hero{position:relative;background:linear-gradient(140deg,var(--nav),#145a8d);color:#fff;padding:46px;display:flex;align-items:center;overflow:hidden}
.auth-hero:before{content:"";position:absolute;inset:auto -120px -120px auto;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.08)}
.auth-hero:after{display:none}
.hero-inner{position:relative;z-index:1;max-width:680px}.hero-kicker{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);padding:8px 12px;border-radius:999px;font-size:13px}.hero-inner h2{font-size:42px;line-height:1.06;margin:18px 0 12px}.hero-inner p{font-size:17px;color:#d9e8f7;line-height:1.55}.hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.hero-chip{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:13px;border-radius:14px}.hero-chip b{display:block;color:#fff;font-size:14px}.hero-chip span{display:block;color:#c9deef;font-size:12px;margin-top:4px}.hero-logo-box{width:170px;height:128px;border-radius:18px;border:0;background:transparent;display:grid;place-items:center;text-align:center;overflow:visible;margin-bottom:18px;color:#fff;box-shadow:none}.hero-logo-box span{font-size:34px;font-weight:1000;letter-spacing:.04em}.hero-logo-box small{display:block;font-size:11px;color:#d5e6f7;margin-top:-24px;padding:0 10px;line-height:1.25}.hero-logo-box.has-logo{background:transparent!important;border:0!important;box-shadow:none!important;padding:0}.hero-logo-box.has-logo img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 10px 22px rgba(0,0,0,.20))}.auth-hero .hero-inner{padding-top:0}.tabs{display:flex;gap:8px;background:#edf3f8;border-radius:14px;padding:5px;margin:18px 0}.tab{flex:1;padding:10px 12px;border-radius:10px;background:transparent;color:#4a5970;font-weight:800}.tab.active{background:#fff;box-shadow:0 4px 12px rgba(16,30,54,.08);color:var(--nav)}
.form{display:grid;gap:12px}.field{display:grid;gap:6px}.field label{font-size:12px;font-weight:900;color:#344055;text-transform:uppercase;letter-spacing:.04em}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 12px;color:var(--ink);outline:none}.field textarea{min-height:80px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7db5e8;box-shadow:0 0 0 3px rgba(23,105,170,.12)}.muted{color:var(--muted)!important}.tiny{font-size:12px}.mini{font-size:11px}.divider{height:1px;background:var(--line-soft);margin:14px 0}.btn-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:10px 14px;font-weight:900;background:#e9eef5;color:#243047;min-height:40px}.btn:hover{filter:brightness(.98)}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff}.btn.gold{background:linear-gradient(135deg,#d7a948,#e6c163);color:#1f2a3a}.btn.danger{background:var(--red);color:#fff}.btn.success{background:var(--green);color:#fff}.btn.ghost{background:transparent;border:1px solid var(--line);color:#334155}.btn.small{padding:7px 10px;min-height:32px;border-radius:10px;font-size:12px}.btn.full{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.alert{border-radius:13px;padding:11px 12px;border:1px solid var(--line);background:#f8fbff;color:#334155}.alert.error{background:var(--red-soft);border-color:#f2c5c5;color:#912525}.alert.success{background:var(--green-soft);border-color:#bfe8d7;color:#0f6b4e}.alert.warn{background:var(--orange-soft);border-color:#f2d3aa;color:#8a4f17}.app-layout{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--nav),#08223d);color:var(--nav-ink);padding:16px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:10px;padding:8px 8px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-logo{width:38px;height:38px;border-radius:12px;background:transparent;display:grid;place-items:center;color:#06233d;font-weight:1000;box-shadow:none}.brand-name{line-height:1.15}.brand-name b{display:block;font-size:14px;color:#fff}.brand-name span{display:block;font-size:11px;color:#bed1e2}.nav{display:grid;gap:6px;margin-top:16px}.nav button{width:100%;text-align:left;background:transparent;color:#cce0f0;border-radius:12px;padding:10px 11px;font-weight:800;display:flex;align-items:center;gap:9px}.nav button:hover,.nav button.active{background:rgba(255,255,255,.1);color:#fff}.side-footer{margin-top:16px;padding:12px 8px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#b9ccdd}.main{min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:3}.topbar-left{min-width:0}.page-title{font-size:18px;font-weight:1000;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-subtitle{font-size:12px;color:var(--muted);margin-top:2px}.top-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.user-pill{display:flex;align-items:center;gap:8px;background:#f4f7fb;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-weight:800;color:#344055}.avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--gold));color:#fff;display:grid;place-items:center;font-size:11px;font-weight:1000}.content{padding:20px;max-width:1500px;margin:0 auto;width:100%}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 18px rgba(16,36,64,.04);padding:15px;min-width:0}.card.tight{padding:12px}.card h2,.card h3{margin:0 0 10px;line-height:1.2}.card h2{font-size:18px}.card h3{font-size:15px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.kpi{display:flex;align-items:center;justify-content:space-between;gap:12px}.kpi b{font-size:26px;line-height:1}.kpi span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.kpi-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--blue-soft);font-weight:1000;color:var(--brand)}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;background:#eef3f8;color:#334155;border:1px solid #dce6f0;white-space:nowrap}.pill.red{background:var(--red-soft);border-color:#f3c7c7;color:#a22b2b}.pill.green{background:var(--green-soft);border-color:#bfebd8;color:#0f6b4e}.pill.orange{background:var(--orange-soft);border-color:#f2d1a6;color:#96560e}.pill.blue{background:var(--blue-soft);border-color:#cfe6ff;color:#105d9d}.pill.gold{background:#fff7db;border-color:#f1dfa3;color:#816018}.task-list{display:grid;gap:10px}.task-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;display:grid;gap:9px}.task-card.followed-up{position:relative;border-color:#33b36b!important;box-shadow:0 0 0 2px rgba(51,179,107,.08) inset}.task-card.followed-up .task-top{padding-right:36px}.task-card.overdue{border-color:#f0b1b1;background:linear-gradient(0deg,#fff,#fff8f8)}.task-card.due-soon{border-color:#f0d2a4;background:linear-gradient(0deg,#fff,#fffaf3)}.task-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.task-title{font-weight:1000;line-height:1.25}.task-meta{display:flex;gap:6px;flex-wrap:wrap}.task-desc{font-size:13px;color:#526070;line-height:1.45;white-space:pre-wrap}.task-actions{display:flex;gap:7px;flex-wrap:wrap}.dept-lane{display:grid;gap:10px}.lane-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.lane-title{font-weight:1000}.lane-count{font-size:12px;color:var(--muted)}.workflow{display:grid;gap:8px}.workflow-step{display:flex;gap:9px;align-items:flex-start;background:#f8fbff;border:1px solid var(--line);border-radius:12px;padding:9px}.step-num{flex:0 0 24px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:11px;font-weight:1000}.step-body b{font-size:13px}.step-body p{font-size:12px;color:var(--muted);margin:3px 0 0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filters input,.filters select{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 10px;min-height:38px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:10px;border-bottom:1px solid var(--line-soft);text-align:left;font-size:13px;vertical-align:top}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#5b6779;background:#f8fbff}.table tr:last-child td{border-bottom:0}.report-box{white-space:pre-wrap;line-height:1.5;background:#f8fbff;border:1px dashed #c8d8e8;border-radius:14px;padding:13px;font-size:13px}.empty{border:1px dashed #cbd8e5;background:#fbfdff;border-radius:14px;padding:18px;text-align:center;color:var(--muted)}.setup-code{display:block;white-space:pre-wrap;background:#0d1b2a;color:#e6edf5;border-radius:14px;padding:14px;font-family:Consolas,Monaco,monospace;font-size:12px;line-height:1.45;overflow:auto}.mobile-menu{display:none}.pulse{position:relative}.pulse:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--red);position:absolute;right:-2px;top:-2px;box-shadow:0 0 0 0 rgba(201,54,54,.45);animation:pulse 1.7s infinite}@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(201,54,54,0)}100%{box-shadow:0 0 0 0 rgba(201,54,54,0)}}.inline-form{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-3{grid-column:span 3}.span-2{grid-column:span 2}.status-todo{color:#475569}.status-in_progress{color:#0f69a8}.status-blocked{color:#ac5f11}.status-done{color:#12805c}.print-only{display:none}
@media (max-width:980px){.auth-page{grid-template-columns:1fr}.auth-hero{display:none}.app-layout{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;top:0;bottom:0;width:260px;z-index:20;transition:.2s}.sidebar.open{left:0}.mobile-menu{display:inline-flex}.topbar{height:auto;min-height:64px;padding:12px 14px;gap:10px}.content{padding:14px}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr}.span-12,.span-8,.span-6,.span-5,.span-4,.span-3,.span-2{grid-column:auto}.top-actions{justify-content:flex-start}.user-pill{display:none}.page-title{white-space:normal}.auth-panel{padding:18px}.auth-card{padding:18px;max-width:100%}.auth-card h1,.loader-card h1{font-size:18px}}
@media print{body{background:#fff}.sidebar,.topbar,.filters,.btn,.task-actions{display:none!important}.app-layout{display:block}.content{padding:0;max-width:none}.card{box-shadow:none;border:1px solid #ddd}.print-only{display:block}}

/* Admin user management */
.compact-user-form .field input,.compact-user-form .field select{min-height:38px;padding:9px 10px}
.user-table{min-width:1040px}
.user-table input,.user-table select{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 9px;min-height:34px}
.user-email{font-weight:800;color:#344055;white-space:nowrap}
.user-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:210px}
@media (max-width:980px){.user-actions{min-width:0}.user-table{min-width:980px}}

/* v5 branding logo and favicon admin setup */
.brand-mark.has-logo,.brand-logo.has-logo{background:transparent!important;border:0!important;padding:0;overflow:hidden;box-shadow:none!important}
.brand-mark.has-logo img,.brand-logo.has-logo img{width:100%;height:100%;object-fit:contain;display:block;border-radius:inherit}
.brand-logo.has-logo{box-shadow:none}
.brand-preview-card{border:1px solid var(--line);border-radius:16px;background:#f8fbff;padding:14px;display:grid;place-items:center;text-align:center;gap:10px;min-height:220px}
.logo-preview-shell{width:240px;height:160px;border-radius:18px;border:1px dashed #bcd1e5;background:var(--logo-bg,transparent);display:grid;place-items:center;overflow:hidden;color:var(--brand);font-size:28px;font-weight:1000;box-shadow:0 8px 22px rgba(16,36,64,.04)}
.logo-preview-shell img{width:100%;height:100%;object-fit:contain;padding:10px}
.branding-grid{align-items:stretch}
@media (max-width:980px){.logo-preview-shell{width:150px;height:100px}}

/* v7 logo adjustment controls */
.brand-mark.has-logo,
.brand-logo.has-logo,
.hero-logo-box.has-logo,
.logo-preview-shell{
  background:var(--logo-bg,#fff)!important;
  border-radius:var(--logo-radius,12px)!important;
  border:var(--logo-border,0)!important;
}
.brand-mark.has-logo img,
.brand-logo.has-logo img,
.hero-logo-box.has-logo img,
.logo-preview-shell img{
  width:100%!important;
  height:100%!important;
  object-fit:var(--logo-fit,contain)!important;
  object-position:var(--logo-x,50%) var(--logo-y,50%)!important;
  transform:scale(var(--logo-scale,.82));
  transform-origin:var(--logo-x,50%) var(--logo-y,50%);
  display:block;
}
.logo-preview-shell{position:relative}
.logo-preview-shell span{display:grid;place-items:center;width:100%;height:100%;}
.logo-preview-shell img{padding:0!important;}
.preview-mini-row{display:flex;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:14px;background:#f8fbff}
.preview-mini-row .brand-logo{flex:0 0 42px;width:42px;height:42px;overflow:hidden;padding:0}
.compact-logo-controls{gap:10px!important}
.compact-logo-controls .field input[type="range"]{padding:0;border:0;background:transparent;min-height:30px}
@media (max-width:760px){.compact-logo-controls{grid-template-columns:1fr!important}.preview-mini-row{align-items:flex-start}}

.branding-help{font-size:12px;color:var(--muted);line-height:1.45;margin-top:6px}

.field #assigneeHint{min-height:16px;margin-top:-2px;}

/* v16 corporate compact admin upgrade */
:root{
  --bg:#eef3f8;
  --panel:#ffffff;
  --nav:#071f39;
  --nav-2:#0b3158;
  --brand:#155e9e;
  --brand-2:#0c7bb8;
  --sidebar:232px;
  --radius:14px;
  --shadow:0 10px 28px rgba(7,31,57,.08);
}
body{background:linear-gradient(180deg,#f5f8fc 0%,#eef3f8 100%)}
.sidebar{padding:12px;background:linear-gradient(180deg,#071f39 0%,#0a2847 55%,#061b32 100%)}
.brand{padding:6px 6px 12px}.nav{gap:4px;margin-top:12px}.nav button{padding:8px 9px;border-radius:10px;font-size:13px}.side-footer{font-size:11px}
.topbar{height:62px;padding:0 18px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
.content{padding:16px;max-width:1440px}.card{padding:12px;border-radius:14px;box-shadow:0 8px 20px rgba(16,36,64,.045)}
.card h2{font-size:16px}.card h3{font-size:14px}.section-head{margin-bottom:10px}.section-head p{font-size:11.5px}.kpi b{font-size:23px}.kpi-icon{width:38px;height:38px;border-radius:12px}.grid{gap:12px}.task-list{gap:8px}.task-card{padding:10px;border-radius:12px;gap:7px}.task-title{font-size:14px}.task-desc{font-size:12px}.pill{padding:4px 8px;font-size:10.5px}.btn{min-height:36px;padding:8px 12px;border-radius:10px}.btn.small{min-height:29px;padding:6px 9px}.field{gap:4px}.field label{font-size:10.5px}.field input,.field select,.field textarea{border-radius:10px;padding:9px 10px}.field textarea{min-height:68px}.inline-form{gap:8px}.table th,.table td{padding:8px;font-size:12px}.workflow-step{padding:8px;border-radius:10px}.filters input,.filters select{min-height:34px;padding:7px 9px;border-radius:10px}
.admin-command-strip{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;align-items:center;gap:14px;margin-bottom:12px;border-color:#cddbea;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 62%,#edf6ff 100%)}
.admin-command-strip h2{margin:7px 0 4px;font-size:18px}.admin-command-strip p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.admin-command-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.admin-command-metrics{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-command-metrics span{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 9px;font-size:11px;color:#475569}.admin-command-metrics b{font-size:15px;color:var(--nav)}
.admin-edit-panel{border:1px solid #cbdcf0;background:#f8fbff;border-radius:13px;padding:10px;margin-top:2px}.compact-head{margin-bottom:8px}.compact-head h3{margin:0 0 3px}.compact-edit-form .field input,.compact-edit-form .field select,.compact-edit-form .field textarea{min-height:34px;padding:7px 9px;font-size:12px}.compact-edit-form .field textarea{min-height:62px}.template-dept-card{min-height:120px}.template-list{display:grid;gap:10px}.template-row{border:1px solid var(--line);border-radius:12px;background:#fbfdff;padding:10px}.rights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rights-grid span{background:#f8fbff;border:1px solid var(--line);border-radius:999px;padding:8px 10px;font-size:12px;font-weight:800;color:#334155;text-align:center}.admin-rights-card{border-color:#cfe1f3;background:linear-gradient(135deg,#fff,#f7fbff)}
@media (max-width:1100px){.admin-command-strip{grid-template-columns:1fr}.admin-command-actions,.admin-command-metrics{justify-content:flex-start}.rights-grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.rights-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.admin-command-strip h2{font-size:16px}}

/* v17 staff productivity upgrade */
.staff-kpis{margin-bottom:12px}
.staff-focus-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;border-color:#cfe1f3;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 72%,#eef7ff 100%)}
.staff-focus-card h2{margin:7px 0 4px;font-size:17px}.staff-focus-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.quick-filter-row{display:flex;gap:7px;flex-wrap:wrap;margin:-2px 0 12px}
.quick-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;color:#475569}
.quick-chip.active,.quick-chip:hover{background:var(--blue-soft);border-color:#cfe6ff;color:#105d9d}
.quick-panel{border:1px solid #d6e2ee;background:#f8fbff;border-radius:12px;padding:10px;margin-top:2px}
.notes-mini{display:grid;gap:6px;border-left:3px solid #cfe1f3;padding-left:9px}
.notes-mini div{background:#f8fbff;border:1px solid var(--line-soft);border-radius:10px;padding:7px 8px}
.notes-mini b{font-size:11.5px;color:#243047;margin-right:6px}.notes-mini span{font-size:10.5px;color:var(--muted)}.notes-mini p{font-size:12px;color:#4b5563;margin:3px 0 0;line-height:1.35;white-space:pre-wrap}
.message-help span{border-radius:12px;text-align:left}

/* v55 clean bigger login logo */
.auth-card .brand-mark,
.loader-card .brand-mark{
  width:150px;
  height:54px;
  border-radius:0;
  margin:0 auto 16px;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.auth-card .brand-mark.has-logo,
.loader-card .brand-mark.has-logo{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible;
}
.auth-card .brand-mark.has-logo img,
.loader-card .brand-mark.has-logo img{
  object-fit:contain!important;
  transform:scale(calc(var(--logo-scale,.82) * 1.12));
  transform-origin:var(--logo-x,50%) var(--logo-y,50%);
  filter:none!important;
}
@media (max-width:980px){
  .auth-card .brand-mark,
  .loader-card .brand-mark{
    width:144px;
    height:52px;
  }
}

/* v61 start/login page logo and text alignment */
.loader-card.start-login-card{
  text-align:center;
}
.auth-card{
  text-align:center;
}
.auth-card h1,
.loader-card h1{
  text-align:center;
}
.auth-card > p,
.loader-card > p{
  text-align:center;
  max-width:100%;
}
.auth-card .form,
.auth-card .field,
.auth-card .alert,
.auth-card .password-input-wrap{
  text-align:left;
}
.auth-card .btn.full{
  text-align:center;
}
.start-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
@media (max-width:980px){.staff-focus-card{display:grid}.quick-filter-row{gap:5px}.quick-chip{font-size:10.5px;padding:6px 8px}}

/* v62 professional SES login logo layout */
.auth-panel{
  padding:28px;
}
.auth-card{
  max-width:570px;
  padding:30px 30px 26px;
  text-align:center;
}
.loader-card.start-login-card{
  max-width:540px;
  padding:36px 34px;
  text-align:center;
}
.auth-card .brand-mark,
.loader-card .brand-mark,
.loader-card.start-login-card .brand-mark{
  width:270px;
  height:72px;
  border-radius:0!important;
  margin:0 auto 20px;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:0;
}
.auth-card .brand-mark.has-logo img,
.loader-card .brand-mark.has-logo img,
.loader-card.start-login-card .brand-mark.has-logo img{
  width:100%!important;
  height:100%!important;
  max-width:100%;
  max-height:100%;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
  display:block;
}
.auth-card h1,
.loader-card h1{
  margin:0 0 9px;
  line-height:1.18;
  font-size:clamp(20px,1.8vw,24px);
  letter-spacing:-.025em;
  white-space:nowrap;
  text-align:center;
}
.auth-card > p,
.loader-card > p{
  margin:0 0 18px;
  text-align:center;
}
.auth-card .form{
  margin-top:4px;
}
@media (max-width:620px){
  .auth-panel{padding:14px;}
  .auth-card{padding:24px 22px 22px;max-width:100%;}
  .loader-card.start-login-card{padding:28px 22px;max-width:92vw;}
  .auth-card .brand-mark,
  .loader-card .brand-mark,
  .loader-card.start-login-card .brand-mark{
    width:min(265px,74vw);
    height:64px;
    margin-bottom:16px;
  }
  .auth-card h1,
  .loader-card h1{
    font-size:clamp(16px,4.8vw,21px);
  }
}


/* v18 fixed Quick Message typing space */
#msgOutput{
  height:448px;
  min-height:448px;
  max-height:448px;
  overflow-y:auto;
  resize:none;
  line-height:1.45;
  white-space:pre-wrap;
}
@media (max-width:980px){
  #msgOutput{
    height:300px;
    min-height:300px;
    max-height:300px;
  }
}


/* v19 fixed Quick Follow-up Note typing space */
.fixed-note-box{
  height:200px;
  min-height:200px;
  max-height:200px;
  overflow-y:auto;
  resize:none;
  line-height:1.45;
  white-space:pre-wrap;
}
@media (max-width:980px){
  .fixed-note-box{
    height:160px;
    min-height:160px;
    max-height:160px;
  }
}


/* v20 tiny database connected badge beside Daily Command */
.brand-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.db-mini-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:999px;font-size:9.5px;font-weight:900;line-height:1;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#d7e9f8;white-space:nowrap}
.db-mini-badge i{width:6px;height:6px;border-radius:50%;display:inline-block;background:#f4c95d;box-shadow:0 0 0 2px rgba(244,201,93,.12)}
.db-mini-badge.connected{background:rgba(20,135,92,.18);border-color:rgba(116,230,183,.25);color:#dff8ee}
.db-mini-badge.connected i{background:#46d39a;box-shadow:0 0 0 2px rgba(70,211,154,.14)}
.db-mini-badge.issue{background:rgba(182,103,15,.18);border-color:rgba(242,209,166,.28);color:#fff0d4}
.db-mini-badge.issue i{background:#f0bb59;box-shadow:0 0 0 2px rgba(240,187,89,.14)}
.db-mini-badge.checking{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#d7e9f8}
@media (max-width:980px){.db-mini-badge{font-size:9px;padding:2px 5px}}


/* v21 move database badge below department name */
.brand-name .db-mini-badge{
  margin-top:3px;
  width:max-content;
  max-width:112px;
}
.brand-title-row{display:block}

/* v22 admin performance reports */
.admin-report-card{border-color:#cfe1f3;background:linear-gradient(135deg,#fff,#f8fbff)}
.report-head{align-items:flex-start}
.report-filter-grid{margin:10px 0 12px;align-items:end}
.report-filter-grid .field button{width:100%}
.report-note{background:#f8fbff;border:1px solid var(--line-soft);border-radius:10px;padding:8px 10px}
.compact-report{max-height:190px;overflow:auto;font-size:12px}
.performance-table{min-width:1050px}
.detail-report-table{min-width:1450px}
.detail-report-table td,.performance-table td{font-size:12px}
@media print{.report-filter-grid,.compact-report{display:none!important}.detail-report-table,.performance-table{min-width:0}}

/* v25 report period filter small column */
.span-1{grid-column:span 1}
@media (max-width:980px){.span-1{grid-column:auto}}


/* v26 monthly star performance under staff email */
.sidebar-performance{margin:6px 0 8px}
.sidebar-stars{display:flex;gap:2px;align-items:center;line-height:1;margin-top:5px}
.sidebar-stars .star{font-size:12px;letter-spacing:0;color:rgba(255,255,255,.26)}
.sidebar-stars .star.on{color:#f2c14e;text-shadow:0 0 8px rgba(242,193,78,.18)}
.sidebar-performance-note{margin-top:3px;font-size:10px;color:#b9ccdd;line-height:1.3}
@media (max-width:980px){.sidebar-stars .star{font-size:11px}.sidebar-performance-note{font-size:9.5px}}


/* v27 admin database tools */
.database-tools-card{border-color:#cfe1f3;background:linear-gradient(135deg,#fff,#f8fbff)}
.database-kpis{margin-top:12px}
.database-tools-card .form{gap:9px}
.database-tools-card input[type="file"]{padding:8px;background:#fff}
.danger-zone{border-color:#f1b8b8;background:linear-gradient(135deg,#fff,#fff8f8)}
.database-note-list{display:grid;gap:8px;font-size:12px;color:#475569;line-height:1.45}
.database-note-list div{border:1px solid var(--line-soft);background:#f8fbff;border-radius:10px;padding:8px 10px}
.database-note-list code{font-size:11px;background:#eef3f8;border:1px solid var(--line);border-radius:7px;padding:2px 5px}


/* v40 compact Assign Work form and fixed Instruction / Notes box */
.assign-compact-card{padding:12px 13px}
.assign-head{margin-bottom:8px}
.assign-compact-form{gap:7px}
.assign-compact-form .field{gap:3px}
.assign-compact-form .field label{font-size:10px}
.assign-compact-form .field input,.assign-compact-form .field select,.assign-compact-form .field textarea{min-height:34px;padding:7px 9px;border-radius:9px;font-size:13px}
.assign-notes-box{height:170px!important;min-height:170px!important;max-height:170px!important;overflow-y:auto!important;resize:none!important;line-height:1.4;white-space:pre-wrap}
.edit-notes-box{height:130px!important;min-height:130px!important;max-height:130px!important}
.assign-compact-card + .card{margin-top:10px!important}
@media (max-width:980px){
  .assign-compact-card{padding:11px}
  .assign-notes-box{height:145px!important;min-height:145px!important;max-height:145px!important}
  .edit-notes-box{height:120px!important;min-height:120px!important;max-height:120px!important}
}

/* v41 PST / Outlook Email Import */
.pst-import-card{border-color:#cfe1f3;background:linear-gradient(135deg,#fff,#f8fbff)}
.import-head{align-items:flex-start}
.pst-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 12px}
.pst-help-grid div{border:1px solid var(--line-soft);background:#fff;border-radius:12px;padding:10px}
.pst-help-grid b{font-size:12px;color:#243047}.pst-help-grid p{margin:4px 0 0;color:var(--muted);font-size:11.5px;line-height:1.4}
.pst-import-form,.import-filter-form{align-items:end}.pst-import-form input[type="file"]{background:#fff;padding:7px}
.pst-paste-box{height:115px!important;min-height:115px!important;max-height:115px!important;resize:none!important;overflow:auto!important;white-space:pre-wrap}
.import-preview-wrap{max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:12px}
.import-preview-table{min-width:1320px}.import-preview-table th{position:sticky;top:0;background:#f6f9fd;z-index:1}.import-preview-table td{vertical-align:top}
.import-preview-table select,.import-preview-table input{width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 8px;font-size:12px;margin-bottom:5px;outline:none}
.import-snippet{margin-top:5px;line-height:1.35;color:#526070}.import-duplicate{background:#fffaf3}.import-duplicate td{opacity:.86}
@media (max-width:980px){.pst-help-grid{grid-template-columns:1fr}.import-preview-wrap{max-height:420px}.pst-import-form{align-items:stretch}}


/* v45 Compact email task cards - keeps imported PST/CSV emails inside screen */
.content{max-width:100%;overflow-x:hidden}
.card,.task-list,.task-card{max-width:100%;min-width:0}
.task-card{overflow:hidden}
.task-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.task-top>div{min-width:0}
.task-title{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-meta{gap:4px;margin-top:4px!important}
.task-meta .pill{max-width:220px;overflow:hidden;text-overflow:ellipsis}
.task-desc,.task-email-summary,.task-more{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.task-desc{line-height:1.35;max-height:76px;overflow:auto;background:#fbfdff;border:1px solid var(--line-soft);border-radius:10px;padding:7px 8px}
.task-desc-full{max-height:180px;margin-top:7px;font-size:11.5px}
.task-email-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;background:#fbfdff;border:1px solid var(--line-soft);border-radius:10px;padding:7px 8px;font-size:11.5px;line-height:1.3;color:#445166}
.task-email-summary b{color:#243047}
.task-more{font-size:11.5px;color:#334155}
.task-more summary{cursor:pointer;font-weight:900;color:#105d9d;display:inline-flex;align-items:center;gap:5px;padding:3px 0}
.task-actions{gap:5px}
.task-actions .btn.small{min-height:26px;padding:5px 8px;border-radius:9px;font-size:11px}
.imported-email-card{padding:9px;gap:6px}
.imported-email-card .tiny{font-size:11px}
.imported-email-card .pill{padding:3px 7px;font-size:10px}
.imported-email-card .task-title{font-size:13.5px}
.quick-filter-row{margin-bottom:8px}
.filters{margin-bottom:8px}
.filters input,.filters select{min-height:32px;padding:6px 9px}
@media (max-width:980px){
  .task-top{grid-template-columns:1fr}
  .task-top>.pill{justify-self:start}
  .task-email-summary{grid-template-columns:1fr}
  .task-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}

/* v63 readable imported email details */
.readable-email-details{margin-top:3px}
.task-email-readable{display:grid;gap:10px;margin-top:7px;border:1px solid #d6e4f2;background:#f8fbff;border-radius:12px;padding:10px;max-height:460px;overflow:auto;color:#26384f}
.email-readable-section{display:grid;gap:7px}
.email-readable-title{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;color:#0f5f9d;background:#eaf5ff;border:1px solid #cfe6ff;border-radius:999px;padding:4px 8px}
.email-readable-grid{display:grid;grid-template-columns:150px minmax(0,1fr);gap:6px 8px;align-items:start}
.email-readable-label{font-size:11px;font-weight:1000;color:#344055;background:#eef4fb;border:1px solid #d9e6f2;border-radius:9px;padding:6px 8px;min-height:30px}
.email-readable-value{font-size:12px;line-height:1.45;color:#26384f;background:#fff;border:1px solid var(--line-soft);border-radius:9px;padding:6px 8px;min-height:30px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.email-readable-label.email-wide{grid-column:1 / -1;margin-top:2px}
.email-readable-value.email-wide{grid-column:1 / -1;background:#fff}
@media (max-width:760px){
  .email-readable-grid{grid-template-columns:1fr}
  .email-readable-label,.email-readable-value,.email-readable-label.email-wide,.email-readable-value.email-wide{grid-column:1 / -1}
}

/* v47 Recently Assigned filters */
.recent-assigned-card{overflow:hidden}
.recent-assigned-toolbar{display:grid;grid-template-columns:1.4fr 1fr 1.3fr .9fr .9fr .9fr auto;gap:8px;align-items:end;margin:2px 0 10px;padding:9px;border:1px solid var(--line-soft);background:#f8fbff;border-radius:12px;max-width:100%;overflow:hidden}
.recent-assigned-toolbar .field{min-width:0}
.recent-assigned-toolbar .field label{font-size:9.5px}
.recent-assigned-toolbar input,.recent-assigned-toolbar select{min-height:32px;padding:6px 8px;border-radius:9px;font-size:12px}
.recent-assigned-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:128px}
.recent-assigned-actions .tiny{white-space:nowrap}
@media (max-width:1200px){.recent-assigned-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.recent-assigned-actions{justify-content:flex-start;grid-column:1/-1}}
@media (max-width:700px){.recent-assigned-toolbar{grid-template-columns:1fr}.recent-assigned-actions{grid-column:auto}}

/* v48: inline Yes/No delete confirmation */
.delete-confirm-box{display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:#fff7ed;border:1px solid #fed7aa;color:#8a4f17;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:900;max-width:100%;width:max-content}
.delete-confirm-box[hidden]{display:none!important}
.delete-confirm-box .btn.small{min-height:26px;padding:5px 9px;border-radius:9px;font-size:11px}
@media(max-width:700px){.delete-confirm-box{width:100%;justify-content:flex-start}}


/* v53 compact Site Branding panel */
.compact-branding-card{padding:12px 14px}
.compact-branding-head{margin-bottom:8px}
.compact-branding-head h2{font-size:17px;margin-bottom:4px}
.compact-branding-head p{max-width:900px}
.branding-compact-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px;align-items:start}
.compact-brand-preview{min-height:0;padding:10px;gap:8px;align-self:start;background:#fbfdff}
.compact-brand-preview .logo-preview-shell{width:260px;height:92px;border-radius:12px;box-shadow:none}
.compact-preview-note{margin:0;line-height:1.35}
.branding-form-compact{gap:8px}
.branding-form-compact .field{gap:4px}
.branding-form-compact .field label{font-size:10.5px;letter-spacing:.035em}
.branding-form-compact .field input,
.branding-form-compact .field select{min-height:36px;padding:8px 10px;border-radius:10px}
.branding-title-row,
.branding-upload-row,
.branding-form-compact .compact-logo-controls{gap:8px!important}
.branding-form-compact .compact-logo-controls{grid-template-columns:1.1fr 1.1fr 1fr 1fr!important}
.branding-form-compact .compact-logo-controls .field input[type="range"]{min-height:24px;padding:0}
.branding-actions{gap:8px;margin-top:2px}
.branding-actions .btn{min-height:36px;padding:8px 12px;border-radius:10px}
.preview-mini-row{margin-top:0;padding:7px 9px;border-radius:12px;justify-content:center;background:#fff}
.preview-mini-row .brand-logo{flex:0 0 34px;width:34px;height:34px;border-radius:9px}
.compact-favicon-note{margin:0}
@media (max-width:1100px){
  .branding-compact-layout{grid-template-columns:240px minmax(0,1fr)}
  .compact-brand-preview .logo-preview-shell{width:210px;height:78px}
  .branding-form-compact .compact-logo-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:760px){
  .branding-compact-layout{grid-template-columns:1fr}
  .compact-brand-preview .logo-preview-shell{width:100%;max-width:280px;height:92px}
  .branding-title-row,.branding-upload-row,.branding-form-compact .compact-logo-controls{grid-template-columns:1fr!important}
  .branding-actions .btn{width:100%}
}

/* v59 login password eye */
.password-input-wrap{
  position:relative;
  display:block;
}
.password-input-wrap input{
  padding-right:48px!important;
}
.password-eye-btn{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#f6f9fd;
  border:1px solid var(--line);
  padding:0;
  box-shadow:none;
}
.password-eye-btn img{
  width:20px;
  height:20px;
  object-fit:contain;
  opacity:.72;
  display:block;
}
.password-eye-btn:hover,
.password-eye-btn.active{
  background:var(--blue-soft);
  border-color:#bcdcff;
}
.password-eye-btn.active img{
  opacity:1;
}


/* v57 rejected status + proportional Edit Full Task layout */
.task-edit-form-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:8px 10px;
  align-items:end;
}
.task-edit-form-grid .field{min-width:0;}
.edit-span-2{grid-column:span 2;}
.edit-span-3{grid-column:span 3;}
.edit-span-4{grid-column:span 4;}
.edit-span-6{grid-column:span 6;}
.edit-span-12{grid-column:1 / -1;}
.task-edit-form-grid input,
.task-edit-form-grid select{width:100%;}
@media (max-width:1180px){
  .task-edit-form-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
  .task-edit-form-grid .edit-span-2{grid-column:span 2;}
  .task-edit-form-grid .edit-span-3,
  .task-edit-form-grid .edit-span-4{grid-column:span 3;}
  .task-edit-form-grid .edit-span-12{grid-column:1 / -1;}
}
@media (max-width:760px){
  .task-edit-form-grid{grid-template-columns:1fr!important;}
  .task-edit-form-grid .edit-span-2,
  .task-edit-form-grid .edit-span-3,
  .task-edit-form-grid .edit-span-4,
  .task-edit-form-grid .edit-span-6,
  .task-edit-form-grid .edit-span-12{grid-column:1 / -1!important;}
}

/* v58 department menu access controls */
.menu-access-card{border-color:#cfe1f3;background:linear-gradient(135deg,#fff,#f8fbff)}
.menu-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.menu-access-row{border:1px solid var(--line);border-radius:13px;background:#fff;padding:10px;min-width:0}
.menu-access-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.menu-access-head b{display:block;font-size:13px;color:var(--nav)}
.menu-access-head span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.menu-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.menu-check{display:flex;align-items:center;gap:7px;border:1px solid var(--line-soft);background:#f8fbff;border-radius:11px;padding:7px 8px;font-size:11.5px;font-weight:800;color:#334155;min-width:0}
.menu-check input{width:auto;margin:0;accent-color:var(--brand)}
.menu-check span{width:18px;text-align:center;flex:0 0 18px}
.menu-check b{font-size:11.5px;line-height:1.2;white-space:normal}
.menu-check small{margin-left:auto;font-size:9.5px;color:#8a6d18;background:#fff7db;border:1px solid #f1dfa3;border-radius:999px;padding:2px 5px;white-space:nowrap}
.menu-check.locked{background:#fffaf0;border-color:#f1dfa3}
.menu-access-actions{margin-top:10px}
@media (max-width:1100px){.menu-access-grid{grid-template-columns:1fr}.menu-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.menu-check-grid{grid-template-columns:1fr}.menu-access-head{align-items:flex-start;flex-direction:column}}

/* v64 British spelling and grammar checker */
.spell-pill{
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:2px 7px;
  border-radius:999px;
  background:#e9f4ff;
  border:1px solid #cfe6ff;
  color:#105d9d;
  font-size:10px;
  font-weight:900;
  letter-spacing:0;
  text-transform:none;
}
.spell-actions{align-items:center;gap:8px}
#applyBritishFix:disabled{opacity:.45;cursor:not-allowed}
.spell-panel{
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
  margin-top:-2px;
  font-size:12px;
  line-height:1.45;
  background:#f8fbff;
}
.spell-panel.success{background:var(--green-soft);border-color:#bfebd8;color:#0f6b4e}
.spell-panel.warn{background:#fffaf0;border-color:#f2d3aa;color:#614113}
.spell-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.spell-panel-head span{font-weight:900;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:3px 7px;color:#7a4e10}
.spell-panel ul{margin:6px 0 0 18px;padding:0;display:grid;gap:3px}
.spell-panel li span{font-weight:800;color:#243047}
@media (max-width:700px){.spell-actions .btn{width:100%}.spell-panel-head{display:grid}}


/* v65 AI letter composer */
.ai-letter-card{
  border:1px solid #cfe1f3;
  background:linear-gradient(135deg,#ffffff 0%,#f7fbff 70%,#edf6ff 100%);
  border-radius:14px;
  padding:12px;
  margin-top:-2px;
}
.ai-letter-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.ai-letter-head h3{margin:0 0 3px;font-size:14px;color:var(--nav)}
.ai-letter-head p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.4}
.ai-letter-head span{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  border:1px solid #cfe6ff;
  background:#e9f4ff;
  color:#105d9d;
  border-radius:999px;
  padding:5px 9px;
  font-size:10.5px;
  font-weight:1000;
  white-space:nowrap;
}
.ai-letter-grid{display:grid;grid-template-columns:1.2fr 1fr 2fr;gap:9px;align-items:end}
.ai-letter-grid .field textarea{min-height:58px}
.ai-letter-grid .ai-wide{grid-column:span 1}
.ai-letter-grid .ai-full{grid-column:1 / -1}
.ai-letter-actions{margin-top:0;gap:8px}
@media (max-width:980px){
  .ai-letter-head{display:grid}
  .ai-letter-grid{grid-template-columns:1fr}
  .ai-letter-grid .ai-wide,.ai-letter-grid .ai-full{grid-column:1 / -1}
  .ai-letter-actions .btn{width:100%}
}


/* v66 compact Quick Messages and AI Composer */
.quick-messages-card{
  padding:12px;
}
.quick-messages-card .compact-msg-head{
  margin-bottom:8px;
}
.quick-messages-card .compact-msg-head h2{
  font-size:16px;
}
.quick-messages-card .compact-msg-head p{
  font-size:11.5px;
  margin-top:2px;
}
.quick-message-form{
  gap:8px;
}
.quick-message-form .field input,
.quick-message-form .field select{
  min-height:34px;
  padding:7px 10px;
}
.quick-message-form .field label{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:15px;
}
.quick-message-form #msgOutput{
  height:240px;
  min-height:240px;
  max-height:240px;
  padding:12px 13px;
  line-height:1.45;
}
.quick-message-form .ai-letter-card{
  padding:10px;
  border-radius:12px;
  margin-top:0;
}
.quick-message-form .ai-letter-head{
  align-items:center;
  margin-bottom:8px;
}
.quick-message-form .ai-letter-head h3{
  margin-bottom:2px;
  font-size:13.5px;
}
.quick-message-form .ai-letter-head p{
  font-size:11px;
  line-height:1.3;
}
.quick-message-form .ai-letter-head span{
  padding:4px 8px;
  font-size:10px;
}
.quick-message-form .ai-letter-grid{
  grid-template-columns:1fr 0.85fr 1.8fr;
  gap:8px;
}
.quick-message-form .ai-letter-grid .field textarea{
  min-height:44px;
  height:44px;
  resize:vertical;
}
.quick-message-form .ai-letter-actions,
.quick-message-form .quick-message-actions{
  gap:7px;
}
.quick-message-form .ai-letter-actions .btn,
.quick-message-form .quick-message-actions .btn{
  min-height:32px;
  padding:7px 11px;
  border-radius:9px;
}
.quick-simple-use{
  padding:10px 12px;
}
.quick-simple-use .section-head{
  margin-bottom:7px;
}
.quick-simple-use .section-head h2{
  font-size:14px;
}
.quick-simple-use .section-head p{
  font-size:11px;
}
.quick-simple-use .message-help{
  gap:6px;
}
.quick-simple-use .message-help span{
  padding:7px 9px;
  font-size:11px;
}
@media (max-width:1100px){
  .quick-message-form .span-5,
  .quick-message-form .span-3,
  .quick-message-form .span-4{grid-column:span 12;}
  .quick-message-form .ai-letter-grid{grid-template-columns:1fr;}
  .quick-message-form .ai-letter-grid .ai-wide,
  .quick-message-form .ai-letter-grid .ai-full{grid-column:1 / -1;}
}
@media (max-width:980px){
  .quick-message-form #msgOutput{
    height:220px;
    min-height:220px;
    max-height:220px;
  }
  .quick-message-form .ai-letter-actions .btn,
  .quick-message-form .quick-message-actions .btn{width:100%;}
}


/* v67 default Quick Message screen */
.quick-messages-card.default-message-screen{
  padding:12px;
}
.quick-message-form #msgOutput{
  height:240px;
  min-height:240px;
  max-height:240px;
  overflow-y:auto;
  resize:none;
}
.quick-message-form .ai-letter-grid .field textarea#aiLetterPoints{
  height:92px;
  min-height:92px;
  max-height:120px;
}
.quick-message-form .ai-letter-card{
  background:linear-gradient(135deg,#ffffff 0%,#f7fbff 70%,#edf6ff 100%);
}
.quick-message-form .quick-message-actions{
  margin-top:0;
}
@media (max-width:980px){
  .quick-message-form #msgOutput{
    height:230px;
    min-height:230px;
    max-height:230px;
  }
  .quick-message-form .ai-letter-grid .field textarea#aiLetterPoints{
    height:86px;
    min-height:86px;
  }
}

/* v68 saved Quick Message notes panel */
.saved-msg-notes{
  border:1px solid var(--line);
  border-radius:12px;
  background:#fbfdff;
  padding:8px 10px;
  margin-top:-2px;
}
.saved-msg-notes.compact{background:#f8fbff;}
.saved-msg-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.saved-msg-head b{font-size:12px;color:var(--nav);}
.saved-msg-head span{font-size:11px;color:var(--muted);}
.saved-msg-list{display:grid;gap:6px;}
.saved-msg-note{
  border:1px solid var(--line-soft);
  border-radius:10px;
  background:#fff;
  padding:7px 8px;
}
.saved-msg-note div{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:3px;}
.saved-msg-note b{font-size:11.5px;color:#243047;}
.saved-msg-note span{font-size:10.5px;color:var(--muted);}
.saved-msg-note p{
  margin:0;
  color:#334155;
  font-size:12px;
  line-height:1.35;
  white-space:pre-wrap;
}
@media (max-width:760px){
  .saved-msg-head{display:grid;gap:2px;}
}


/* v69 Ready Message copy icon */
.ready-message-field{
  position:relative;
}
.ready-message-label{
  justify-content:space-between;
  gap:10px!important;
}
.ready-message-label > span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.ready-copy-icon{
  width:30px;
  height:26px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:8px;
  display:inline-grid;
  place-items:center;
  padding:4px;
  box-shadow:0 3px 8px rgba(16,36,64,.05);
}
.ready-copy-icon:hover{
  background:var(--blue-soft);
  border-color:#bcd8f2;
}
.ready-copy-icon img{
  width:16px;
  height:16px;
  object-fit:contain;
  display:block;
}
.quick-message-form #msgOutput{
  padding-right:34px;
}

/* v71 AI Sales Follow-up Assistant */
.ai-followup-card{border-color:#cfe1f3;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 70%,#eef7ff 100%)}
.followup-head{align-items:flex-start}.followup-list{display:grid;gap:9px}.followup-item{position:relative;border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px;display:grid;gap:7px}.followup-item.critical{border-color:#f2b8b8;background:#fff8f8}.followup-item.high{border-color:#f1d1a8;background:#fffaf3}.followup-item.medium{border-color:#cfe6ff;background:#f8fbff}.followup-item.low{border-color:#cce8d7;background:#fbfffd}.followup-item.followed-up{border-color:#33b36b;box-shadow:0 0 0 2px rgba(51,179,107,.08) inset}.followup-check-badge{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#16a34a;color:#fff;border:2px solid #fff;box-shadow:0 8px 18px rgba(22,163,74,.24);font-size:16px;font-weight:1000;line-height:1;z-index:2}.followup-done-chip{background:#eaf9f0!important;border-color:#bfe8cf!important;color:#0f7a49!important;font-weight:900}.followup-ready-chip{background:#effaf4!important;border-color:#bfe8cf!important;color:#0f7a49!important;font-weight:900}.followup-wait-chip{background:#fff8e6!important;border-color:#f4d999!important;color:#8a5d00!important;font-weight:900}.followup-action-btn:disabled{opacity:.48;cursor:not-allowed;background:#f5f7fa;color:#9aa4b2;border-color:#d8e0ea}.followup-item-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.followup-item-top b{display:block;font-size:13px;color:#182235}.followup-item-top span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.followup-item p{margin:0;font-size:12px;line-height:1.4;color:#334155}.followup-meta{display:flex;gap:8px;flex-wrap:wrap}.followup-meta span{font-size:11px;border:1px solid var(--line-soft);background:#f8fbff;border-radius:999px;padding:5px 8px;color:#526070}.followup-table{min-width:760px}.followup-table td,.followup-table th{font-size:12px}.admin-followup-dashboard .section-head h2{margin-top:4px}
@media (max-width:760px){.followup-item-top{display:grid}.followup-head{display:grid}.followup-meta{display:grid}.followup-table{min-width:680px}}

/* v77 robust follow-up cycle visibility */
.followup-item.followed-up{padding-right:46px!important;}
.followup-item.followed-up .followup-item-top{padding-right:16px;}
.followup-check-badge{right:10px!important;top:10px!important;z-index:10!important;}
.ai-compose-followup-btn:disabled{background:#e8edf3!important;color:#8b97a7!important;border-color:#d5dee8!important;box-shadow:none!important;}

/* v78 shared follow-up status visible on Sales, Admin, and Team Leader task cards */
.followup-shared-status{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 6px}
.followup-shared-status span{font-size:11px;border:1px solid var(--line-soft);border-radius:999px;padding:5px 9px;color:#526070;background:#f8fbff}
.task-card.followed-up{border-color:#33b36b!important;box-shadow:0 0 0 2px rgba(51,179,107,.08) inset!important}
.task-card .followup-check-badge{top:14px!important;right:14px!important}


/* v80 final follow-up lock/tick fix */
.followup-check-badge{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;top:10px!important;right:10px!important;border-radius:50%!important;background:#16a34a!important;color:#fff!important;border:2px solid #fff!important;box-shadow:0 5px 14px rgba(22,163,74,.34)!important;font-size:14px!important;font-weight:1000!important;z-index:25!important;}
.followup-item.followed-up,.task-card.followed-up{position:relative!important;overflow:visible!important;border-color:#16a34a!important;box-shadow:0 0 0 2px rgba(22,163,74,.10) inset!important;}
.followup-item.followed-up{padding-right:42px!important;}
.task-card.followed-up .task-top{padding-right:42px!important;}
.task-card.followed-up .followup-check-badge{top:12px!important;right:12px!important;}
.ai-compose-followup-btn:disabled,.followup-action-btn:disabled{opacity:.45!important;cursor:not-allowed!important;filter:grayscale(.25);}


/* v83 AI workload balance for Team Leader Sales Follow-up Dashboard */
.followup-admin-actions{justify-content:flex-end;gap:8px}
.workload-balance-note{margin:0 0 10px;border:1px solid #cfe1f3;background:#f8fbff;border-radius:12px;padding:8px 10px;font-size:12px;color:#526070;line-height:1.4}
.workload-balance-alert{margin-bottom:10px}
.admin-followup-dashboard .followup-table{min-width:920px}
.admin-followup-dashboard #balanceSalesWorkloadBtn{white-space:nowrap}
@media (max-width:760px){.followup-admin-actions{justify-content:flex-start}.workload-balance-note{font-size:11.5px}.admin-followup-dashboard .followup-table{min-width:850px}}

/* v84 CSV Sent Date chip beside Reminder */
.sent-date-pill{max-width:190px}

/* v85 Daily black point / full star workload balance */
.followup-black-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid #111827;background:#111827;color:#fff;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:1000;white-space:nowrap}
.followup-star-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid #f4d999;background:#fff8e6;color:#8a5d00;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:1000;white-space:nowrap}
.admin-followup-dashboard .followup-table{min-width:1180px}
@media (max-width:760px){.admin-followup-dashboard .followup-table{min-width:1120px}}


/* v87 Corporate Quick Messages polish */
.corporate-message-center{
  border-color:#c9d9ea;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 10px 26px rgba(7,31,57,.06);
  padding:12px;
}
.corporate-message-center .corporate-msg-head{
  align-items:center;
  padding:12px 14px;
  margin:-2px 0 10px;
  border:1px solid #d5e4f3;
  border-radius:14px;
  background:linear-gradient(135deg,#ffffff 0%,#f5f9fe 62%,#eaf4ff 100%);
}
.corporate-message-center .corporate-msg-head h2{
  margin:5px 0 2px;
  font-size:17px;
  letter-spacing:-.01em;
  color:#071f39;
}
.corporate-message-center .corporate-msg-head p{
  max-width:820px;
  color:#53637a;
  font-size:11.5px;
}
.corporate-message-form{
  gap:8px;
  align-items:end;
}
.corporate-message-form .field{
  gap:4px;
}
.corporate-message-form .field label{
  color:#25364d;
  font-size:10.5px;
  letter-spacing:.045em;
}
.corporate-message-form .field input,
.corporate-message-form .field select{
  min-height:34px;
  padding:7px 10px;
  border-radius:10px;
  border-color:#d5e1ee;
  background:#fff;
  font-size:13px;
}
.corporate-ready-message{
  position:relative;
  padding:10px;
  border:1px solid #d5e4f3;
  border-radius:14px;
  background:#ffffff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.corporate-ready-message .ready-message-label{
  margin-bottom:6px;
  padding:0 2px;
}
.corporate-ready-message #msgOutput,
.quick-message-form #msgOutput{
  height:190px;
  min-height:190px;
  max-height:190px;
  border-color:#bcd3eb;
  border-radius:12px;
  padding:12px 13px;
  line-height:1.48;
  font-size:13.5px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 0 0 3px rgba(23,105,170,.04);
}
.corporate-ai-card,
.quick-message-form .ai-letter-card.corporate-ai-card{
  padding:10px;
  border:1px solid #d2e3f5;
  border-radius:14px;
  background:linear-gradient(135deg,#f8fbff 0%,#ffffff 55%,#f1f7ff 100%);
  box-shadow:none;
}
.corporate-ai-card .ai-letter-head{
  padding-bottom:8px;
  margin-bottom:8px;
  border-bottom:1px solid #e5eef8;
}
.corporate-ai-card .ai-letter-head h3{
  font-size:13.5px;
  color:#071f39;
}
.corporate-ai-card .ai-letter-head p{
  font-size:10.8px;
  color:#64748b;
}
.corporate-ai-card .ai-letter-grid{
  grid-template-columns:1fr .85fr 1.85fr;
  gap:8px;
}
.corporate-ai-card .field input,
.corporate-ai-card .field select{
  min-height:33px;
  padding:7px 10px;
  font-size:13px;
}
.corporate-ai-card .ai-letter-grid .field textarea#aiLetterPoints{
  height:64px;
  min-height:64px;
  max-height:88px;
  padding:9px 10px;
  line-height:1.35;
  font-size:13px;
}
.corporate-message-form .ai-letter-actions,
.corporate-message-form .quick-message-actions{
  display:flex;
  gap:7px;
  padding:0;
  margin-top:0;
  align-items:center;
}
.corporate-message-form .ai-letter-actions .btn,
.corporate-message-form .quick-message-actions .btn{
  min-height:34px;
  padding:7px 12px;
  border-radius:10px;
  font-size:13px;
}
.corporate-message-form .quick-message-actions{
  padding-top:2px;
}
.corporate-message-form .quick-message-actions .btn.primary{
  box-shadow:0 8px 18px rgba(23,105,170,.18);
}
.corporate-message-form .saved-msg-notes{
  border-color:#d5e4f3;
  background:#fbfdff;
  border-radius:12px;
  padding:8px 10px;
}
.corporate-message-form .saved-msg-head b{
  color:#071f39;
}
.corporate-message-form .ready-copy-icon{
  width:26px;
  height:26px;
  border-radius:9px;
  border-color:#cfddeb;
  background:#fff;
}
@media (max-width:1100px){
  .corporate-ai-card .ai-letter-grid{grid-template-columns:1fr;}
  .corporate-ai-card .ai-letter-grid .ai-wide,
  .corporate-ai-card .ai-letter-grid .ai-full{grid-column:1 / -1;}
}
@media (max-width:980px){
  .corporate-ready-message #msgOutput,
  .quick-message-form #msgOutput{
    height:210px;
    min-height:210px;
    max-height:210px;
  }
  .corporate-message-center .corporate-msg-head{padding:10px;}
  .corporate-message-form .ai-letter-actions .btn,
  .corporate-message-form .quick-message-actions .btn{width:100%;}
}

/* v88 Full Corporate UI Refresh - whole application */
:root{
  --bg:#eef3f8;
  --panel:#ffffff;
  --ink:#101828;
  --muted:#5f6f85;
  --line:#d5e0ec;
  --line-soft:#e9eef5;
  --nav:#061f38;
  --nav-2:#0b3158;
  --nav-ink:#dceaf7;
  --brand:#1266a8;
  --brand-2:#0b79b7;
  --gold:#d8a63f;
  --green:#11845b;
  --red:#c43838;
  --orange:#cc731f;
  --blue-soft:#edf7ff;
  --green-soft:#eefbf5;
  --red-soft:#fff2f2;
  --orange-soft:#fff7ec;
  --shadow:0 8px 22px rgba(7,31,57,.07);
  --radius:13px;
  --radius-sm:9px;
  --sidebar:226px;
}
html{font-size:14px;scroll-behavior:smooth;}
body{
  background:
    radial-gradient(circle at top left,rgba(18,102,168,.08),transparent 34%),
    linear-gradient(180deg,#f6f9fc 0%,#eef3f8 100%);
  color:var(--ink);
  letter-spacing:-.005em;
}
body,button,input,select,textarea{font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;}
body::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.table-wrap::-webkit-scrollbar,textarea::-webkit-scrollbar{width:8px;height:8px;}
body::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb,textarea::-webkit-scrollbar-thumb{background:#b8c8da;border-radius:999px;}
body::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track,.table-wrap::-webkit-scrollbar-track,textarea::-webkit-scrollbar-track{background:#edf3f8;}

/* Corporate login / start pages */
.loading-screen,.auth-page{background:linear-gradient(135deg,#f8fbff 0%,#edf4fb 52%,#e8f2fb 100%);}
.auth-page{grid-template-columns:minmax(330px,500px) 1fr;}
.auth-panel{padding:24px;}
.auth-card,.loader-card{
  border:1px solid #d6e2ef;
  border-radius:20px;
  box-shadow:0 16px 36px rgba(7,31,57,.10);
}
.auth-card{max-width:520px;padding:24px 26px 22px;}
.auth-card h1,.loader-card h1{font-size:21px;letter-spacing:-.03em;color:#061f38;}
.auth-card p,.loader-card p{font-size:12.5px;color:#64748b;}
.auth-hero{background:linear-gradient(145deg,#061f38 0%,#0b3158 56%,#1266a8 100%);padding:38px;}
.hero-inner h2{font-size:36px;letter-spacing:-.04em;}
.hero-inner p{font-size:15px;}
.hero-chip,.hero-kicker{backdrop-filter:blur(8px);}
.tabs{margin:14px 0;background:#edf3f8;border:1px solid #e1e9f2;}
.tab{font-size:12px;min-height:32px;padding:7px 10px;}

/* Corporate app shell */
.app-layout{grid-template-columns:var(--sidebar) minmax(0,1fr);}
.sidebar{
  background:linear-gradient(180deg,#061f38 0%,#0b2c4e 58%,#051a2f 100%);
  border-right:1px solid rgba(255,255,255,.08);
  padding:12px 10px;
}
.brand{
  min-height:56px;
  padding:8px 8px 12px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.brand-name b{font-size:13px;letter-spacing:.01em;}
.brand-name span{font-size:10.5px;color:#b9cce0;}
.brand-logo{width:34px;height:34px;border-radius:10px;}
.nav{gap:3px;margin-top:12px;}
.nav button{
  min-height:34px;
  padding:8px 9px;
  border-radius:10px;
  font-size:12.5px;
  font-weight:850;
  color:#c8dcf0;
  border:1px solid transparent;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.nav button span{width:18px;text-align:center;opacity:.9;}
.nav button:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10);transform:translateX(1px);}
.nav button.active{
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.10));
  color:#fff;
  border-color:rgba(255,255,255,.18);
  box-shadow:inset 3px 0 0 #62b5f3;
}
.side-footer{
  margin-top:12px;
  padding:10px 7px 4px;
  font-size:10.7px;
  line-height:1.45;
  color:#b9cce0;
}
.sidebar-performance{margin-top:8px;padding:8px;border:1px solid rgba(255,255,255,.10);border-radius:11px;background:rgba(255,255,255,.055);}
.sidebar-stars{letter-spacing:1px;}
.sidebar-stars .star.on{color:#ffd166;}
.sidebar-stars .star.off{color:rgba(255,255,255,.24);}
.sidebar-performance-note{font-size:10.5px;color:#b9cce0;margin-top:3px;}

.topbar{
  height:58px;
  padding:0 16px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #dbe5f0;
  box-shadow:0 4px 18px rgba(7,31,57,.045);
  backdrop-filter:blur(12px);
}
.page-title{font-size:17px;letter-spacing:-.025em;color:#061f38;}
.page-subtitle{font-size:11.5px;color:#66768a;}
.top-actions{gap:7px;}
.user-pill{
  max-width:280px;
  min-height:32px;
  padding:5px 9px;
  border-radius:999px;
  font-size:12px;
  background:#f7fafd;
  border-color:#dbe5f0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.avatar{width:22px;height:22px;font-size:10px;background:linear-gradient(135deg,#1266a8,#d8a63f);}
.content{padding:14px;max-width:1480px;}

/* Corporate cards, sections and KPIs */
.grid{gap:10px;}
.grid.two{gap:12px;}
.card{
  border:1px solid #d7e2ee;
  border-radius:13px;
  box-shadow:0 6px 18px rgba(16,36,64,.045);
  padding:12px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.card:hover{box-shadow:0 10px 24px rgba(16,36,64,.06);}
.card.tight{padding:10px;}
.card h2{font-size:16px;letter-spacing:-.02em;color:#061f38;margin-bottom:8px;}
.card h3{font-size:13.5px;color:#1b2a41;}
.section-head{align-items:flex-start;margin-bottom:9px;gap:10px;}
.section-head h2{margin:0 0 3px;}
.section-head p{font-size:11.5px;color:#66768a;line-height:1.35;margin:0;}
.kpi{
  min-height:74px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 74%,#f1f7ff 100%);
  border-color:#d5e4f3;
}
.kpi b{font-size:23px;color:#061f38;letter-spacing:-.04em;}
.kpi span{font-size:11px;color:#64748b;line-height:1.3;}
.kpi-icon{width:36px;height:36px;border-radius:12px;background:#edf7ff;color:#1266a8;font-size:17px;}

/* Corporate controls */
.btn{
  min-height:34px;
  padding:7px 12px;
  border-radius:10px;
  font-size:12.5px;
  font-weight:900;
  border:1px solid transparent;
  box-shadow:0 4px 12px rgba(16,36,64,.04);
  transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(16,36,64,.08);filter:none;}
.btn:active{transform:translateY(0);box-shadow:0 3px 8px rgba(16,36,64,.06);}
.btn.small{min-height:29px;padding:5px 9px;border-radius:9px;font-size:11.5px;}
.btn.primary{background:linear-gradient(135deg,#1266a8,#0b79b7);box-shadow:0 8px 18px rgba(18,102,168,.18);}
.btn.gold{background:linear-gradient(135deg,#d8a63f,#edc96f);color:#182235;}
.btn.success{background:#11845b;color:#fff;}
.btn.danger{background:#c43838;color:#fff;}
.btn.ghost{background:#fff;border-color:#d5e0ec;color:#25364d;box-shadow:none;}
.btn.ghost:hover{background:#f5f9fd;border-color:#c3d2e3;}
.btn.full{min-height:38px;}
.btn:disabled{transform:none!important;box-shadow:none!important;}
.field{gap:4px;}
.field label{
  font-size:10.2px;
  letter-spacing:.055em;
  color:#2c3c52;
  font-weight:950;
}
.field input,.field select,.field textarea,
.filters input,.filters select{
  min-height:33px;
  padding:7px 10px;
  border-radius:9px;
  border:1px solid #d5e0ec;
  background:#fff;
  font-size:12.5px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.field textarea{min-height:64px;line-height:1.38;}
.field input:focus,.field select:focus,.field textarea:focus,.filters input:focus,.filters select:focus{
  border-color:#9ac6eb;
  box-shadow:0 0 0 3px rgba(18,102,168,.10);
}
.inline-form{gap:8px;}
.filters{
  gap:8px;
  padding:9px;
  border:1px solid #d9e4f0;
  border-radius:12px;
  background:#f8fbff;
  margin-bottom:10px;
}
.alert,.inline-alert{
  border-radius:11px;
  padding:9px 10px;
  font-size:12px;
  line-height:1.38;
}
.alert.success,.inline-alert.success{background:#eefbf5;border-color:#bfe8d7;color:#0f6b4e;}
.alert.warn{background:#fff7ec;border-color:#efd4aa;color:#8a4f17;}
.alert.error{background:#fff2f2;border-color:#f0c1c1;color:#9d2525;}
.empty{
  border:1px dashed #cbd8e6;
  background:#f9fbfe;
  border-radius:12px;
  color:#66768a;
  padding:12px;
  font-size:12px;
}

/* Corporate tables */
.table-wrap{
  border:1px solid #d9e4f0;
  border-radius:12px;
  overflow:auto;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.table{border-collapse:separate;border-spacing:0;width:100%;}
.table th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f4f8fc;
  color:#354762;
  font-size:10.5px;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:8px 9px;
  border-bottom:1px solid #dce7f2;
}
.table td{
  padding:8px 9px;
  font-size:12px;
  border-bottom:1px solid #edf2f7;
  vertical-align:top;
}
.table tr:last-child td{border-bottom:0;}
.table tbody tr:hover td{background:#f9fcff;}
.performance-table th,.performance-table td,.detail-report-table th,.detail-report-table td{font-size:11.5px;}

/* Corporate pills and status chips */
.pill{
  padding:4px 8px;
  font-size:10.5px;
  border-radius:999px;
  font-weight:950;
  border-color:#d7e2ee;
  background:#f4f8fc;
  color:#30445f;
}
.pill.blue{background:#edf7ff;border-color:#cbe5fb;color:#0f5f9d;}
.pill.green{background:#edf9f3;border-color:#bfe8d7;color:#0f6b4e;}
.pill.orange{background:#fff7ec;border-color:#efd4aa;color:#8a4f17;}
.pill.red{background:#fff2f2;border-color:#f0c1c1;color:#9d2525;}
.pill.gold{background:#fff8df;border-color:#ead999;color:#735611;}
.db-mini-badge{font-size:9.8px;border-radius:999px;padding:3px 6px;margin-top:4px;}

/* Corporate task cards and boards */
.task-list{gap:8px;}
.task-card{
  border-color:#d8e3ef;
  border-radius:12px;
  padding:10px;
  gap:7px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  box-shadow:0 3px 10px rgba(16,36,64,.035);
}
.task-card:hover{border-color:#c2d4e6;box-shadow:0 8px 18px rgba(16,36,64,.06);}
.task-title{font-size:13px;color:#061f38;letter-spacing:-.01em;}
.task-top{gap:8px;}
.task-desc{font-size:12px;color:#4f5f73;line-height:1.36;}
.task-actions{gap:5px;padding-top:2px;}
.task-actions .btn{font-size:11.2px;min-height:28px;padding:5px 8px;}
.task-card.overdue{border-color:#efc0c0;background:linear-gradient(180deg,#fff 0%,#fff7f7 100%);}
.task-card.due-soon{border-color:#edd09e;background:linear-gradient(180deg,#fff 0%,#fffaf1 100%);}
.delete-confirm-box,.quick-panel,.admin-edit-panel{
  border:1px solid #d4e1ee;
  border-radius:11px;
  background:#f8fbff;
  padding:9px;
}
.admin-edit-panel{box-shadow:inset 0 1px 0 rgba(255,255,255,.9);}
.dept-lane{
  border:1px solid #d9e4f0;
  border-radius:13px;
  background:#f8fbff;
  padding:9px;
}
.lane-head{
  min-height:34px;
  border-bottom:1px solid #e7eef6;
  padding-bottom:7px;
  margin-bottom:8px;
}
.lane-title{font-size:13px;color:#061f38;font-weight:950;}
.lane-count{font-size:10.5px;color:#66768a;background:#fff;border:1px solid #dce6f1;border-radius:999px;padding:3px 7px;}
.quick-filter-row{gap:6px;margin:0 0 10px;}
.quick-chip{
  min-height:29px;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  background:#fff;
  border-color:#d5e0ec;
}
.quick-chip.active,.quick-chip:hover{background:#edf7ff;border-color:#cbe5fb;color:#0f5f9d;}

/* Corporate Admin command, Assign, Import, Reports and DB screens */
.admin-command-strip,
.staff-focus-card,
.ai-followup-card,
.database-tools-card,
.admin-report-card,
.assign-compact-card,
.recent-assigned-card,
.security-hardening-card{
  border-color:#cbddea;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 68%,#eef7ff 100%);
}
.admin-command-strip{
  grid-template-columns:minmax(300px,1fr) auto auto;
  padding:12px;
  margin-bottom:12px;
}
.admin-command-strip h2,.staff-focus-card h2{font-size:16px;color:#061f38;}
.admin-command-strip p,.staff-focus-card p{font-size:11.5px;color:#64748b;}
.admin-command-actions,.admin-command-metrics{gap:6px;}
.admin-command-metrics span{
  padding:6px 8px;
  font-size:10.5px;
  background:#fff;
  border-color:#d7e2ee;
}
.admin-command-metrics b{font-size:13px;color:#061f38;}
.assign-compact-form .field input,
.assign-compact-form .field select,
.assign-compact-form .field textarea,
.compact-edit-form .field input,
.compact-edit-form .field select,
.compact-edit-form .field textarea{
  min-height:32px;
  padding:6px 9px;
  font-size:12px;
}
.assign-notes-box,.edit-notes-box{min-height:60px!important;}
.recent-assigned-toolbar,
.import-controls,
.report-filter-grid{
  border:1px solid #d9e4f0;
  background:#f8fbff;
  border-radius:12px;
  padding:9px;
  margin-bottom:10px;
}
.import-preview-table td{font-size:11.5px;}
.import-snippet{line-height:1.32;color:#5f6f85;}
.report-box{
  border:1px solid #d9e4f0;
  border-radius:12px;
  background:#fbfdff;
  padding:12px;
  font-size:12px;
  line-height:1.45;
  max-height:420px;
  overflow:auto;
}
.compact-report{max-height:360px;}
.database-note-list{gap:8px;}
.database-note-list > div,
.security-checklist > div{
  border:1px solid #d9e4f0;
  background:#fff;
  border-radius:11px;
  padding:9px;
  font-size:12px;
}
.danger-zone{border-color:#efc0c0;background:linear-gradient(180deg,#fff,#fff8f8);}

/* Corporate Users, Templates and Setup */
.user-management-card,.template-dept-card,.admin-rights-card,.branding-grid .card{
  border-color:#d5e1ee;
  background:linear-gradient(180deg,#fff,#fbfdff);
}
.user-table{border-spacing:0 6px;}
.user-row{
  border-color:#d9e4f0;
  background:#fff;
  border-radius:12px;
  padding:8px;
  box-shadow:0 4px 12px rgba(16,36,64,.035);
}
.user-email{font-size:12px;color:#1f334d;}
.user-actions{gap:5px;}
.rights-grid{gap:6px;}
.rights-grid span{
  min-height:30px;
  padding:6px 9px;
  border-radius:999px;
  background:#fff;
  border-color:#d9e4f0;
  font-size:11.5px;
}
.template-row{padding:9px;border-color:#d9e4f0;background:#fff;border-radius:11px;}
.brand-preview-card{min-height:180px;background:#f8fbff;border-color:#d9e4f0;border-radius:13px;}
.logo-preview-shell{width:200px;height:125px;border-radius:14px;border-color:#c3d2e3;background:#fff;}
.preview-mini-row{border-color:#d9e4f0;background:#fff;border-radius:12px;}
.setup-code,code{
  background:#f2f6fb;
  border:1px solid #d9e4f0;
  border-radius:8px;
  padding:2px 5px;
  color:#1f334d;
}

/* Corporate workflow flow chart */
.workflow{gap:8px;}
.workflow-step{
  border:1px solid #d9e4f0;
  background:linear-gradient(180deg,#fff,#fbfdff);
  border-radius:12px;
  padding:9px;
  box-shadow:0 3px 10px rgba(16,36,64,.035);
}
.step-num{
  width:28px;height:28px;
  border-radius:9px;
  background:linear-gradient(135deg,#1266a8,#0b79b7);
  color:#fff;
  font-size:12px;
  box-shadow:0 6px 14px rgba(18,102,168,.18);
}
.step-body b{font-size:12.5px;color:#061f38;}
.step-body p{font-size:11.5px;color:#5f6f85;line-height:1.35;}

/* Corporate Sales Follow-up Dashboard */
.admin-followup-dashboard{
  border-color:#cbddea;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.followup-admin-actions .btn{min-height:31px;}
.workload-balance-note{
  background:#f7fbff;
  border-color:#d6e5f4;
  border-radius:11px;
  padding:8px 10px;
  font-size:11.5px;
}
.followup-black-chip,.followup-star-chip{padding:3px 7px;font-size:10.5px;}
.followup-table td,.followup-table th{font-size:11.5px;}
.followup-item{
  border-color:#d9e4f0;
  border-radius:12px;
  padding:9px;
  box-shadow:0 3px 10px rgba(16,36,64,.035);
}
.followup-item-top b{font-size:12.5px;color:#061f38;}
.followup-item p{font-size:11.5px;}
.followup-meta span{font-size:10.5px;padding:4px 7px;}

/* Corporate Quick Messages remains compact under full app theme */
.corporate-message-center{padding:11px;border-radius:13px;}
.corporate-message-center .corporate-msg-head{padding:10px 12px;border-radius:12px;}
.corporate-message-center .corporate-msg-head h2{font-size:16px;}
.corporate-ready-message #msgOutput,.quick-message-form #msgOutput{
  height:176px;
  min-height:176px;
  max-height:176px;
  font-size:13px;
  line-height:1.44;
}
.corporate-ai-card .ai-letter-grid .field textarea#aiLetterPoints{height:58px;min-height:58px;}
.saved-msg-notes{font-size:11.5px;}

/* Mobile/tablet refinements */
.mobile-menu{display:none;}
@media (max-width:1100px){
  :root{--sidebar:214px;}
  .grid.four{grid-template-columns:repeat(2,minmax(0,1fr));}
  .grid.three{grid-template-columns:1fr 1fr;}
  .admin-command-strip{grid-template-columns:1fr;}
  .admin-command-actions,.admin-command-metrics{justify-content:flex-start;}
}
@media (max-width:860px){
  html{font-size:13px;}
  .app-layout{display:block;}
  .sidebar{position:fixed;left:-230px;top:0;width:226px;z-index:20;transition:left .18s ease;box-shadow:18px 0 40px rgba(0,0,0,.18);}
  .sidebar.open{left:0;}
  .mobile-menu{display:inline-flex;}
  .topbar{height:auto;min-height:56px;padding:8px 10px;gap:8px;align-items:center;}
  .topbar-left{flex:1;min-width:120px;}
  .top-actions{gap:5px;}
  .user-pill{display:none;}
  .content{padding:10px;}
  .grid.two,.grid.three,.grid.four{grid-template-columns:1fr;}
  .auth-page{display:block;}
  .auth-hero{display:none;}
  .auth-panel{min-height:100vh;padding:16px;}
  .card{padding:10px;}
  .section-head{display:grid;}
  .btn-row{gap:6px;}
}
@media (max-width:560px){
  .page-title{font-size:15px;}
  .page-subtitle{font-size:10.5px;}
  .btn,.btn.small{width:auto;}
  .task-actions .btn{flex:1 1 44%;}
  .quick-filter-row{overflow:auto;flex-wrap:nowrap;padding-bottom:4px;}
  .quick-chip{white-space:nowrap;}
  .corporate-ready-message #msgOutput,.quick-message-form #msgOutput{height:210px;min-height:210px;max-height:210px;}
}

@media print{
  .sidebar,.topbar,.btn,.quick-filter-row,.filters{display:none!important;}
  .app-layout{display:block;}
  .content{padding:0;max-width:100%;}
  .card{box-shadow:none;border-color:#ddd;break-inside:avoid;}
  body{background:#fff;}
}

/* v89 Ready Business Message relaxed reading size */
.ready-message-tools{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
}
.ready-size-toggle{
  min-height:26px;
  border:1px solid #c7dced;
  border-radius:999px;
  background:#f7fbff;
  color:#1769aa;
  padding:4px 10px;
  font-size:10.5px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 3px 8px rgba(16,36,64,.04);
}
.ready-size-toggle:hover,
.ready-size-toggle:focus{
  background:#eaf4ff;
  border-color:#a9cce8;
  outline:none;
}
.quick-message-form .corporate-ready-message #msgOutput{
  height:176px!important;
  min-height:176px!important;
  max-height:min(420px,58vh)!important;
  resize:vertical!important;
  overflow-y:auto!important;
}
.quick-message-form .corporate-ready-message.ready-message-relaxed #msgOutput{
  height:min(360px,54vh)!important;
}
.quick-message-form .corporate-ready-message #msgOutput::-webkit-resizer{
  background:linear-gradient(135deg,transparent 52%,#b8cce1 52%,#b8cce1 62%,transparent 62%,transparent 72%,#7fa8cc 72%);
}
@media (max-width:760px){
  .ready-message-label{align-items:flex-start;}
  .ready-message-tools{width:100%;justify-content:space-between;margin-left:0;}
  .quick-message-form .corporate-ready-message #msgOutput{
    height:210px!important;
    min-height:210px!important;
    max-height:min(340px,52vh)!important;
  }
  .quick-message-form .corporate-ready-message.ready-message-relaxed #msgOutput{
    height:min(310px,50vh)!important;
  }
}

/* v90 Desktop scroll-follow left menu
   Keeps the left navigation visible while the browser page scrolls.
   The menu itself can still scroll internally if the screen height is short. */
@media (min-width:861px){
  .app-layout{
    display:block!important;
    min-height:100vh;
  }
  .sidebar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:var(--sidebar)!important;
    height:100vh!important;
    max-height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:12;
    box-sizing:border-box;
  }
  .main{
    margin-left:var(--sidebar)!important;
    width:calc(100% - var(--sidebar))!important;
    min-width:0;
  }
  .topbar{
    position:sticky;
    top:0;
    z-index:8;
  }
}
@media (max-width:860px){
  .main{
    margin-left:0!important;
    width:100%!important;
  }
}
@media print{
  .main{
    margin-left:0!important;
    width:100%!important;
  }
}


/* v91 Admin menu move/order control
   Admin users can arrange the left menu and keep that order after login.
   Staff/department menus stay in their fixed standard order. */
.nav button em{
  flex:1;
  min-width:0;
  font-style:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nav button .nav-icon{flex:0 0 18px;}
.sidebar-menu-tools{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:10px 2px 0;
  padding:8px 2px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.sidebar-menu-tools .btn{
  min-height:28px;
  padding:5px 8px;
  border-radius:9px;
  font-size:10.5px;
  color:#cde2f6;
  border-color:rgba(255,255,255,.16);
}
.nav.menu-move-on{
  padding:6px;
  border:1px dashed rgba(98,181,243,.45);
  border-radius:13px;
  background:rgba(98,181,243,.06);
}
.nav button.menu-move-item{
  cursor:default;
  padding-right:5px;
}
.nav button.menu-move-item:hover{
  transform:none;
}
.nav-move-actions{
  flex:0 0 auto;
  display:inline-flex;
  gap:3px;
  margin-left:auto;
}
.nav-move-actions i{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:rgba(255,255,255,.10);
  color:#ffffff;
  font-style:normal;
  font-size:13px;
  line-height:1;
  border:1px solid rgba(255,255,255,.12);
  cursor:pointer;
}
.nav-move-actions i:hover{background:rgba(98,181,243,.22);border-color:rgba(98,181,243,.35);}
.nav-move-actions i.disabled{opacity:.28;cursor:not-allowed;}

/* v92 fix: Admin Move Menu button contrast inside dark sidebar */
.sidebar .sidebar-menu-tools .btn,
.sidebar .sidebar-menu-tools .btn.ghost,
.sidebar .sidebar-menu-tools .btn.small,
.sidebar .sidebar-menu-tools #toggleAdminMenuMove,
.sidebar .sidebar-menu-tools #resetAdminMenuOrder{
  background:rgba(17,55,88,.96)!important;
  color:#ffffff!important;
  border:1px solid rgba(125,181,232,.48)!important;
  box-shadow:0 6px 14px rgba(0,0,0,.12)!important;
  text-shadow:none!important;
}
.sidebar .sidebar-menu-tools .btn:hover,
.sidebar .sidebar-menu-tools .btn.ghost:hover,
.sidebar .sidebar-menu-tools #toggleAdminMenuMove:hover,
.sidebar .sidebar-menu-tools #resetAdminMenuOrder:hover{
  background:rgba(30,92,140,.98)!important;
  color:#ffffff!important;
  border-color:rgba(162,209,250,.70)!important;
  transform:none!important;
  filter:none!important;
}
.sidebar .sidebar-menu-tools .btn:focus-visible{
  outline:2px solid rgba(162,209,250,.85)!important;
  outline-offset:2px;
}

/* v93 Fixed top bar with fixed left menu
   Keeps the page title/action bar visible while the browser page scrolls,
   matching the scroll-follow left menu on desktop and laptop. */
@media (min-width:861px){
  .main{
    padding-top:58px!important;
  }
  .topbar{
    position:fixed!important;
    top:0!important;
    left:var(--sidebar)!important;
    right:0!important;
    width:auto!important;
    z-index:14!important;
  }
}
@media print{
  .main{
    padding-top:0!important;
  }
}


/* v95 Bottom-right back-to-top arrow
   Gives users a small fixed arrow to return to the top without disturbing the menu or page layout. */
.back-to-top{
  position:fixed;
  right:18px;
  bottom:18px;
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--nav),var(--brand));
  color:#ffffff;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 12px 28px rgba(7,31,57,.22);
  font-size:20px;
  font-weight:1000;
  line-height:1;
  opacity:0;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .18s ease, transform .18s ease, background .18s ease;
  z-index:18;
}
.back-to-top.show{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.back-to-top:hover{
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  transform:translateY(-2px);
}
.back-to-top:focus-visible{
  outline:3px solid rgba(23,105,170,.25);
  outline-offset:3px;
}
@media (max-width:860px){
  .back-to-top{
    right:14px;
    bottom:14px;
    width:38px;
    height:38px;
    border-radius:13px;
    font-size:18px;
  }
}
@media print{
  .back-to-top{display:none!important;}
}

/* v96 Admin Notice Bar
   Uses the blank top bar space for one short Admin-controlled notice with one action link. */
.topbar-left{
  flex:0 1 360px;
}
.admin-notice-slot{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
}
.admin-notice-bar{
  max-width:760px;
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid #dce8f3;
  background:#f8fbff;
  color:#243047;
  box-shadow:0 5px 14px rgba(16,36,64,.05);
  font-size:12px;
  font-weight:850;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
}
.admin-notice-bar.important{
  background:#fff7db;
  border-color:#efd98c;
  color:#604815;
}
.admin-notice-bar.urgent{
  background:#fff0f0;
  border-color:#efb7b7;
  color:#8b2525;
}
.admin-notice-icon{
  flex:0 0 auto;
}
.admin-notice-text{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.admin-notice-action{
  flex:0 0 auto;
  border:1px solid rgba(23,105,170,.18);
  background:#ffffff;
  color:#105d9d;
  border-radius:999px;
  padding:4px 8px;
  font-size:11px;
  font-weight:1000;
  line-height:1;
  max-width:160px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.admin-notice-action:hover{
  background:#eef7ff;
  border-color:#b7d8f5;
}
.admin-notice-setup-card{
  border-color:#cfe1f3;
  background:linear-gradient(135deg,#fff,#f8fbff);
}
.admin-notice-preview-box{
  display:grid;
  gap:6px;
  margin:8px 0 12px;
  padding:10px;
  border:1px dashed #cbddec;
  border-radius:14px;
  background:#ffffff;
}
.admin-notice-preview-label{
  font-size:11px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#607086;
}
.admin-notice-preview-box .admin-notice-bar{
  margin:0;
  max-width:100%;
  justify-self:start;
}
.admin-notice-form .field input,
.admin-notice-form .field select{
  min-height:38px;
  padding:9px 10px;
}
@media (max-width:980px){
  .topbar-left{
    flex:1 1 auto;
  }
  .admin-notice-slot{
    order:3;
    flex-basis:100%;
    width:100%;
    justify-content:flex-start;
    padding:0;
  }
  .admin-notice-bar{
    max-width:100%;
    border-radius:13px;
  }
}
@media print{
  .admin-notice-slot{display:none!important;}
}


/* v97 Printed report logo/header */
.report-print-header{
  display:none;
}
.report-print-logo-wrap{
  flex:0 0 auto;
}
.report-print-logo{
  width:180px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
.report-print-text h1{
  margin:0 0 4px;
  font-size:22px;
  line-height:1.2;
  color:#102440;
}
.report-print-text p{
  margin:0 0 3px;
  color:#3d4e63;
  font-size:13px;
}
.report-print-text span{
  color:#6b7787;
  font-size:11px;
}
@media print{
  .report-print-header{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:0 0 12px;
    margin:0 0 14px;
    border-bottom:2px solid #d8e2ed;
    break-inside:avoid;
  }
  .report-print-text{
    text-align:right;
    margin-left:auto;
  }
}


/* v98 Top bar light bottom shadow
   Adds a subtle corporate separation below the fixed top bar without making it look heavy. */
.topbar{
  border-bottom:1px solid #e6edf5!important;
  box-shadow:0 4px 12px rgba(16,36,64,.06);
}
@media print{
  .topbar{
    box-shadow:none!important;
    border-bottom:0!important;
  }
}

/* v99 Security Hardening Pack */
.admin-pin-card .brand-mark,
.admin-pin-card .brand-logo{
  margin-bottom:10px;
}
.security-admin-grid .security-inner-card{
  background:#fbfdff;
  border-color:#dbe8f4;
}
.security-hardening-card .security-checklist code{
  background:#eef5fb;
  border:1px solid #dbe8f4;
  border-radius:8px;
  padding:1px 5px;
}
@media print{
  .security-hardening-card{display:none!important;}
}

/* v103 owner-only developer credit link */
.developer-credit-link{color:#d9ebff;text-decoration:none;font-weight:900;border-bottom:1px dashed rgba(217,235,255,.45);}
.developer-credit-link:hover{color:#fff;border-bottom-color:#fff;}
.developer-credit-card .developer-credit-actions{align-items:end;padding-top:18px;}
