/* FRInsurance staff visual system — shared polish for the broker portal. */
:root{
  --staff-surface:#ffffff;
  --staff-surface-soft:#f8fbff;
  --staff-surface-muted:#f3f6fa;
  --staff-border:#dfe7f1;
  --staff-border-strong:#cbd9e8;
  --staff-text:#18233a;
  --staff-muted:#66758d;
  --staff-navy:#052463;
  --staff-blue:#0068cc;
  --staff-blue-soft:#edf5ff;
  --staff-radius-sm:10px;
  --staff-radius-md:14px;
  --staff-radius-lg:18px;
  --staff-shadow-soft:0 8px 26px rgba(5,36,99,.055);
  --staff-shadow-raised:0 12px 34px rgba(5,36,99,.085);
}

/* Page hierarchy */
.main{color:var(--staff-text)}
.main>.page-head,.main>.hero-customer{margin-bottom:22px}
.main h1{font-size:32px;line-height:1.15;letter-spacing:-.02em;margin:4px 0 8px}
.main h2{letter-spacing:-.01em}
.main .lead{font-size:14px;line-height:1.55}
.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800}
.section{margin-top:24px}
.section-head{align-items:center;margin-bottom:15px}
.section-head h2,.section-head h3{margin-bottom:0}

/* Surfaces */
.card,.feature-card,.help,.auto-panel,.import-tile,.preview-table-wrap{
  border-color:var(--staff-border);
}
.card{
  background:var(--staff-surface);
  box-shadow:var(--staff-shadow-soft);
}
.card.section{padding:22px 24px}
.feature-card{
  border-radius:var(--staff-radius-lg);
  box-shadow:var(--staff-shadow-soft);
}
.feature-card:hover{border-color:#c5d9ef;box-shadow:var(--staff-shadow-raised)}
.stat.card{position:relative;overflow:hidden}
.stat.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#d7eaff}
.stat .num{letter-spacing:-.025em}
.empty{background:#fbfcfe;border-color:var(--staff-border-strong)}

/* Buttons and actions */
.btn{min-height:38px;border-radius:var(--staff-radius-sm);font-weight:750;line-height:1.15}
.btn.primary{box-shadow:0 3px 10px rgba(0,104,204,.12)}
.btn.secondary{border:1px solid #d5e7fb}
.btn.ghost{border-color:var(--staff-border)}
.btn.small{min-height:32px}
.btn:focus-visible,.nav a:focus-visible,.tabs a:focus-visible,.staff-global-search button:focus-visible{
  outline:3px solid rgba(0,104,204,.24);outline-offset:2px;
}
.btn[disabled],.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.customer-actions,.feature-actions,.policy-actions{gap:8px}

/* Form system */
.label{font-size:11px;letter-spacing:.025em;margin-bottom:7px}
.input,.select,.textarea{
  min-height:42px;border-color:var(--staff-border-strong);border-radius:var(--staff-radius-sm);padding:10px 12px;background:#fff;
}
.textarea{min-height:96px;line-height:1.5}
.input:hover,.select:hover,.textarea:hover{border-color:#b7cadf}
.input:focus,.select:focus,.textarea:focus{background:#fff}
.input::placeholder,.textarea::placeholder{color:#96a2b3}
.form-grid{gap:16px}
form .sub{line-height:1.45}

/* Tabs and compact navigation */
.tabs{gap:7px;margin:18px 0 22px;padding-bottom:1px}
.tabs a{border-color:var(--staff-border);border-radius:10px;background:#fff;color:#40516b;transition:border-color .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease}
.tabs a:hover{border-color:#bdd5ee;background:#f8fbff;color:var(--staff-blue)}
.tabs a.active,.tabs a[aria-current="page"]{background:var(--staff-blue-soft);border-color:#bcd9f6;color:var(--staff-blue);box-shadow:inset 0 0 0 1px rgba(0,104,204,.03)}

/* Tables and list rows */
.table{font-size:13px}
.table th{padding:11px 10px;background:#f8fafc;color:#65748a;border-bottom-color:#d9e3ee}
.table td{padding:13px 10px;border-bottom-color:#e7edf4}
.table tbody tr:last-child td{border-bottom:0}
.row{padding:14px 2px}
.row-title{line-height:1.35}
.sub,.muted{color:var(--staff-muted)}

/* Status language */
.pill{min-height:25px;padding:5px 10px;border:1px solid transparent}
.pill.green{border-color:#d4efe4}.pill.amber{border-color:#f0dfb9}.pill.red{border-color:#f3d4d8}
.notice{border:1px solid #efdfb9;line-height:1.45}
.notice.success,.success{border-color:#cce9dd}
.notice.danger,.danger{border-color:#f1d2d6}

/* Customer and policy surfaces */
.hero-customer{padding:2px 0 4px}
.customer-meta{margin-top:10px}
.policy-card{border-color:var(--staff-border);border-radius:var(--staff-radius-md);background:#fff;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}
.policy-card:hover{border-color:#bfd6ee;box-shadow:0 6px 20px rgba(5,36,99,.055)}
.policy-type{letter-spacing:-.005em}
.import-box,.auto-panel{border-color:#d2e3f5}

/* Keep dense utility screens useful on laptops. */
@media(max-width:1280px){
  .main h1{font-size:29px}.card.section{padding:19px 20px}.form-grid{gap:13px}
}
@media(max-width:700px){
  .main h1{font-size:26px}.card.section{padding:16px}.section{margin-top:18px}.tabs{margin:14px 0 18px}.btn{min-height:40px}
}
@media(prefers-reduced-motion:reduce){
  .feature-card,.policy-card,.tabs a{transition:none!important}
}
