:root{
  --bg:#eff3f9;
  --bg2:#f8fbff;
  --card:#ffffff;
  --card-soft:#f8fafc;
  --text:#0f172a;
  --muted:#64748b;
  --line:#dbe4f0;
  --shadow:0 14px 38px rgba(15,23,42,.08);
  --shadow-lg:0 24px 60px rgba(15,23,42,.14);
  --primary:#3056d3;
  --primary-dark:#1e3a8a;
  --primary-soft:#e7eeff;
  --success:#16a34a;
  --success-soft:#dcfce7;
  --warning:#f59e0b;
  --warning-soft:#fff7db;
  --danger:#dc2626;
  --danger-soft:#fee2e2;
  --purple:#7c3aed;
  --purple-soft:#f3e8ff;
  --radius:18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  background:linear-gradient(180deg,#f5f8fd 0,#eef3fa 100%);
  color:var(--text)
}
a{text-decoration:none}

.sidebar{
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  width:276px;
  overflow:auto;
  background:linear-gradient(180deg,#0b1636 0%,#0d1b46 35%,#0f274f 100%);
  color:#fff;
  padding:24px 18px 20px;
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:10px 0 32px rgba(5,15,40,.18)
}
.brand-wrap{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.brand-mark{
  width:46px;
  height:46px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#4f7bff,#7cb6ff);
  color:#fff;
  font-weight:800;
  font-size:20px;
  box-shadow:0 12px 24px rgba(79,123,255,.35)
}
.brand{font-size:24px;font-weight:800;letter-spacing:-.02em}
.brand-sub{font-size:12px;color:#b7c4e7}

.userbox{
  display:flex;
  align-items:center;
  gap:12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:14px;
  margin:18px 0 16px
}
.avatar{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#4f7bff,#7cb6ff);
  font-weight:800
}
.userbox b{display:block;font-size:15px}
.userbox span{display:block;color:#d7e1fb;font-size:12px;margin-top:4px}

.nav-menu{margin-top:8px}
.nav-link{
  display:flex;
  align-items:center;
  gap:11px;
  padding:12px 14px;
  border-radius:14px;
  color:#e6eefc;
  font-weight:600;
  margin:5px 0;
  transition:.18s ease
}
.nav-link .icon{width:20px;text-align:center;opacity:.95}
.nav-link:hover{background:rgba(255,255,255,.10);transform:translateX(2px)}
.nav-link.active{
  background:linear-gradient(90deg,rgba(79,123,255,.24),rgba(79,123,255,.08));
  border:1px solid rgba(124,182,255,.25);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)
}
.nav-link.logout{margin-top:16px;color:#ffd7d7}

.content{
  margin-left:276px;
  padding:24px 28px 32px;
  min-height:100vh
}
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:rgba(255,255,255,.65);
  backdrop-filter:blur(10px);
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:24px;
  box-shadow:var(--shadow);
  margin-bottom:18px
}
.topbar-title{font-size:22px;font-weight:800;letter-spacing:-.02em}
.topbar-sub{color:var(--muted);font-size:13px;margin-top:4px}
.topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.status-pill{
  background:var(--card);
  border:1px solid var(--line);
  padding:9px 12px;
  border-radius:999px;
  color:#334155;
  box-shadow:var(--shadow)
}

.login-content{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:32px;
  background:radial-gradient(circle at top left,#4f7bff 0,#19357d 38%,#0a1434 100%)
}
.login-card{
  width:min(1040px,100%);
  background:rgba(255,255,255,.96);
  border-radius:32px;
  overflow:hidden;
  box-shadow:var(--shadow-lg);
  display:grid;
  grid-template-columns:1.15fr .85fr
}
.login-cover{
  padding:42px;
  background:linear-gradient(180deg,#0b1636 0%,#12397c 100%);
  color:#fff;
  position:relative
}
.login-cover:after{
  content:'';
  position:absolute;
  inset:auto -60px -60px auto;
  width:220px;
  height:220px;
  border-radius:50%;
  background:rgba(255,255,255,.06)
}
.login-cover h1{font-size:38px;margin:0 0 10px}
.login-cover p{color:#dbeafe;line-height:1.7}
.feature-list{
  margin:24px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px
}
.feature-list li{display:flex;align-items:flex-start;gap:10px;color:#eff6ff}
.feature-list span{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:rgba(255,255,255,.12)
}
.login-form-area{padding:42px}
.login-form-area h2{margin:0 0 6px;font-size:28px}
.login-form-area p{color:var(--muted);margin:0 0 20px}
.login-form-area form{display:grid;gap:14px}
.login-note{
  margin-top:18px;
  padding:14px;
  border-radius:16px;
  background:var(--primary-soft);
  border:1px solid #cbdafc;
  color:#274690
}

h1{margin:0 0 6px;font-size:34px;letter-spacing:-.03em}
h2{margin:0 0 16px;font-size:22px;letter-spacing:-.02em}
h3{margin:0 0 10px;font-size:17px}
p{margin:6px 0;color:var(--muted);line-height:1.6}

.page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px
}
.page-note{max-width:1100px;margin:6px 0 20px;color:var(--muted)}

.cards{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
  margin:16px 0 20px
}
.card,.panel{
  background:linear-gradient(180deg,rgba(255,255,255,.96) 0,rgba(255,255,255,.98) 100%);
  border-radius:24px;
  padding:20px;
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.65)
}
.card{
  position:relative;
  overflow:hidden
}
.card:after{
  content:'';
  position:absolute;
  top:-40px;
  right:-40px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:rgba(255,255,255,.22)
}
.card span{display:block;color:var(--muted);font-size:13px;font-weight:600}
.card b{font-size:34px;display:block;margin-top:10px}
.card.kpi{background:linear-gradient(135deg,#f8fbff,#eef5ff)}
.card.good{background:linear-gradient(135deg,#f0fff4,#dcfce7)}
.card.warn{background:linear-gradient(135deg,#fffdf5,#fff7db)}
.card.danger{background:linear-gradient(135deg,#fff5f5,#fee2e2)}
.card.score{background:linear-gradient(135deg,#eff6ff,#dbeafe)}
.card.purple{background:linear-gradient(135deg,#f7f1ff,#f3e8ff)}

.grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:16px;
  align-items:start
}
.grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px
}

label{
  font-size:13px;
  color:#475569;
  font-weight:700;
  display:block;
  margin-bottom:7px
}
input,select,textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px 14px;
  background:#fff;
  font:inherit;
  transition:border .18s ease, box-shadow .18s ease, transform .18s ease
}
input:focus,select:focus,textarea:focus{
  outline:none;
  border-color:#7aa2ff;
  box-shadow:0 0 0 4px rgba(79,123,255,.12)
}
textarea{min-height:110px;resize:vertical}

.form-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:start
}
.form-grid.wide{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid textarea,
.form-grid .multi,
.full-span{grid-column:1/-1}
.field{min-width:0}

.check{
  display:flex;
  align-items:center;
  gap:10px;
  background:#f8fbff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 16px;
  font-weight:600;
  color:#334155;
  min-height:48px
}
.check input{width:auto;margin:0}

button,.btn{
  border:0;
  border-radius:14px;
  padding:11px 16px;
  background:#eef2ff;
  color:#0f172a;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  font-weight:700;
  transition:.18s ease;
  box-shadow:0 10px 24px rgba(15,23,42,.04)
}
button:hover,.btn:hover{transform:translateY(-1px)}
.btn.primary,button.primary{
  background:linear-gradient(135deg,#3b68ec,#254fcc);
  color:#fff;
  box-shadow:0 16px 30px rgba(48,86,211,.28)
}
.good{border-left:5px solid var(--success)}
.warn{border-left:5px solid var(--warning)}
.danger{border-left:5px solid var(--danger)}
.score{border-left:5px solid var(--primary)}
.purple{border-left:5px solid var(--purple)}
.danger-btn{background:var(--danger-soft)!important;color:#991b1b!important}
.warn-btn{background:var(--warning-soft)!important;color:#92400e!important}
.success-btn{background:var(--success-soft)!important;color:#166534!important}
.ghost-btn{background:#f8fafc!important;border:1px solid var(--line)!important;color:#334155!important}
.btn.small{
  padding:8px 11px;
  font-size:12px;
  border-radius:11px
}

.inline-filter{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap
}
.inline-filter input,
.inline-filter select{
  width:auto;
  min-width:120px
}
.inline-filter.left{justify-content:flex-start}
.inline-filter.top-gap{margin-top:14px}
.search-box{max-width:320px}

.multi{
  max-height:260px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  background:#f8fafc
}
.multi label{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--text);
  margin:8px 0;
  font-weight:600
}
.multi input{width:auto}
.multi.tall{max-height:320px}

.table-scroll{
  overflow:auto;
  max-width:100%;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin
}
.table-scroll table{
  width:100%;
  min-width:900px;
  border-collapse:separate;
  border-spacing:0 10px
}
table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 10px
}
th{
  text-align:left;
  color:#64748b;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:0 10px
}
td{
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:12px 10px;
  vertical-align:top
}
td:first-child{
  border-left:1px solid var(--line);
  border-radius:14px 0 0 14px
}
td:last-child{
  border-right:1px solid var(--line);
  border-radius:0 14px 14px 0
}
tr:hover td{background:#fcfdff}

.badge{
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:800;
  display:inline-block;
  min-width:74px;
  text-align:center
}
.badge.submitted,.badge.accepted{background:var(--success-soft);color:#166534}
.badge.pending{background:#dbeafe;color:#1e40af}
.badge.overdue,.badge.rejected{background:var(--danger-soft);color:#991b1b}
.badge.cancelled{background:#f3f4f6;color:#374151}
.badge.open{background:var(--warning-soft);color:#92400e}

.flash-wrap{position:sticky;top:12px;z-index:10}
.flash{
  padding:14px 16px;
  border-radius:16px;
  margin-bottom:10px;
  background:#dbeafe;
  box-shadow:var(--shadow)
}
.flash.danger{background:var(--danger-soft);color:#991b1b}
.flash.success{background:var(--success-soft);color:#166534}
.flash.warning{background:var(--warning-soft);color:#92400e}

.bar-row{margin:12px 0 16px}
.bar-label{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-weight:700
}
.bar-label span{color:var(--muted);font-weight:600}
.bar-bg{
  height:12px;
  background:#e5e7eb;
  border-radius:999px;
  overflow:hidden;
  margin-top:7px
}
.bar-fill{
  height:100%;
  background:linear-gradient(90deg,#2563eb,#22c55e);
  border-radius:999px
}

.notice{
  background:#fff7ed;
  border:1px solid #fed7aa;
  border-radius:16px;
  padding:12px 14px;
  margin-bottom:10px
}
.notice b{display:block;margin-bottom:4px}
.empty{color:var(--muted)}
.small-muted{font-size:12px;color:var(--muted)}
.hint{margin-top:0;color:var(--muted);font-size:13px;line-height:1.5}
.help-box{
  background:#f8fbff;
  border:1px dashed #bdd1ff;
  border-radius:16px;
  padding:12px 14px;
  color:#334155
}
.help-box code{background:#eef4ff;padding:2px 6px;border-radius:8px}
.orange{color:#b45309}
.danger-text{color:#991b1b;font-weight:700}

.panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:16px
}
.compact-panel{padding:16px}
.top-gap{margin-top:12px}

.matrix-scroll{
  overflow-x:auto;
  overflow-y:hidden;
  max-width:100%;
  position:relative;
  -webkit-overflow-scrolling:touch;
}

.assignments-matrix-panel{
  --assignments-current-head-height:74px;
}

.current-period-head{
  position:sticky;
  top:12px;
  z-index:40;
  padding:14px 16px;
  margin:-6px -6px 12px;
  border-radius:20px;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(10px);
  box-shadow:0 14px 30px rgba(15,23,42,.08);
  border:1px solid rgba(219,228,240,.9)
}

.assignments-matrix-sticky-head{
  position:sticky;
  top:calc(12px + var(--assignments-current-head-height) + 10px);
  z-index:35;
  margin:0 0 12px;
}

.assignments-matrix-sticky-head-scroll{
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
  border:1px solid rgba(219,228,240,.95);
  border-radius:18px;
  background:rgba(248,251,255,.98);
  box-shadow:0 12px 26px rgba(15,23,42,.06)
}

.assignments-matrix-sticky-head-scroll::-webkit-scrollbar{
  display:none;
}

.matrix-table{
  min-width:1400px;
  position:relative
}
.matrix-table th,.matrix-table td{vertical-align:top}
.matrix-head-table{
  border-spacing:0;
}
.matrix-head-table th{
  background:#f8fbff;
  box-shadow:inset 0 -1px 0 var(--line);
  padding:14px 10px;
}
.matrix-body-table{
  border-spacing:0 10px;
}
.sticky-col,
.sticky-col-2{
  position:sticky;
  background:#fff
}
.sticky-col{
  left:0;
  z-index:10
}
.sticky-col-2{
  left:260px;
  z-index:9
}
.sticky-org-col{
  min-width:260px;
  width:260px
}
.sticky-user-col{
  min-width:180px;
  width:180px
}
.matrix-table td.sticky-col,
.matrix-table td.sticky-col-2{
  box-shadow:1px 0 0 var(--line)
}
.matrix-head-table .sticky-col,
.matrix-head-table .sticky-col-2{
  background:#f8fbff
}
.matrix-head-table .sticky-col{z-index:14}
.matrix-head-table .sticky-col-2{z-index:13}
.matrix-head-table th:not(.sticky-org-col):not(.sticky-user-col),
.matrix-body-table td.cell-actions{
  min-width:220px;
  width:220px
}

.cell-actions{min-width:210px}
.cell-card{
  border:1px solid var(--line);
  border-radius:14px;
  padding:9px 10px;
  margin:6px 0;
  background:#f8fafc;
  display:flex;
  flex-direction:column;
  gap:6px;
  box-shadow:0 8px 16px rgba(15,23,42,.03)
}
.cell-card.submitted{background:#f0fdf4;border-color:#bbf7d0}
.cell-card.overdue{background:#fef2f2;border-color:#fecaca}
.cell-card.cancelled{background:#f3f4f6}

.quick-submit{
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap
}
.quick-submit input{
  min-width:115px;
  padding:8px 10px;
  border-radius:11px
}
.mini-form{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center
}
.mini-form input,
.mini-form select{
  width:auto;
  min-width:130px
}

.org-row .bar-label{font-size:13px}
.table-search{max-width:420px;margin-bottom:12px}
.form-grid.wide .check{min-height:52px}

.rule-editor{
  grid-column:1/-1;
  border:1px solid #dbeafe;
  background:linear-gradient(180deg,#f8fbff,#f2f7ff);
  border-radius:22px;
  padding:16px;
  margin-top:4px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)
}
.rule-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px
}
.rule-head h3{margin:0 0 4px;font-size:19px}
.rule-table{border-spacing:0 8px;margin:6px 0 12px}
.rule-table th{font-size:11px;padding:0 10px}
.rule-table td{
  padding:6px;
  background:#fff;
  border-top:1px solid #dbeafe;
  border-bottom:1px solid #dbeafe
}
.rule-table td:first-child{
  border-left:1px solid #dbeafe;
  border-radius:12px 0 0 12px
}
.rule-table td:last-child{
  border-right:1px solid #dbeafe;
  border-radius:0 12px 12px 0
}
.rule-table input{padding:9px;border-radius:10px}
.rule-preview{
  display:inline-block;
  background:#eef2ff;
  border:1px solid #c7d2fe;
  border-radius:12px;
  padding:8px 10px;
  font-size:13px;
  color:#312e81;
  margin:4px 0 8px
}
.rule-preview code{font-weight:700}
.badge-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}

.small-card{
  background:#f8fbff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px
}
.small-card h3{margin:0 0 6px;font-size:16px}

.list-clean{
  padding-left:18px;
  margin:8px 0;
  color:#475569
}
.list-clean li{margin:4px 0}

.pager{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:center;
  margin-top:14px
}
.pager .btn{
  min-width:110px
}
.pager .hint{
  margin:0 8px
}

.global-warning-toast{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9999;
  max-width:420px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#7c2d12;
  border-radius:18px;
  box-shadow:0 24px 60px rgba(15,23,42,.20);
  padding:14px 44px 14px 16px;
  display:grid;
  gap:6px
}
.global-warning-toast b{font-size:15px}
.global-warning-toast span{font-size:13px;line-height:1.45}
.global-warning-toast button{
  position:absolute;
  right:10px;
  top:10px;
  width:28px;
  height:28px;
  padding:0;
  border-radius:999px;
  background:#ffedd5;
  color:#9a3412
}

.dismiss-warning-form{
  margin-top:8px;
  display:flex;
  gap:8px
}
.global-warning-toast .dismiss-warning-form button{
  position:static;
  width:auto;
  height:auto;
  border-radius:12px;
  padding:7px 10px
}

.simple-login{
  max-width:480px;
  margin:0 auto;
  display:block
}
.simple-login .only-form{padding:36px}
.simple-login .only-form h2{margin-bottom:18px}

.quick-submit .btn.small.primary,
.mini-form .btn.small.primary{
  padding:7px 10px;
  font-size:12px;
  border-radius:10px
}

.matrix-table .cell-card small{display:block}
.table-scroll table tbody tr td small.small-muted{display:block;margin-top:4px}

@media(max-width:1200px){
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid-2{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .form-grid textarea,
  .form-grid .multi,
  .full-span{grid-column:1/-1}
  .sticky-col,
  .sticky-col-2{position:static}
  .current-period-head{position:static;margin:0 0 12px;padding:0;background:transparent;backdrop-filter:none;box-shadow:none;border:0}
  .assignments-matrix-sticky-head{position:static;top:auto}
  .sticky-col,
  .sticky-col-2{position:static}
}

@media(max-width:900px){
  .sidebar{
    position:static;
    width:auto;
    padding-bottom:12px
  }
  .content{
    margin-left:0;
    padding:16px
  }
  .topbar{display:block}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .login-card{grid-template-columns:1fr}
}

@media(max-width:640px){
  .cards{grid-template-columns:1fr}
  .page-head{display:block}
  .inline-filter{margin-top:12px}
  .panel,.card{padding:16px}
  .content{padding:12px}
  .topbar{padding:16px}
  .login-form-area,.login-cover{padding:28px}
  .table-scroll table{min-width:760px}
  .pager{justify-content:center}
}
.compact-panel{padding:16px 18px;border-radius:20px}
.compact-form{gap:10px}
.compact-form .field label{font-size:12px;margin-bottom:4px;display:block}
.compact-form input,.compact-form select,.compact-form textarea{padding:10px 12px;border-radius:12px}
.compact-form textarea{min-height:86px}
.compact-table th,.compact-table td{padding:8px 10px;font-size:13px;vertical-align:middle}
.compact-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.compact-cards .card{padding:14px 16px;border-radius:18px}
.compact-cards .card b{font-size:26px}
.compact-cards .card span{font-size:12px}
.compact-multi{max-height:280px;overflow:auto;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fbfdff}
.report-matrix-scroll{overflow:auto}
.report-matrix-table{min-width:1350px;border-collapse:separate;border-spacing:0}
.report-matrix-table th,.report-matrix-table td{border:1px solid #c9d2df;padding:7px 8px;text-align:center;white-space:nowrap}
.report-matrix-table thead th{background:#eef3fb;font-size:12px;position:sticky;top:0;z-index:2}
.report-matrix-table thead tr:first-child th{background:#e8d9c4}
.report-matrix-table td:nth-child(2),.report-matrix-table th:nth-child(2){text-align:left;min-width:280px;white-space:normal}
.report-matrix-table td:nth-child(3),.report-matrix-table td:nth-child(4),.report-matrix-table td:nth-child(5),.report-matrix-table td:nth-child(6),.report-matrix-table td:nth-child(7){min-width:110px}
.matrix-cell{font-weight:800;min-width:48px}
.matrix-summary-row th{font-weight:800}
.matrix-pending-row th{background:#fff2cc !important}
.matrix-submitted-row th{background:#d9ead3 !important}
.login-card{max-width:980px}
.simple-login{max-width:580px}
.table-scroll .table-search{margin:0 0 10px;width:260px;max-width:100%}
.badge.submitted{background:#16a34a;color:#fff}
.badge.pending{background:#f59e0b;color:#fff}
.badge.overdue{background:#dc2626;color:#fff}
.badge.cancelled{background:#94a3b8;color:#fff}
.inline-filter form{margin:0}
@media (max-width: 1280px){
  .compact-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 900px){
  .compact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .login-card{grid-template-columns:1fr}
  .login-cover{display:none}
}

.compact-panel .panel-head h2{font-size:18px;margin:0 0 4px}
.compact-panel .hint{font-size:12px;line-height:1.4}
.compact-panel .btn,.inline-filter .btn{padding:9px 12px;border-radius:12px}
.assignments-matrix-panel .current-period-head h2{font-size:20px}
.assignments-matrix-panel .status-pill{padding:8px 12px;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:700;font-size:12px}
.matrix-table .cell-card{padding:8px 9px;border-radius:14px;box-shadow:0 6px 18px rgba(15,23,42,.06)}
.matrix-table .cell-card .badge{margin:4px 0 2px;display:inline-flex}
.matrix-table .cell-actions{min-width:160px}
.quick-submit input,.mini-form input,.mini-form select{padding:8px 10px;border-radius:10px;font-size:12px}
.login-form-area h1,.login-form-area h2{font-size:28px}
.login-note{font-size:12px;line-height:1.45}
.report-matrix-table tbody td{font-size:12px}
.report-matrix-table tbody tr:nth-child(even) td{background-image:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.02))}


/* Assignment ajax + compact cards */
.assignment-card{background:#fff;border:1px solid #cfd8e6;border-radius:14px;padding:10px 10px 9px;box-shadow:0 4px 12px rgba(15,23,42,.06);display:grid;gap:8px;min-width:176px}
.assignment-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.assignment-meta-grid{display:grid;gap:4px}
.assignment-meta-grid small{display:block;line-height:1.3}
.assignment-action-stack{display:flex;gap:6px;flex-wrap:wrap}
.inline-mini-form{display:inline-flex}
.score-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:#eef4ff;border:1px solid #c8d8ff;color:#1d4ed8;font-size:11px;font-weight:800}
.badge.audit-check{background:#dbeafe;color:#1d4ed8}
.badge.na-badge{background:#dcfce7;color:#166534}
.audit-card.audit-checked{border-color:#93c5fd;box-shadow:0 0 0 1px rgba(59,130,246,.12),0 6px 18px rgba(59,130,246,.08)}
.audit-card.audit-bor{border-color:#86efac}
.audit-card.audit-yoq{border-color:#bbf7d0}
.cell-actions{min-width:190px}
.cell-actions .assignment-card{margin:3px auto}
.mini-form.js-assignment-action,.quick-submit.js-assignment-action{display:grid;gap:6px}
.mini-toast{position:fixed;right:18px;bottom:18px;z-index:9999;padding:12px 14px;border-radius:14px;background:#0f172a;color:#fff;box-shadow:0 18px 40px rgba(15,23,42,.25);opacity:0;transform:translateY(10px);transition:.18s ease;font-weight:700}
.mini-toast.ok{background:#166534}.mini-toast.err{background:#b91c1c}.mini-toast.show{opacity:1;transform:translateY(0)}

/* Reports matrix stronger look */
.report-matrix-scroll{overflow:auto;border:1px solid #cdd7e5;border-radius:18px;background:#fff}
.report-matrix-table{min-width:1700px;border-collapse:separate;border-spacing:0}
.report-matrix-table th,.report-matrix-table td{border:1px solid #b9c7d8;padding:8px 10px;text-align:center;white-space:nowrap}
.report-matrix-table thead th{background:#eef3fb;font-size:12px;position:sticky;top:0;z-index:3}
.report-matrix-table thead tr:first-child th{background:#ddcfb7}
.report-matrix-table tbody td{font-size:12px;background:#fff}
.report-matrix-table tbody tr:nth-child(even) td:not(.sticky-base){background:#fbfdff}
.report-matrix-table .matrix-cell{font-weight:800;min-width:82px}
.report-matrix-table .na-cell{font-size:11px}
.report-matrix-table .sticky-base{position:sticky;z-index:2;background:#f9fbff}
.report-matrix-table thead .sticky-base{z-index:6}
.report-matrix-table .sticky-rank{left:0;min-width:56px;width:56px}
.report-matrix-table .sticky-org{left:56px;min-width:250px;max-width:250px;text-align:left;white-space:normal}
.report-matrix-table .sticky-inn{left:306px;min-width:130px;width:130px}
.report-matrix-table .sticky-owner{left:436px;min-width:170px;max-width:170px;white-space:normal}
.report-matrix-table .sticky-auditor{left:606px;min-width:170px;max-width:170px;white-space:normal}
.matrix-summary-row th.sticky-base{background:#eef4d0}
.matrix-submitted-row th.sticky-base{background:#dcefd6}
.report-matrix-table .audit-cell.audit_checked{box-shadow:inset 0 0 0 1px rgba(29,78,216,.12)}
.report-matrix-table .audit-cell.audit_bor,.report-matrix-table .audit-cell.audit_yoq{box-shadow:inset 0 0 0 1px rgba(22,101,52,.10)}

@media (max-width: 1200px){
  .report-matrix-table .sticky-base{position:static}
  .report-matrix-table{min-width:1350px}
}
.inline-choice-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.assignment-action-stack > div{display:grid;gap:4px}
.audit-card.audit-issue{border-color:#f87171;box-shadow:0 0 0 1px rgba(248,113,113,.12),0 6px 18px rgba(248,113,113,.08)}
.audit-card.audit-done{border-color:#86efac;box-shadow:0 0 0 1px rgba(34,197,94,.12),0 6px 18px rgba(34,197,94,.08)}

/* Autokameral compact layout */
.audit-page-head{align-items:flex-start;gap:16px}
.audit-compact-filter{flex-wrap:wrap;justify-content:flex-end;gap:10px}
.audit-compact-filter select,.audit-compact-filter input{min-width:130px}
.audit-compact-shell{padding-bottom:18px}
.audit-stat-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.audit-compact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.audit-org-shell{border:1px solid #d7e2f3;border-radius:22px;padding:16px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 12px 34px rgba(37,99,235,.06)}
.audit-org-shell-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}
.audit-org-index{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#e9efff 0%,#dbeafe 100%);color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;flex:0 0 52px;box-shadow:inset 0 0 0 1px rgba(59,130,246,.14)}
.audit-org-title-wrap{min-width:0;display:flex;flex-direction:column;gap:6px}
.audit-org-title-wrap h3{margin:0;font-size:17px;line-height:1.3;color:#0f172a}
.audit-org-subline{display:flex;flex-wrap:wrap;gap:8px;color:#64748b;font-size:12px}
.audit-owner-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#eef4ff;color:#3156d3;font-size:12px;font-weight:700;width:max-content;max-width:100%}
.compact-audit-card{margin-top:0;padding:14px;border-radius:18px}
.compact-audit-card .assignment-card-head{margin-bottom:10px}
.compact-audit-card .badge{font-size:11px;padding:5px 10px}
.compact-audit-card .score-chip{font-size:11px;padding:5px 9px}
.compact-audit-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin-bottom:12px}
.compact-audit-meta small{padding:7px 10px;border-radius:12px;background:#f8fbff;border:1px solid #dbe7f6;font-size:12px;color:#334155}
.compact-audit-card .assignment-action-stack{gap:12px}
.compact-audit-card .assignment-action-stack > div{padding:10px 12px;border-radius:14px;background:#f8fbff;border:1px solid #dbe7f6}
.compact-audit-card .assignment-action-stack small{display:block;margin-bottom:7px;color:#0f172a}
.compact-audit-card .inline-choice-row{gap:8px;flex-wrap:wrap}
.compact-audit-card .inline-choice-row .mini-form{flex:1 1 0}
.compact-audit-card .inline-choice-row .btn{width:100%;justify-content:center}
.empty-state-box{padding:32px 18px;border-radius:20px;border:1px dashed #c9d6ea;background:#fbfdff;text-align:center;color:#475569}
@media (max-width: 1200px){.audit-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 760px){.audit-compact-grid{grid-template-columns:1fr}.compact-audit-meta{grid-template-columns:1fr}.audit-stat-pills{justify-content:flex-start}.audit-compact-filter{justify-content:flex-start}.audit-org-index{width:44px;height:44px;font-size:18px;flex-basis:44px}}


/* v10 role + organization level + stronger login */
.inline-level-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:center}
.inline-level-form select{min-width:180px}
.level-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#eef4ff;border:1px solid #d8e5ff;color:#3156d3;font-weight:700;font-size:12px}
.org-level-inline-form{margin-top:10px}
.org-level-inline-form select{min-width:280px}
.login-card-strong{max-width:1120px;grid-template-columns:1.1fr .9fr;border:1px solid rgba(255,255,255,.45)}
.login-cover-badge{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}
.login-cover h1{max-width:560px;line-height:1.05}
.login-hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 10px}
.login-hero-card{padding:16px 14px;border-radius:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.login-hero-card b{display:block;font-size:28px;line-height:1}
.login-hero-card span{display:block;margin-top:8px;color:#dbeafe;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.login-form-topline{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef4ff;color:#3156d3;font-size:12px;font-weight:800;margin-bottom:10px}
.login-form-grid{display:grid;gap:16px}
.login-submit{width:100%;padding:14px 18px;font-size:15px}
@media(max-width:900px){.login-hero-grid{grid-template-columns:1fr}.login-card-strong{grid-template-columns:1fr}}

/* v11 my organizations notes + stronger audit identity */
.my-org-table td{vertical-align:top}
.my-org-cell{display:grid;gap:8px;min-width:320px}
.my-org-title{font-size:15px;color:#0f172a}
.my-org-meta small{color:#64748b}
.top-gap-small{margin-top:4px}
.my-org-inline-editor{display:grid;grid-template-columns:minmax(210px,1fr) minmax(160px,1fr) minmax(160px,1fr) auto;gap:8px;align-items:center}
.my-org-inline-editor select,.my-org-inline-editor input{min-width:0}
.my-org-notes-preview{display:grid;gap:4px}
.org-meta-inline-form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:center}
.org-meta-inline-form input,.org-meta-inline-form select{min-width:0}

.audit-org-subline-strong{gap:10px;align-items:center}
.audit-inn-copy-wrap{position:relative;display:inline-flex;align-items:center;gap:8px}
.audit-inn-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#e8efff;border:1px solid #c9d8ff;color:#1d4ed8;font-size:14px;font-weight:900;letter-spacing:.02em}
.audit-bank-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#ecfdf5;border:1px solid #bbf7d0;color:#047857;font-size:14px;font-weight:900;letter-spacing:.02em}
.audit-copy-btn{border:none;border-radius:999px;padding:7px 10px;background:#0f172a;color:#fff;font-size:11px;font-weight:800;cursor:pointer;opacity:0;transform:translateY(2px);transition:.16s ease;pointer-events:none}
.audit-inn-copy-wrap:hover .audit-copy-btn,.audit-copy-btn:focus-visible,.audit-copy-btn.copied{opacity:1;transform:translateY(0);pointer-events:auto}
.audit-copy-btn.copied{background:#166534}

.assignment-org-extra{display:grid;gap:4px;margin-top:8px}
.assignment-org-extra small{display:block;color:#475569;line-height:1.35}
.assignment-org-extra b{color:#0f172a}
@media (max-width: 1080px){
  .my-org-inline-editor,.org-meta-inline-form{grid-template-columns:1fr}
}

.assignment-na-cell{display:inline-flex;align-items:center;justify-content:center;min-width:118px;padding:8px 12px;border-radius:999px;background:#dcfce7;border:1px solid #86efac;color:#166534;font-size:12px;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.report-type-schedule-box{background:linear-gradient(180deg,#f0fdf4,#ecfeff);border:1px solid #bbf7d0;color:#14532d}
.report-type-form [data-freq-section]{transition:.15s ease}
.report-type-form .field-frequency-common{transition:.15s ease}

/* 2026-05 muddat oynasi fix: hisobot davri va real topshirish muddati farqini UI da aniq ko'rsatish */
.due-window-note{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  margin:12px 0 16px;
  border:1px solid rgba(48,86,211,.16);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(231,238,255,.95),rgba(255,255,255,.86));
  color:#1e3a8a;
  box-shadow:0 12px 26px rgba(48,86,211,.08);
  font-size:14px;
  line-height:1.45;
}
.due-window-note:before{
  content:"⏱";
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#fff;
  box-shadow:0 6px 16px rgba(48,86,211,.12);
}
.due-window-note b{color:#0f172a}

.text-danger{color:var(--danger);font-weight:700}
.manual-digest-note{
  margin-top:10px;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--primary-soft),#fff);
  border:1px solid #cbdafc;
  color:#1e3a8a;
  font-weight:600
}


/* Superadmin hisobotlarni ko'p qator bilan boshqarish */
.bulk-action-bar{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:12px 0 14px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#f8fafc;
}
.bulk-action-bar input[name="ignored_note"]{min-width:260px;max-width:360px}
.bulk-select-label{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#334155}
.select-col{text-align:center;min-width:72px}
.select-col input{width:auto;transform:scale(1.08)}
.soft-warning-row{background:#fff7ed!important}
.soft-deleted-row{background:#f1f5f9!important;color:#64748b}
.soft-deleted-row td{opacity:.86}
.ignored-cell{box-shadow:inset 0 0 0 2px rgba(245,158,11,.28)}
.cancelled-cell{background:#e5e7eb!important;color:#475569!important}
.selectable-report-table tbody tr:hover{background:#eef6ff!important}


.bulk-action-bar .bulk-search-field{min-width:300px;max-width:420px;flex:1 1 300px;border:1px solid #bfdbfe;border-radius:14px;padding:10px 12px;background:#fff;box-shadow:0 8px 18px rgba(37,99,235,.08)}
.bulk-action-bar .bulk-note-field{min-width:220px;max-width:360px;flex:1 1 220px}
@media (max-width: 760px){.bulk-action-bar .bulk-search-field,.bulk-action-bar .bulk-note-field{min-width:100%;max-width:100%}}

/* Ichki chat */
.chat-page-head{align-items:center}
.chat-shell{
  display:grid;
  grid-template-columns:310px minmax(0,1fr);
  gap:16px;
  height:calc(100vh - 190px);
  min-height:560px;
}
.chat-list-panel,.chat-panel{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.chat-list-panel{padding:12px;display:flex;flex-direction:column;min-height:0}
.chat-users-title{font-weight:800;color:#334155;font-size:13px;margin:14px 8px 8px}
.chat-users-scroll{overflow:auto;display:grid;gap:6px;padding-right:3px}
.chat-target{
  width:100%;border:0;background:transparent;text-align:left;display:flex;gap:10px;align-items:center;
  padding:10px;border-radius:16px;cursor:pointer;color:var(--text);transition:.16s ease
}
.chat-target:hover,.chat-target.active{background:var(--primary-soft)}
.chat-target b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
.chat-target small{display:block;color:var(--muted);font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
.chat-avatar{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#e7eeff,#dbeafe);font-weight:900;color:#1e3a8a;flex:0 0 auto}
.chat-panel{display:flex;flex-direction:column;min-width:0;min-height:0}
.chat-header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fbff)}
.chat-header b{display:block;font-size:17px}.chat-header small{display:block;color:var(--muted);margin-top:3px}
.chat-messages{flex:1;overflow-y:auto;padding:18px;background:linear-gradient(180deg,#f8fbff,#eef3f9);scroll-behavior:smooth}
.chat-bubble{max-width:72%;background:#fff;border:1px solid var(--line);border-radius:20px 20px 20px 6px;padding:10px 12px;margin:0 0 10px;box-shadow:0 8px 18px rgba(15,23,42,.06)}
.chat-bubble.mine{margin-left:auto;background:var(--primary-soft);border-color:#cbdafc;border-radius:20px 20px 6px 20px}
.chat-meta{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:5px;color:#334155;font-size:12px}
.chat-meta span{color:var(--muted);font-size:11px;white-space:nowrap}
.chat-text{white-space:normal;word-break:break-word;line-height:1.45;font-size:14px}
.chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px;border-top:1px solid var(--line);background:#fff}
.chat-compose textarea{resize:none;min-height:48px;max-height:130px;border-radius:18px}
.chat-history-body{white-space:pre-wrap;min-width:280px}
.actions-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media (max-width:900px){.chat-shell{grid-template-columns:1fr;height:auto}.chat-list-panel{max-height:260px}.chat-panel{height:70vh}.chat-bubble{max-width:90%}}

/* Ichki chat: o'qilmagan xabar badge'lari */
.chat-target{position:relative;padding-right:42px}
.chat-unread-badge,.nav-badge{
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-style:normal;
  font-size:12px;
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 18px rgba(239,68,68,.25)
}
.chat-unread-badge{position:absolute;right:10px;top:50%;transform:translateY(-50%)}
.nav-link{position:relative}
.nav-badge{margin-left:auto;min-width:20px;height:20px;font-size:11px;padding:0 6px}
.chat-unread-badge[hidden],.nav-badge[hidden]{display:none!important}

/* Security patch: logout is POST+CSRF, styled like the old nav link. */
.nav-logout-form {
  margin: 0;
  padding: 0;
}
.nav-logout-btn {
  width: 100%;
  border: 0;
  cursor: pointer;
  font: inherit;
  text-align: left;
  background: transparent;
}

/* Assignments matrix: report row/column separators
   Maqsad: /kpi/assignments jadvalida tashkilot qatorlari va hisobot ustunlari aniq chiziq bilan ajralsin. */
.assignments-matrix-panel .matrix-head-table th{
  border-bottom:1px solid #cbd5e1;
}
.assignments-matrix-panel .matrix-head-table th + th{
  border-left:1px solid #e2e8f0;
}
.assignments-matrix-panel .matrix-body-table{
  border-collapse:separate;
  border-spacing:0 8px;
}
.assignments-matrix-panel .matrix-body-table tbody tr td{
  border-top:1px solid #dbe4f0;
  border-bottom:1px solid #dbe4f0;
  background:#fff;
}
.assignments-matrix-panel .matrix-body-table tbody tr td + td{
  border-left:1px solid #e2e8f0;
}
.assignments-matrix-panel .matrix-body-table tbody tr td:first-child{
  border-left:1px solid #dbe4f0;
  border-top-left-radius:14px;
  border-bottom-left-radius:14px;
}
.assignments-matrix-panel .matrix-body-table tbody tr td:last-child{
  border-right:1px solid #dbe4f0;
  border-top-right-radius:14px;
  border-bottom-right-radius:14px;
}
.assignments-matrix-panel .matrix-body-table tbody tr:nth-child(even) td{
  background:#fbfdff;
}
.assignments-matrix-panel .matrix-body-table tbody tr:hover td{
  background:#f6faff;
}
.assignments-matrix-panel .matrix-table td.sticky-col,
.assignments-matrix-panel .matrix-table td.sticky-col-2{
  box-shadow:1px 0 0 #dbe4f0;
}
.assignments-matrix-panel .matrix-body-table .sticky-org-col,
.assignments-matrix-panel .matrix-body-table .sticky-user-col{
  background:#fff;
}
.assignments-matrix-panel .matrix-body-table tbody tr:nth-child(even) .sticky-org-col,
.assignments-matrix-panel .matrix-body-table tbody tr:nth-child(even) .sticky-user-col{
  background:#fbfdff;
}
.assignments-matrix-panel .matrix-body-table tbody tr:hover .sticky-org-col,
.assignments-matrix-panel .matrix-body-table tbody tr:hover .sticky-user-col{
  background:#f6faff;
}
/* Assignments premium UX patch: compact mode, smart stats, grouped matrix, drawer, bulk actions. */
.assignment-main-filter{
  position:sticky;
  top:10px;
  z-index:45;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
  border:1px solid rgba(219,228,240,.95);
  box-shadow:0 12px 30px rgba(15,23,42,.08);
  border-radius:18px;
  padding:10px;
}
.assignment-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.assignment-head-actions .btn.active,.assignment-ux-toolbar .chip-toggle.active{box-shadow:inset 0 0 0 1px rgba(37,99,235,.28);background:#eff6ff;color:#1d4ed8}
.assignment-smart-strip{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;margin:6px 0 12px}
.smart-stat-card{display:grid;gap:3px;text-decoration:none;border:1px solid #dbe4f0;background:#fff;border-radius:18px;padding:12px 14px;box-shadow:0 10px 22px rgba(15,23,42,.06);color:#0f172a;min-height:92px}
.smart-stat-card span{font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.smart-stat-card b{font-size:26px;line-height:1;color:#0f172a}
.smart-stat-card small{font-size:11px;color:#64748b;line-height:1.3}
.smart-stat-card.success{border-color:#bbf7d0;background:linear-gradient(180deg,#f0fdf4,#fff)}
.smart-stat-card.warning{border-color:#fde68a;background:linear-gradient(180deg,#fffbeb,#fff)}
.smart-stat-card.danger{border-color:#fecaca;background:linear-gradient(180deg,#fef2f2,#fff)}
.smart-stat-card.purple{border-color:#ddd6fe;background:linear-gradient(180deg,#f5f3ff,#fff)}
.smart-stat-card.problem{border-color:#fed7aa;background:linear-gradient(180deg,#fff7ed,#fff)}
.assignment-ux-toolbar{position:sticky;top:calc(12px + var(--assignments-current-head-height) + 2px);z-index:34;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:rgba(248,251,255,.96);border:1px solid #dbe4f0;border-radius:18px;padding:10px;margin-bottom:10px;box-shadow:0 12px 26px rgba(15,23,42,.06);backdrop-filter:blur(10px)}
.assignment-live-search{flex:1;min-width:260px;border:1px solid #cbd5e1;border-radius:14px;padding:10px 12px;background:#fff;font-weight:650}
.assignment-group-toggles{display:flex;gap:6px;flex-wrap:wrap}
.chip-toggle{border:1px solid #dbe4f0;background:#fff;border-radius:999px;padding:8px 10px;font-weight:800;font-size:12px;cursor:pointer;color:#475569}
.inline-check.strong{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:#334155;font-size:12px;white-space:nowrap}
.premium-matrix-head .matrix-group-row th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:center;background:#eaf2ff;color:#1e3a8a;border-bottom:1px solid #cbd5e1}
.premium-matrix-head .matrix-group-cell.group-tolov{background:#fff7ed;color:#9a3412}
.premium-matrix-head .matrix-group-cell.group-tekshiruv{background:#f5f3ff;color:#5b21b6}
.premium-matrix-head .matrix-group-cell.group-inps{background:#ecfeff;color:#155e75}
.premium-matrix-head .matrix-group-cell.group-boshqa{background:#f8fafc;color:#334155}
.premium-matrix-head .matrix-report-row th span{display:inline-block;max-width:205px;white-space:normal;line-height:1.2;font-weight:900}
.matrix-org-title{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:3px}
.matrix-org-title b{line-height:1.25;color:#0f172a}
.matrix-row-percent{display:inline-flex;align-items:center;justify-content:center;min-width:44px;border-radius:999px;background:#eef2ff;color:#3730a3;padding:4px 7px;font-size:11px;font-weight:900}
.matrix-row-summary{font-size:12px;color:#334155;margin-top:6px;font-weight:750;line-height:1.35}
.matrix-progress{height:8px;border-radius:999px;background:#e5e7eb;overflow:hidden;margin:7px 0 6px;box-shadow:inset 0 1px 2px rgba(15,23,42,.12)}
.matrix-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e);transition:width .25s ease}
.matrix-mini-kpis{display:flex;gap:5px;flex-wrap:wrap}
.matrix-mini-kpis span{font-size:10px;border-radius:999px;padding:3px 6px;font-weight:900;border:1px solid transparent;background:#f8fafc;color:#475569}
.matrix-mini-kpis .ok{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.matrix-mini-kpis .wait{background:#f8fafc;color:#475569;border-color:#e2e8f0}.matrix-mini-kpis .risk{background:#fffbeb;color:#92400e;border-color:#fde68a}.matrix-mini-kpis .late{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.assignment-card{position:relative;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.assignment-card:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,23,42,.10)}
.assignment-card.risk-submitted{border-color:#bbf7d0;background:linear-gradient(180deg,#f7fff9,#fff)}
.assignment-card.risk-due_soon{border-color:#fde68a;background:linear-gradient(180deg,#fffbee,#fff)}
.assignment-card.risk-overdue{border-color:#fecaca;background:linear-gradient(180deg,#fff5f5,#fff)}
.assignment-card.risk-cancel_request{border-color:#ddd6fe;background:linear-gradient(180deg,#f8f5ff,#fff)}
.assignment-card.risk-ignored{border-color:#e2e8f0;background:linear-gradient(180deg,#f8fafc,#fff)}
.assignment-card-head{align-items:flex-start;flex-wrap:wrap}
.assignment-select-label{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;cursor:pointer}
.assignment-select-label input{width:14px;height:14px;accent-color:#2563eb}
.risk-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900;border:1px solid #dbe4f0;background:#fff;color:#334155;white-space:nowrap}
.risk-chip.risk-submitted{background:#dcfce7;color:#166534;border-color:#86efac}.risk-chip.risk-due_soon{background:#fef3c7;color:#92400e;border-color:#fcd34d}.risk-chip.risk-overdue{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.risk-chip.risk-cancel_request{background:#ede9fe;color:#5b21b6;border-color:#c4b5fd}.risk-chip.risk-ignored{background:#f1f5f9;color:#475569;border-color:#cbd5e1}
.assignment-detail-btn{margin-left:auto;width:24px;height:24px;border-radius:9px;border:1px solid #dbe4f0;background:#fff;cursor:pointer;font-weight:900;color:#475569;line-height:1}
.assignment-detail-btn:hover{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.assignment-na-cell.compact-na{min-width:32px;width:32px;height:26px;padding:0;background:#f1f5f9;border-color:#dbe4f0;color:#94a3b8;box-shadow:none}
.assignments-compact-mode .matrix-head-table th:not(.sticky-org-col):not(.sticky-user-col),.assignments-compact-mode .matrix-body-table td.cell-actions{min-width:148px;width:148px}
.assignments-compact-mode .assignment-card{min-width:126px;padding:7px;border-radius:12px;gap:5px}
.assignments-compact-mode .assignment-meta-grid small:not(:first-child),.assignments-compact-mode .score-chip{display:none}
.assignments-compact-mode .assignment-card details,.assignments-compact-mode .assignment-card .mini-form,.assignments-compact-mode .assignment-action-stack{display:none}
.assignments-compact-mode .assignment-card:hover details,.assignments-compact-mode .assignment-card:hover .mini-form,.assignments-compact-mode .assignment-card:hover .assignment-action-stack{display:grid}
.assignments-compact-mode .risk-chip{font-size:9px;padding:3px 5px}.assignments-compact-mode .badge{font-size:10px;padding:4px 6px}.assignments-compact-mode .assignment-detail-btn{width:22px;height:22px}.assignments-compact-mode .matrix-mini-kpis{display:none}
.assignments-cozy-mode .matrix-head-table th:not(.sticky-org-col):not(.sticky-user-col),.assignments-cozy-mode .matrix-body-table td.cell-actions{min-width:260px;width:260px}.assignments-cozy-mode .assignment-card{min-width:210px;padding:12px}
.assignment-bulk-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(130%);z-index:80;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#0f172a;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:10px 12px;box-shadow:0 18px 44px rgba(15,23,42,.28);transition:transform .18s ease;max-width:min(940px,calc(100vw - 24px))}
.assignment-bulk-bar.has-selection{transform:translateX(-50%) translateY(0)}
.assignment-bulk-bar select,.assignment-bulk-bar input{border:1px solid rgba(255,255,255,.18);background:#fff;color:#0f172a;border-radius:12px;padding:8px 10px;font-weight:700}.assignment-bulk-bar .btn{white-space:nowrap}.assignment-bulk-bar b{font-size:18px}
.assignment-drawer-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.28);z-index:88;backdrop-filter:blur(2px)}
.assignment-detail-drawer{position:fixed;top:0;right:0;width:min(440px,96vw);height:100vh;background:#fff;z-index:90;transform:translateX(105%);transition:transform .2s ease;box-shadow:-24px 0 54px rgba(15,23,42,.22);display:flex;flex-direction:column;border-left:1px solid #dbe4f0}
.assignment-detail-drawer.open{transform:translateX(0)}
.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#f8fbff,#fff)}
.drawer-head h3{margin:4px 0 0;font-size:20px;line-height:1.25}.drawer-eyebrow{display:inline-flex;border-radius:999px;padding:5px 9px;background:#eef2ff;color:#3730a3;font-weight:900;font-size:12px}.drawer-close{width:34px;height:34px;border-radius:12px;border:1px solid #dbe4f0;background:#fff;font-size:22px;cursor:pointer;color:#334155}
.drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;overflow:auto}.drawer-grid>div{border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;padding:11px}.drawer-grid .full{grid-column:1/-1}.drawer-grid small{display:block;color:#64748b;font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.04em;margin-bottom:5px}.drawer-grid b{display:block;color:#0f172a;line-height:1.35}.drawer-grid p{margin:0;color:#334155;white-space:pre-wrap}.drawer-grid pre{margin:0;white-space:pre-wrap;font-family:inherit;color:#334155;line-height:1.45;max-height:240px;overflow:auto}
@media (max-width: 1450px){.assignment-smart-strip{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media (max-width: 900px){.assignment-smart-strip{grid-template-columns:1fr 1fr}.assignment-ux-toolbar{position:static}.assignment-main-filter{position:static}.drawer-grid{grid-template-columns:1fr}.assignment-bulk-bar{left:12px;right:12px;transform:translateY(130%);max-width:none}.assignment-bulk-bar.has-selection{transform:translateY(0)}}
.assignments-matrix-panel .assignments-matrix-sticky-head{top:calc(12px + var(--assignments-current-head-height) + var(--assignment-ux-toolbar-height, 56px) + 18px)}

/* ===================== KPI score center premium patch ===================== */
.score-page-head{align-items:flex-start;gap:18px}
.score-filter select{min-width:190px}
.score-actions{align-items:center;gap:8px;flex-wrap:wrap}
.inline-post-form{display:inline-flex;margin:0}
.score-leaderboard{border-color:#c7d2fe;background:linear-gradient(180deg,#fbfdff,#fff)}
.score-table{border-collapse:separate;border-spacing:0;width:100%}
.score-table th{position:sticky;top:0;z-index:2;background:#f8fbff;color:#334155;font-size:12px;text-transform:uppercase;letter-spacing:.035em;border-bottom:1px solid #dbe4f0}
.score-table td,.score-table th{padding:10px 11px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;vertical-align:top}
.score-table td:last-child,.score-table th:last-child{border-right:0}
.score-rank-row.excellent td{background:#f0fdf4}.score-rank-row.has-penalty td,.score-detail-table tr.has-penalty td{background:#fff7ed}.score-detail-table tr.has-bonus td{background:#f8fff9}
.score-table .pos,.pos{color:#15803d;font-weight:900}.score-table .neg,.neg{color:#b91c1c;font-weight:900}.basis-cell{min-width:260px;color:#475569;font-size:12px;line-height:1.35}
.mini-progress{height:7px;background:#e5e7eb;border-radius:999px;margin-top:6px;min-width:84px;overflow:hidden}.mini-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e)}
.score-cards .card small{display:block;color:#64748b;font-size:12px;line-height:1.35;margin-top:5px;font-weight:700}.score-cards .card b{font-size:28px}.score-cards .card{min-height:112px}
.score-explain-panel{border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff,#fff)}
.score-explain-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px}.score-explain-grid>div{border:1px solid #dbe4f0;border-radius:16px;background:#fff;padding:13px;box-shadow:0 8px 18px rgba(15,23,42,.04)}.score-explain-grid .wide{grid-column:span 2}.score-explain-grid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:900;color:#64748b;margin-bottom:5px}.score-explain-grid b{display:block;color:#0f172a;line-height:1.35}
.score-detail-table td:nth-child(13){min-width:260px;color:#475569}.score-detail-table td:nth-child(3),.score-detail-table td:nth-child(4){min-width:190px}.score-detail-table td:nth-child(9){min-width:145px}
.badge.muted{background:#f1f5f9;color:#64748b;border-color:#cbd5e1}.badge.bonus{background:#dcfce7;color:#166534;border-color:#86efac}.badge.jarima{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.badge.etiborsiz,.badge.e-tiborsiz{background:#f1f5f9;color:#475569;border-color:#cbd5e1}
@media (max-width:1200px){.score-explain-grid{grid-template-columns:1fr 1fr}.score-explain-grid .wide{grid-column:1/-1}.score-table th{position:static}}
@media (max-width:760px){.score-explain-grid{grid-template-columns:1fr}.score-actions .btn,.score-actions form,.score-actions button{width:100%}.inline-post-form{display:flex}.score-filter{width:100%}.score-filter input,.score-filter select,.score-filter button,.score-filter a{width:100%}}

/* ===================== Stability, accessibility and modern UX hardening ===================== */
.skip-link{
  position:fixed;
  left:16px;
  top:12px;
  z-index:9999;
  transform:translateY(-140%);
  background:#0f172a;
  color:#fff;
  padding:10px 14px;
  border-radius:12px;
  box-shadow:0 14px 34px rgba(15,23,42,.25);
  font-weight:800;
}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid #7aa2ff;outline-offset:3px;border-radius:10px}
.nav-menu{display:grid;gap:2px}.nav-logout-form{margin:0}.nav-logout-btn{width:100%;border:0;text-align:left;font:inherit;cursor:pointer;background:transparent}
.table-scroll{border-radius:18px;border:1px solid var(--line);background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.table-search{position:sticky;top:0;z-index:4;width:min(420px,100%);margin:0 0 10px;padding:11px 13px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;font-weight:700;color:#0f172a;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.table-search::placeholder{color:#94a3b8}.compact-table input[type="checkbox"]{accent-color:#3056d3;min-width:16px;min-height:16px}.compact-form .field small,.compact-multi small{line-height:1.4}.panel.compact-panel{overflow:hidden}
button:disabled,.btn:disabled{opacity:.62;cursor:not-allowed;transform:none!important}.mini-toast{will-change:transform,opacity}.global-warning-toast{box-shadow:0 24px 60px rgba(185,28,28,.22)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.nav-link:hover,.assignment-card:hover{transform:none!important}}
@media (max-width: 760px){.skip-link{left:10px;top:8px}.content{padding:14px}.topbar{align-items:flex-start}.table-search{position:static}.nav-link{min-height:44px}}

/* ===================== Premium reliability/design upgrade — June 2026 ===================== */
:root{
  --premium-ink:#071225;
  --premium-blue:#2445c7;
  --premium-blue-2:#4f7bff;
  --premium-ring:rgba(79,123,255,.22);
  --premium-glass:rgba(255,255,255,.78);
}
body{
  background:
    radial-gradient(circle at 12% -8%,rgba(79,123,255,.16),transparent 34%),
    radial-gradient(circle at 86% 0%,rgba(124,58,237,.12),transparent 30%),
    linear-gradient(180deg,#f8fbff 0%,#eef3f9 52%,#e9eff8 100%);
}
.content,.login-content{position:relative}.content::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.22),transparent 44%,rgba(255,255,255,.14));z-index:-1}
.sidebar{background:linear-gradient(180deg,#071225 0%,#0b1740 44%,#0d2b5a 100%);box-shadow:18px 0 48px rgba(7,18,37,.24)}
.brand-mark,.avatar{box-shadow:0 16px 34px rgba(79,123,255,.34),inset 0 1px 0 rgba(255,255,255,.28)}
.nav-link{position:relative;isolation:isolate}.nav-link::after{content:"";position:absolute;inset:0;border-radius:14px;background:linear-gradient(90deg,rgba(255,255,255,.12),transparent);opacity:0;transition:opacity .18s ease;z-index:-1}.nav-link:hover::after,.nav-link.active::after{opacity:1}
.topbar,.panel,.card,.auth-card,.assignment-card,.table-scroll{backdrop-filter:blur(14px);box-shadow:0 18px 48px rgba(15,23,42,.075),inset 0 1px 0 rgba(255,255,255,.72)}
.panel,.card,.assignment-card{border-color:rgba(203,213,225,.78)}
.panel-head h2,.page-head h1{letter-spacing:-.035em}.page-head p,.hint{line-height:1.55}
.btn,button,input,select,textarea{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}.btn:hover,button:hover{transform:translateY(-1px)}
input:focus,select:focus,textarea:focus{border-color:var(--premium-blue-2)!important;box-shadow:0 0 0 4px var(--premium-ring)!important;outline:0}
.btn.primary,.primary{box-shadow:0 12px 26px rgba(48,86,211,.22)}.btn.danger,.danger-btn{box-shadow:0 12px 26px rgba(220,38,38,.16)}.success-btn{box-shadow:0 12px 24px rgba(22,163,74,.14)}
table{border-collapse:separate;border-spacing:0}thead th{background:linear-gradient(180deg,#f8fbff,#eef4ff)!important;color:#25324a}tbody tr:hover td{background:#f8fbff}
.badge.return-request,.badge.return_requested,.badge.return-requested,.risk-chip.risk-return_request{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.assignment-card.risk-return_request{border-color:#fed7aa;background:linear-gradient(180deg,#fff7ed,#fff)}
.return-request-note,.return-request-hold{display:block;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:13px;padding:8px 10px;font-weight:800;line-height:1.35}
.return-request-form input{border-color:#fed7aa;background:#fffaf4}.task-return-request-row td{background:#fff7ed!important}.task-return-request-row:hover td{background:#ffedd5!important}
.score-formula-premium{border:1px solid #bfdbfe;background:linear-gradient(135deg,#eff6ff,#ffffff);box-shadow:0 16px 34px rgba(37,99,235,.08)}
.score-cards .card{position:relative;overflow:hidden}.score-cards .card::after{content:"";position:absolute;right:-34px;top:-34px;width:112px;height:112px;border-radius:999px;background:rgba(255,255,255,.28)}
.global-warning-toast{border:1px solid rgba(220,38,38,.22);backdrop-filter:blur(14px)}
.flash{box-shadow:0 12px 30px rgba(15,23,42,.08)}
@media (max-width: 900px){.sidebar{box-shadow:none}.btn:hover,button:hover{transform:none}.topbar,.panel,.card,.assignment-card,.table-scroll{backdrop-filter:none}}

.premium-readonly-note{
  margin-top:12px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(37,99,235,.18);
  background:linear-gradient(135deg, rgba(37,99,235,.08), rgba(14,165,233,.08));
  color:#16406b;
  font-weight:700;
}
.premium-form textarea::placeholder{ color:#7f93ae; }


/* ===================== Premium chat + return request center ===================== */
.chat-shell{border:1px solid rgba(148,163,184,.34);box-shadow:0 26px 70px rgba(15,23,42,.12);background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(238,246,255,.72))}
.chat-list-panel,.chat-panel{border-color:rgba(148,163,184,.28);box-shadow:0 18px 44px rgba(15,23,42,.08)}
.chat-target{border:1px solid transparent;background:rgba(255,255,255,.72);box-shadow:0 8px 20px rgba(15,23,42,.035)}
.chat-target:hover,.chat-target.active{background:linear-gradient(135deg,#eef5ff,#ffffff);border-color:#bfdbfe;transform:translateY(-1px)}
.chat-avatar{box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 10px 22px rgba(37,99,235,.16)}
.chat-header{background:linear-gradient(135deg,#ffffff,#eef6ff);border-bottom-color:#dbeafe}
.chat-messages{background:radial-gradient(circle at top left,#ffffff 0,#f3f7fd 42%,#eaf1fb 100%)}
.chat-bubble{position:relative;border-color:rgba(148,163,184,.34);box-shadow:0 14px 28px rgba(15,23,42,.07)}
.chat-bubble.mine{background:linear-gradient(135deg,#eaf2ff,#f7fbff);border-color:#bfdbfe}
.chat-compose{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);align-items:end}
.chat-compose textarea{min-height:54px;max-height:170px;line-height:1.45;padding:14px 16px;background:#fbfdff;border:1px solid #cbd5e1}
.chat-send-btn{height:48px;padding-inline:20px;border-radius:16px}
.chat-compose-help{grid-column:1/-1;margin:-6px 16px 12px;color:#64748b;font-size:12px}

.return-center-head{align-items:flex-start}.return-period-actions{display:flex;gap:8px;flex-wrap:wrap}.return-stats-grid{margin-bottom:14px}.return-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;margin-bottom:14px}.return-filter label{font-weight:800;color:#334155;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.return-filter input,.return-filter select{width:100%}.return-center-card{padding:0;overflow:hidden;border:1px solid rgba(148,163,184,.32);box-shadow:0 26px 60px rgba(15,23,42,.10)}
.return-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px;background:linear-gradient(135deg,#ffffff,#eef6ff);border-bottom:1px solid #dbeafe}.return-toolbar .table-search{flex:1;min-width:260px;margin:0}.return-bulk-panel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0;padding:12px 14px;border:1px solid #bfdbfe;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#ffffff);box-shadow:0 14px 30px rgba(37,99,235,.08)}.return-bulk-panel>div{display:flex;align-items:baseline;gap:6px;color:#334155}.return-bulk-panel b{font-size:24px;color:#1d4ed8}.return-bulk-panel input{min-width:260px;flex:1}.return-table-wrap{max-height:calc(100vh - 330px);overflow:auto}.return-table{width:100%;border-collapse:separate;border-spacing:0}.return-table th{position:sticky;top:0;z-index:2;background:#0f1f46;color:#fff;text-align:left;padding:12px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.return-table td{vertical-align:top;padding:12px;border-bottom:1px solid #e2e8f0;background:rgba(255,255,255,.9)}.return-table tr:hover td{background:#f8fbff}.return-table td small,.return-table td em,.return-table td span{display:block}.return-table td em{color:#64748b;font-style:normal;margin-top:3px}.return-reason{padding:10px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:700;max-width:340px}.return-decision-form{display:grid;gap:8px;min-width:240px}.return-decision-form input{width:100%}.return-decision-buttons{display:flex;gap:8px;flex-wrap:wrap}.premium-empty{padding:42px;font-size:16px}.return-badge{background:#f97316!important;color:#fff!important}
@media (max-width:1000px){.return-filter{grid-template-columns:1fr 1fr}.return-table{min-width:980px}.return-table-wrap{max-height:none}.return-bulk-panel input{min-width:100%}}
@media (max-width:700px){.return-filter{grid-template-columns:1fr}.chat-compose{grid-template-columns:1fr}.chat-send-btn{width:100%}.chat-compose-help{margin:0 14px 12px}.return-period-actions{width:100%}}

/* ===================== Assignments matrix keyboard navigation patch ===================== */
.assignments-matrix-panel .matrix-keyboard-hint{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#ffffff;
  color:#334155;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.assignments-matrix-panel .matrix-keyboard-hint:before{
  content:"⌨";
  color:#1d4ed8;
  font-weight:900;
}
.assignments-matrix-panel [data-matrix-cell]{
  position:relative;
  scroll-margin-top:calc(12px + var(--assignments-current-head-height, 74px) + var(--assignment-ux-toolbar-height, 56px) + 96px);
  cursor:cell;
}
.assignments-matrix-panel [data-matrix-cell]:focus{
  outline:0;
}
.assignments-matrix-panel .matrix-body-table tbody tr.matrix-row-active td{
  background:#f1f7ff;
}
.assignments-matrix-panel .matrix-body-table tbody tr.matrix-row-active .sticky-org-col,
.assignments-matrix-panel .matrix-body-table tbody tr.matrix-row-active .sticky-user-col{
  background:#f1f7ff;
}
.assignments-matrix-panel [data-matrix-cell].matrix-cell-active{
  background:#eaf3ff!important;
  box-shadow:inset 0 0 0 3px rgba(37,99,235,.34), 0 0 0 2px rgba(255,255,255,.9);
  z-index:20;
}
.assignments-matrix-panel [data-matrix-cell].matrix-cell-active:after{
  content:"";
  position:absolute;
  inset:3px;
  border:1px dashed rgba(29,78,216,.55);
  border-radius:11px;
  pointer-events:none;
}
.assignments-matrix-panel .sticky-col.matrix-cell-active,
.assignments-matrix-panel .sticky-col-2.matrix-cell-active{
  z-index:25;
}
.assignments-matrix-panel .assignment-ux-toolbar{
  row-gap:8px;
}
@media (max-width: 900px){
  .assignments-matrix-panel .matrix-keyboard-hint{white-space:normal;width:100%;justify-content:center}
}

/* ===================== Assignments XLSX kichik ko'rinish ===================== */
.assignments-matrix-panel.assignments-xlsx-mode{
  padding:12px;
  border-radius:12px;
}
.assignments-matrix-panel.assignments-xlsx-mode .current-period-head{
  padding:10px 12px;
  border-radius:12px;
  margin:-2px -2px 8px;
  box-shadow:none;
}
.assignments-matrix-panel.assignments-xlsx-mode .current-period-head h2{font-size:17px}
.assignments-matrix-panel.assignments-xlsx-mode .hint{font-size:11px;line-height:1.35}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-smart-strip{display:none}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-head-actions{gap:5px}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-head-actions .btn,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-head-actions .status-pill{
  padding:5px 8px;
  border-radius:8px;
  font-size:11px;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-ux-toolbar{
  top:calc(8px + var(--assignments-current-head-height) + 2px);
  gap:6px;
  padding:6px;
  margin-bottom:6px;
  border-radius:8px;
  box-shadow:none;
  background:#f8fafc;
  border-color:#cbd5e1;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-live-search{
  min-width:230px;
  min-height:30px;
  padding:5px 8px;
  border-radius:5px;
  font-size:11px;
  font-weight:650;
}
.assignments-matrix-panel.assignments-xlsx-mode .chip-toggle,
.assignments-matrix-panel.assignments-xlsx-mode .inline-check.strong,
.assignments-matrix-panel.assignments-xlsx-mode .matrix-keyboard-hint{
  padding:5px 7px;
  border-radius:6px;
  font-size:10.5px;
  box-shadow:none;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignments-matrix-sticky-head{
  margin-bottom:0;
  top:calc(8px + var(--assignments-current-head-height) + var(--assignment-ux-toolbar-height, 42px) + 8px);
}
.assignments-matrix-panel.assignments-xlsx-mode .assignments-matrix-sticky-head-scroll,
.assignments-matrix-panel.assignments-xlsx-mode .matrix-scroll{
  border:1px solid #c8d0dc;
  border-radius:4px;
  box-shadow:none;
  background:#fff;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-scroll{
  overflow:auto;
  max-height:calc(100vh - 285px);
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-table{
  min-width:max-content;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-body-table{border-spacing:0}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-head-table th,
.assignments-matrix-panel.assignments-xlsx-mode .matrix-body-table td{
  border-right:1px solid #d8dee9;
  border-bottom:1px solid #d8dee9;
  border-top:0;
  border-radius:0!important;
  padding:4px 5px;
  font-size:11px;
  line-height:1.2;
  vertical-align:middle;
  box-shadow:none!important;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-head-table th{
  background:#eef3fb;
  color:#334155;
  letter-spacing:0;
  text-transform:none;
  font-weight:800;
  text-align:left;
}
.assignments-matrix-panel.assignments-xlsx-mode .premium-matrix-head .matrix-group-row th{
  text-align:center;
  font-size:10.5px;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.assignments-matrix-panel.assignments-xlsx-mode .premium-matrix-head .matrix-report-row th span{
  max-width:118px;
  font-size:10.5px;
  line-height:1.15;
}
.assignments-matrix-panel.assignments-xlsx-mode .premium-matrix-head .matrix-report-row th small{
  display:block;
  font-size:9px;
  line-height:1.1;
  color:#64748b;
}
.assignments-matrix-panel.assignments-xlsx-mode .sticky-col,
.assignments-matrix-panel.assignments-xlsx-mode .sticky-col-2{
  background:#fff;
}
.assignments-matrix-panel.assignments-xlsx-mode .sticky-org-col{
  min-width:210px;
  width:210px;
  max-width:210px;
}
.assignments-matrix-panel.assignments-xlsx-mode .sticky-user-col{
  min-width:120px;
  width:120px;
  max-width:120px;
  white-space:normal;
}
.assignments-matrix-panel.assignments-xlsx-mode .sticky-col-2{left:210px}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-head-table th:not(.sticky-org-col):not(.sticky-user-col),
.assignments-matrix-panel.assignments-xlsx-mode .matrix-body-table td.cell-actions{
  min-width:126px;
  width:126px;
  max-width:126px;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-org-title{
  gap:4px;
  align-items:flex-start;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-org-title b{
  font-size:11px;
  line-height:1.15;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-row-percent{
  padding:2px 5px;
  font-size:9px;
  border-radius:999px;
}
.assignments-matrix-panel.assignments-xlsx-mode .sticky-org-col small,
.assignments-matrix-panel.assignments-xlsx-mode .matrix-row-summary{
  font-size:10px;
  line-height:1.15;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-progress,
.assignments-matrix-panel.assignments-xlsx-mode .matrix-mini-kpis{
  display:none;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-org-extra{
  margin-top:3px;
  gap:2px;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-org-extra small,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-org-extra span{
  font-size:9.5px!important;
  line-height:1.15;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card{
  min-width:0;
  width:100%;
  margin:0;
  padding:3px 4px;
  border-radius:3px;
  gap:2px;
  box-shadow:none;
  border-color:#b9c7d8;
  background:#fff;
  transform:none!important;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card.risk-submitted{background:#f0fdf4}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card.risk-due_soon{background:#fffbea}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card.risk-overdue{background:#fff1f2}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card.risk-cancel_request,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card.risk-return_request{background:#fff7ed}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card-head{
  gap:3px;
  align-items:center;
  flex-wrap:wrap;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-select-label input{
  min-width:12px;
  min-height:12px;
}
.assignments-matrix-panel.assignments-xlsx-mode .badge,
.assignments-matrix-panel.assignments-xlsx-mode .risk-chip,
.assignments-matrix-panel.assignments-xlsx-mode .score-chip{
  min-width:0;
  padding:2px 5px;
  border-radius:5px;
  font-size:9px;
  line-height:1.1;
}
.assignments-matrix-panel.assignments-xlsx-mode .score-chip{display:none}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-detail-btn{
  width:18px;
  height:18px;
  min-width:18px;
  border-radius:5px;
  font-size:12px;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-meta-grid{
  gap:1px;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-meta-grid small{
  font-size:9.5px;
  line-height:1.15;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-na-cell.compact-na{
  min-width:20px;
  width:20px;
  height:18px;
  border-radius:4px;
  font-size:10px;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card details,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card .mini-form,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card .assignment-action-stack{
  display:none;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card:hover details,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card:focus-within details{display:block}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card:hover .mini-form,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card:focus-within .mini-form,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card:hover .assignment-action-stack,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card:focus-within .assignment-action-stack{
  display:flex;
  gap:4px;
}
.assignments-matrix-panel.assignments-xlsx-mode .mini-form input,
.assignments-matrix-panel.assignments-xlsx-mode .mini-form select{
  min-width:86px;
  padding:4px 5px;
  border-radius:4px;
  font-size:10px;
}
.assignments-matrix-panel.assignments-xlsx-mode .mini-form .btn,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-action-stack .btn,
.assignments-matrix-panel.assignments-xlsx-mode details summary.btn{
  padding:4px 6px;
  border-radius:5px;
  font-size:10px;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-body-table tbody tr.matrix-row-active td,
.assignments-matrix-panel.assignments-xlsx-mode .matrix-body-table tbody tr.matrix-row-active .sticky-org-col,
.assignments-matrix-panel.assignments-xlsx-mode .matrix-body-table tbody tr.matrix-row-active .sticky-user-col{
  background:#eef6ff;
}
.assignments-matrix-panel.assignments-xlsx-mode [data-matrix-cell].matrix-cell-active{
  background:#e7f0ff!important;
  box-shadow:inset 0 0 0 2px rgba(37,99,235,.52)!important;
}
.assignments-matrix-panel.assignments-xlsx-mode [data-matrix-cell].matrix-cell-active:after{
  inset:1px;
  border-radius:2px;
}
@media (max-width: 900px){
  .assignments-matrix-panel.assignments-xlsx-mode .matrix-scroll{max-height:none}
  .assignments-matrix-panel.assignments-xlsx-mode .assignment-live-search{min-width:100%}
}

/* ===================== Assignments matrix geometry hardening v4 =====================
   Header va body alohida table bo'lgani uchun barcha rejimda bitta geometrik model ishlatiladi.
   JS --matrix-table-width ni ko'rinib turgan ustunlar soniga qarab hisoblaydi. */
.assignments-matrix-panel{
  --matrix-org-width:260px;
  --matrix-user-width:180px;
  --matrix-report-width:220px;
  --matrix-table-width:1400px;
}
.assignments-matrix-panel.assignments-compact-mode{
  --matrix-org-width:224px;
  --matrix-user-width:148px;
  --matrix-report-width:154px;
}
.assignments-matrix-panel.assignments-cozy-mode{
  --matrix-org-width:300px;
  --matrix-user-width:196px;
  --matrix-report-width:260px;
}
.assignments-matrix-panel.assignments-xlsx-mode{
  --matrix-org-width:208px;
  --matrix-user-width:122px;
  --matrix-report-width:132px;
}
.assignments-matrix-panel .matrix-table{
  width:var(--matrix-table-width)!important;
  min-width:var(--matrix-table-width)!important;
  max-width:none!important;
  table-layout:fixed!important;
}
.assignments-matrix-panel .matrix-table col.matrix-col-org{width:var(--matrix-org-width)!important}
.assignments-matrix-panel .matrix-table col.matrix-col-user{width:var(--matrix-user-width)!important}
.assignments-matrix-panel .matrix-table col.matrix-col-report{width:var(--matrix-report-width)!important}
.assignments-matrix-panel .matrix-table col[hidden]{
  display:none!important;
  visibility:collapse!important;
  width:0!important;
}
.assignments-matrix-panel .matrix-head-table .sticky-org-col,
.assignments-matrix-panel .matrix-body-table .sticky-org-col{
  width:var(--matrix-org-width)!important;
  min-width:var(--matrix-org-width)!important;
  max-width:var(--matrix-org-width)!important;
}
.assignments-matrix-panel .matrix-head-table .sticky-user-col,
.assignments-matrix-panel .matrix-body-table .sticky-user-col{
  width:var(--matrix-user-width)!important;
  min-width:var(--matrix-user-width)!important;
  max-width:var(--matrix-user-width)!important;
}
.assignments-matrix-panel .sticky-col-2{left:var(--matrix-org-width)!important}
.assignments-matrix-panel .matrix-head-table .matrix-report-row th,
.assignments-matrix-panel .matrix-body-table td.matrix-report-cell{
  width:var(--matrix-report-width)!important;
  min-width:var(--matrix-report-width)!important;
  max-width:var(--matrix-report-width)!important;
}
.assignments-matrix-panel .matrix-head-table .matrix-group-cell{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.assignments-matrix-panel .assignments-matrix-sticky-head-scroll,
.assignments-matrix-panel .matrix-scroll{
  width:100%;
  max-width:100%;
}
.assignments-matrix-panel .matrix-scroll{
  overflow:auto;
  overscroll-behavior:contain;
}
.assignments-matrix-panel .matrix-head-table th,
.assignments-matrix-panel .matrix-body-table td{
  min-width:0;
  overflow:hidden;
}
.assignments-matrix-panel .matrix-head-table .matrix-report-row th,
.assignments-matrix-panel .matrix-body-table td.matrix-report-cell,
.assignments-matrix-panel .matrix-body-table td.sticky-org-col,
.assignments-matrix-panel .matrix-body-table td.sticky-user-col{
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.assignments-matrix-panel .premium-matrix-head .matrix-report-row th span{
  display:-webkit-box;
  width:100%;
  max-width:100%!important;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:break-word;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
}
.assignments-matrix-panel .premium-matrix-head .matrix-report-row th small{
  display:-webkit-box;
  width:100%;
  max-width:100%;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:break-word;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.assignments-matrix-panel .matrix-user-name{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.3;
}
.assignments-matrix-panel .matrix-cell-stack{
  display:grid;
  align-content:start;
  gap:4px;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.assignments-matrix-panel .matrix-body-table .assignment-card{
  width:100%;
  max-width:100%;
  min-width:0!important;
  overflow:hidden;
  transform:none!important;
}
.assignments-matrix-panel .matrix-body-table .assignment-card:hover{
  transform:none!important;
}
.assignments-matrix-panel .matrix-body-table .assignment-card > *,
.assignments-matrix-panel .matrix-body-table .assignment-card-head,
.assignments-matrix-panel .matrix-body-table .assignment-meta-grid,
.assignments-matrix-panel .matrix-body-table .mini-form,
.assignments-matrix-panel .matrix-body-table .assignment-action-stack,
.assignments-matrix-panel .matrix-body-table details,
.assignments-matrix-panel .matrix-body-table details form{
  min-width:0;
  max-width:100%;
}
.assignments-matrix-panel .matrix-body-table .assignment-card-head{
  width:100%;
  overflow:hidden;
}
.assignments-matrix-panel .matrix-body-table .assignment-status-badge,
.assignments-matrix-panel .matrix-body-table .risk-chip,
.assignments-matrix-panel .matrix-body-table .score-chip{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.assignments-matrix-panel .matrix-body-table .assignment-meta-grid small,
.assignments-matrix-panel .matrix-body-table .return-request-note,
.assignments-matrix-panel .matrix-body-table .return-request-hold,
.assignments-matrix-panel .matrix-body-table details,
.assignments-matrix-panel .matrix-body-table summary{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.assignments-matrix-panel .matrix-body-table .mini-form input,
.assignments-matrix-panel .matrix-body-table .mini-form select,
.assignments-matrix-panel .matrix-body-table .mini-form textarea,
.assignments-matrix-panel .matrix-body-table .mini-form .btn,
.assignments-matrix-panel .matrix-body-table details .btn{
  min-width:0;
  max-width:100%;
}
.assignment-action-label-short{display:none}

/* Compact rejimda ham matn va amallar o'z katagidan tashqariga chiqmaydi. */
.assignments-matrix-panel.assignments-compact-mode .matrix-body-table .assignment-card{
  width:100%;
  min-width:0!important;
}
.assignments-matrix-panel.assignments-compact-mode .assignment-action-label-full{display:none}
.assignments-matrix-panel.assignments-compact-mode .assignment-action-label-short{display:inline}
.assignments-matrix-panel.assignments-compact-mode .assignment-card:hover .mini-form,
.assignments-matrix-panel.assignments-compact-mode .assignment-card:focus-within .mini-form{
  display:flex;
  width:100%;
  flex-wrap:wrap;
}
.assignments-matrix-panel.assignments-compact-mode .assignment-card:hover .mini-form input,
.assignments-matrix-panel.assignments-compact-mode .assignment-card:focus-within .mini-form input,
.assignments-matrix-panel.assignments-compact-mode .assignment-card:hover .mini-form select,
.assignments-matrix-panel.assignments-compact-mode .assignment-card:focus-within .mini-form select{
  width:100%;
  flex:1 1 100%;
}

/* XLSX kichik: status, sana va asosiy amal ixcham; katta formalar hoverda ochilib ustunlarni bosmaydi. */
.assignments-matrix-panel.assignments-xlsx-mode .matrix-scroll{
  overflow:auto!important;
  max-height:calc(100vh - 285px);
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-head-table th,
.assignments-matrix-panel.assignments-xlsx-mode .matrix-body-table td{
  padding:3px 4px!important;
  font-size:10px!important;
  line-height:1.15!important;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-head-table .matrix-report-row th{
  height:70px;
  vertical-align:top;
}
.assignments-matrix-panel.assignments-xlsx-mode .premium-matrix-head .matrix-report-row th span{
  font-size:9.5px!important;
  line-height:1.12!important;
  -webkit-line-clamp:4;
}
.assignments-matrix-panel.assignments-xlsx-mode .premium-matrix-head .matrix-report-row th small{
  margin-top:2px;
  font-size:8.5px!important;
  line-height:1.08!important;
  -webkit-line-clamp:2;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-org-title{
  width:100%;
  min-width:0;
  overflow:hidden;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-org-title b{
  display:-webkit-box;
  min-width:0;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:break-word;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-row-percent{
  flex:0 0 auto;
  min-width:38px;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-user-name{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.assignments-matrix-panel.assignments-xlsx-mode .matrix-body-table .assignment-card{
  width:100%;
  min-width:0!important;
  max-width:100%;
  padding:3px!important;
  gap:3px!important;
  overflow:hidden;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card-head{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:3px!important;
  width:100%;
  min-width:0;
  overflow:hidden;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-select-label{
  flex:0 0 14px;
  width:14px;
  height:14px;
  border-radius:3px;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-select-label input{
  width:10px!important;
  height:10px!important;
  min-width:10px!important;
  min-height:10px!important;
  margin:0;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-status-badge{
  flex:0 1 auto;
  display:inline-flex!important;
  align-items:center;
  width:auto!important;
  min-width:0!important;
  max-width:calc(100% - 22px);
  padding:2px 4px!important;
  border-radius:4px!important;
  font-size:8.5px!important;
  line-height:1.15!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.assignments-matrix-panel.assignments-xlsx-mode .risk-chip,
.assignments-matrix-panel.assignments-xlsx-mode .score-chip{
  display:none!important;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-detail-btn{
  flex:0 0 18px;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  padding:0!important;
  margin-left:auto;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-meta-grid{
  display:block!important;
  width:100%;
  min-width:0;
  overflow:hidden;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-meta-grid > :not(.assignment-meta-due){
  display:none!important;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-meta-due{
  display:block!important;
  width:100%;
  min-width:0;
  max-width:100%;
  font-size:8.5px!important;
  line-height:1.15!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card details,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card .mini-form,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card .assignment-action-stack,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card:hover details,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card:focus-within details,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card:hover .mini-form,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card:focus-within .mini-form,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card:hover .assignment-action-stack,
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card:focus-within .assignment-action-stack{
  display:none!important;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-card .assignment-primary-action{
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-width:0;
  max-width:100%;
  flex-wrap:nowrap;
  gap:2px!important;
  overflow:hidden;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-primary-action .assignment-primary-input{
  display:block!important;
  width:auto!important;
  min-width:42px!important;
  max-width:100%!important;
  flex:1 1 62px;
  padding:2px 4px!important;
  border-radius:3px!important;
  font-size:8px!important;
  line-height:1.1!important;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-primary-action .assignment-primary-button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  flex:0 1 auto;
  padding:2px 5px!important;
  border-radius:3px!important;
  font-size:8px!important;
  line-height:1.1!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-action-label-full{display:none!important}
.assignments-matrix-panel.assignments-xlsx-mode .assignment-action-label-short{display:inline!important}
.assignments-matrix-panel.assignments-xlsx-mode [data-matrix-cell].matrix-cell-active{
  z-index:3!important;
}
.assignments-matrix-panel.assignments-xlsx-mode .sticky-col.matrix-cell-active{
  z-index:15!important;
}
.assignments-matrix-panel.assignments-xlsx-mode .sticky-col-2.matrix-cell-active{
  z-index:14!important;
}
.assignments-matrix-panel.assignments-xlsx-mode [data-matrix-cell].matrix-cell-active:after{
  inset:1px!important;
  border-radius:2px!important;
}

@media (max-width:900px){
  .assignments-matrix-panel.assignments-xlsx-mode .matrix-scroll{max-height:none}
}

/* ===================== Assignments matrix geometry hardening v5 =====================
   Header va body bir xil ustun modeli, box-sizing va sticky holatdan foydalanadi.
   1200px dan kichik CSS viewportda (jumladan browser zoom paytida) sticky rejim
   header va body uchun bir vaqtda o'chadi; faqat body sticky bo'lib qolmaydi. */
.assignments-matrix-panel .matrix-head-table,
.assignments-matrix-panel .matrix-body-table{
  table-layout:fixed!important;
  border-collapse:separate!important;
}
.assignments-matrix-panel .matrix-head-table th,
.assignments-matrix-panel .matrix-body-table td,
.assignments-matrix-panel .matrix-table col{
  box-sizing:border-box!important;
}
.assignments-matrix-panel .matrix-head-table .sticky-org-col,
.assignments-matrix-panel .matrix-body-table .sticky-org-col,
.assignments-matrix-panel .matrix-head-table .sticky-user-col,
.assignments-matrix-panel .matrix-body-table .sticky-user-col{
  transform:none!important;
  translate:none!important;
  margin-left:0!important;
  right:auto!important;
}
.assignments-matrix-panel .matrix-head-table .sticky-user-col,
.assignments-matrix-panel .matrix-body-table .sticky-user-col{
  left:var(--matrix-org-width)!important;
}
.assignments-matrix-panel .matrix-head-table .matrix-report-row th,
.assignments-matrix-panel .matrix-body-table td.matrix-report-cell{
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.assignments-matrix-panel .matrix-body-table td.matrix-report-cell > *,
.assignments-matrix-panel .matrix-body-table td.sticky-user-col > *{
  min-width:0!important;
  max-width:100%!important;
}
.assignments-matrix-panel.matrix-layout-ready .matrix-head-table,
.assignments-matrix-panel.matrix-layout-ready .matrix-body-table{
  visibility:visible;
}

@media (min-width:1201px){
  .assignments-matrix-panel .matrix-head-table .sticky-col,
  .assignments-matrix-panel .matrix-body-table .sticky-col,
  .assignments-matrix-panel .matrix-head-table .sticky-col-2,
  .assignments-matrix-panel .matrix-body-table .sticky-col-2{
    position:sticky!important;
  }
  .assignments-matrix-panel .matrix-head-table .sticky-col,
  .assignments-matrix-panel .matrix-body-table .sticky-col{
    left:0!important;
  }
  .assignments-matrix-panel .matrix-head-table .sticky-col-2,
  .assignments-matrix-panel .matrix-body-table .sticky-col-2{
    left:var(--matrix-org-width)!important;
  }
  .assignments-matrix-panel .matrix-head-table .sticky-col{z-index:16}
  .assignments-matrix-panel .matrix-head-table .sticky-col-2{z-index:15}
  .assignments-matrix-panel .matrix-body-table .sticky-col{z-index:12}
  .assignments-matrix-panel .matrix-body-table .sticky-col-2{z-index:11}
}

@media (max-width:1200px){
  .assignments-matrix-panel .matrix-head-table .sticky-col,
  .assignments-matrix-panel .matrix-body-table .sticky-col,
  .assignments-matrix-panel .matrix-head-table .sticky-col-2,
  .assignments-matrix-panel .matrix-body-table .sticky-col-2{
    position:static!important;
    left:auto!important;
    right:auto!important;
    z-index:auto!important;
  }
}
