:root{--bg:#070e1c;--panel:#0c1628;--panel2:#101e35;--muted:#7a9bbf;--text:#e8f2ff;--blue:#3b82f6;--blue2:#2563eb;--cyan:#38bdf8;--green:#22c55e;--yellow:#f59e0b;--red:#ef4444;--purple:#8b5cf6;--border:rgba(148,186,234,.1);--border2:rgba(148,186,234,.18);--radius:20px;--shadow:0 20px 60px rgba(0,0,0,.35)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;background-image:radial-gradient(ellipse at 20% 0%,rgba(59,130,246,.12) 0%,transparent 55%),radial-gradient(ellipse at 80% 100%,rgba(56,189,248,.08) 0%,transparent 50%)}
a{color:inherit;text-decoration:none}
input,select,textarea,button{font-family:inherit}
.layout{display:flex;min-height:100vh}
.sidebar{width:270px;background:rgba(10,19,36,.97);border-right:1px solid var(--border);padding:0;position:fixed;top:0;bottom:0;left:0;z-index:100;backdrop-filter:blur(20px);display:flex;flex-direction:column;transition:transform .3s}
.sidebar-header{padding:22px 20px 16px;border-bottom:1px solid var(--border)}
.brand{font-size:26px;font-weight:900;color:#fff;letter-spacing:-1px}
.brand span{background:linear-gradient(135deg,var(--blue),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.brand-sub{font-size:11px;color:var(--muted);margin-top:3px;letter-spacing:.5px;text-transform:uppercase}
.sidebar-user{padding:14px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);background:rgba(59,130,246,.06)}
.sidebar-user .avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));display:grid;place-items:center;font-weight:900;font-size:14px;flex-shrink:0}
.sidebar-user-info{min-width:0}
.sidebar-user-info strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-user-info small{color:var(--muted);font-size:11px}
.nav{flex:1;overflow-y:auto;padding:12px 10px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.nav-section{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:1.2px;text-transform:uppercase;padding:12px 10px 6px}
.nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:13px;color:var(--muted);font-size:13.5px;font-weight:500;margin-bottom:2px;transition:all .18s}
.nav a:hover{background:rgba(59,130,246,.14);color:var(--text)}
.nav a.active{background:linear-gradient(135deg,rgba(59,130,246,.28),rgba(56,189,248,.1));color:#fff;font-weight:600}
.nav a .nav-icon{width:20px;text-align:center;font-size:16px;flex-shrink:0}
.nav a .nav-badge{margin-left:auto;background:var(--red);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:99px;min-width:18px;text-align:center}
.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border)}
.sidebar-footer a{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;padding:8px 10px;border-radius:11px}
.sidebar-footer a:hover{color:var(--text);background:rgba(255,255,255,.05)}
.main{margin-left:270px;flex:1;min-width:0;padding:20px 26px;max-width:calc(100vw - 270px)}
.topbar{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.topbar-title{flex:1;min-width:200px}
.topbar-title h1{font-size:22px;font-weight:800;letter-spacing:-.4px}
.topbar-title p{font-size:13px;color:var(--muted);margin-top:2px}
.topbar-actions{display:flex;align-items:center;gap:10px}
.search-box{background:rgba(12,22,40,.8);border:1px solid var(--border);color:var(--text);border-radius:13px;padding:10px 16px;width:250px;font-size:14px;transition:border .2s}
.search-box:focus{outline:none;border-color:var(--blue)}
.search-box::placeholder{color:var(--muted)}
.notif-btn{width:40px;height:40px;border-radius:12px;background:rgba(12,22,40,.8);border:1px solid var(--border);color:var(--muted);display:grid;place-items:center;cursor:pointer;position:relative;font-size:18px;transition:all .2s}
.notif-btn:hover{border-color:var(--blue);color:var(--text)}
.notif-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--red);border-radius:50%;border:2px solid var(--panel)}
.user-chip{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;background:rgba(12,22,40,.8);border:1px solid var(--border);border-radius:99px;cursor:pointer}
.user-chip .avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));display:grid;place-items:center;font-weight:900;font-size:12px}
.user-chip span{font-size:13px;font-weight:600}
.card{background:rgba(12,22,40,.78);border:1px solid var(--border);border-radius:var(--radius);padding:22px;backdrop-filter:blur(16px);box-shadow:var(--shadow)}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.card-header h2{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}
.card h2{font-size:16px;font-weight:700;margin-bottom:16px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.kpi{position:relative;overflow:hidden}
.kpi .kpi-icon{font-size:26px;margin-bottom:10px}
.kpi .kpi-num{font-size:34px;font-weight:900;letter-spacing:-1px;line-height:1}
.kpi .kpi-label{font-size:13px;color:var(--muted);margin-top:4px}
.kpi .kpi-trend{font-size:12px;color:var(--green);margin-top:8px;font-weight:600}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.grid-main{display:grid;grid-template-columns:2fr 1fr;gap:18px}
.grid-main2{display:grid;grid-template-columns:1fr 2fr;gap:18px}
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th{padding:10px 14px;text-align:left;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;border-bottom:1px solid var(--border)}
.table td{padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table tr:hover td{background:rgba(59,130,246,.04)}
.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.3px;white-space:nowrap}
.badge-blue{background:rgba(59,130,246,.2);color:#93c5fd}
.badge-cyan{background:rgba(56,189,248,.2);color:#7dd3fc}
.badge-green{background:rgba(34,197,94,.2);color:#86efac}
.badge-yellow{background:rgba(245,158,11,.2);color:#fcd34d}
.badge-red{background:rgba(239,68,68,.2);color:#fca5a5}
.badge-purple{background:rgba(139,92,246,.2);color:#c4b5fd}
.badge-gray{background:rgba(148,163,184,.15);color:#94a3b8}
.status-Aberto{background:rgba(59,130,246,.2);color:#93c5fd}
.status-Atendimento{background:rgba(245,158,11,.2);color:#fcd34d}
.status-Em{background:rgba(245,158,11,.2);color:#fcd34d}
.status-Aguardando{background:rgba(139,92,246,.2);color:#c4b5fd}
.status-Pendente{background:rgba(245,158,11,.2);color:#fcd34d}
.status-Pausado{background:rgba(14,165,233,.18);color:#7dd3fc}
.status-Resolvido{background:rgba(34,197,94,.2);color:#86efac}
.status-Cancelado{background:rgba(148,163,184,.15);color:#94a3b8}
.status-Cancelada{background:rgba(148,163,184,.15);color:#94a3b8}
.prio-Critica{background:rgba(239,68,68,.25);color:#fca5a5;font-weight:800}
.prio-Crítica{background:rgba(239,68,68,.25);color:#fca5a5;font-weight:800}
.prio-Alta{background:rgba(245,158,11,.2);color:#fcd34d}
.prio-Media{background:rgba(59,130,246,.2);color:#93c5fd}
.prio-Baixa{background:rgba(34,197,94,.15);color:#86efac}
.form-group{margin-bottom:16px}
.form-group label,.form-group > label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:6px;letter-spacing:.5px;text-transform:uppercase}
.input,.textarea-input{width:100%;background:rgba(7,14,28,.7);border:1px solid var(--border2);border-radius:12px;color:var(--text);padding:11px 14px;font-size:14px;transition:border .2s,box-shadow .2s}
select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237a9bbf' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
select.input option{background:#0c1628}
.input:focus,.textarea-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,246,.15)}
.input::placeholder,.textarea-input::placeholder{color:var(--muted)}
textarea.input{min-height:100px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.btn{border:0;border-radius:12px;padding:10px 20px;font-size:14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .18s;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 4px 15px rgba(59,130,246,.3)}
.btn-primary:hover{box-shadow:0 6px 22px rgba(59,130,246,.5);transform:translateY(-1px)}
.btn-secondary{background:rgba(59,130,246,.12);color:#93c5fd;border:1px solid rgba(59,130,246,.22)}
.btn-secondary:hover{background:rgba(59,130,246,.2)}
.btn-danger{background:rgba(239,68,68,.15);color:#fca5a5;border:1px solid rgba(239,68,68,.22)}
.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}
.btn-ghost:hover{border-color:var(--border2);color:var(--text)}
.btn-sm{padding:7px 13px;font-size:12px;border-radius:9px}
.btn-full{width:100%;justify-content:center}
.btn-icon{width:36px;height:36px;padding:0;border-radius:10px;justify-content:center}
.flash,.flash-success{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.28);color:#86efac;padding:12px 16px;border-radius:13px;margin-bottom:16px;font-size:14px}
.flash-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.28);color:#fca5a5;padding:12px 16px;border-radius:13px;margin-bottom:16px;font-size:14px}
.hero{background:linear-gradient(135deg,rgba(59,130,246,.16) 0%,rgba(56,189,248,.06) 100%);border:1px solid var(--border);border-radius:26px;padding:26px 30px;margin-bottom:22px;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;right:-80px;top:-80px;width:280px;height:280px;background:radial-gradient(circle,rgba(59,130,246,.13),transparent 70%)}
.hero h1{font-size:24px;font-weight:900;letter-spacing:-.5px;margin-bottom:6px}
.hero p{color:var(--muted);font-size:14px}
.hero-meta{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:13px;transition:background .15s}
.item:hover{background:rgba(59,130,246,.05)}
.item-avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--cyan));display:grid;place-items:center;font-weight:900;font-size:14px;flex-shrink:0}
.item-body{flex:1;min-width:0}
.item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}
.item-header strong{font-size:14px;font-weight:600}
.item-header time{font-size:11px;color:var(--muted)}
.item-text{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-layout{display:flex;height:calc(100vh - 155px);min-height:500px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:rgba(12,22,40,.78)}
.chat-sidebar{width:255px;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}
.chat-sidebar-header{padding:14px 16px;border-bottom:1px solid var(--border)}
.chat-sidebar-header h3{font-size:15px;font-weight:700}
.chat-search{padding:8px 10px;border-bottom:1px solid var(--border)}
.chat-search input{width:100%;background:rgba(7,14,28,.5);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:8px 12px;font-size:13px}
.chat-search input:focus{outline:none;border-color:var(--blue)}
.chat-channels{flex:1;overflow-y:auto;padding:8px 8px}
.chat-section-label{font-size:10px;font-weight:700;color:var(--muted);padding:8px 8px 4px;letter-spacing:1px;text-transform:uppercase}
.chat-channel-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:11px;cursor:pointer;transition:background .15s;margin-bottom:2px}
.chat-channel-item:hover{background:rgba(59,130,246,.1)}
.chat-channel-item.active{background:linear-gradient(135deg,rgba(59,130,246,.22),rgba(56,189,248,.07));color:#fff}
.chat-channel-item .ch-icon{width:30px;height:30px;border-radius:9px;background:rgba(59,130,246,.18);display:grid;place-items:center;font-size:14px;flex-shrink:0}
.chat-channel-item .ch-name{font-size:13px;font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-channel-item .ch-count{font-size:10px;font-weight:700;background:var(--red);color:#fff;padding:2px 5px;border-radius:99px}
.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}
.chat-header{padding:13px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}
.chat-header h3{font-size:15px;font-weight:700;flex:1}
.chat-messages{flex:1;overflow-y:auto;padding:14px 18px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.msg-group{margin-bottom:14px}
.msg-sender{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.msg-sender .avatar{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--cyan));display:grid;place-items:center;font-weight:900;font-size:12px;flex-shrink:0}
.msg-sender strong{font-size:13px;font-weight:600}
.msg-sender time{font-size:11px;color:var(--muted)}
.msg-bubble{margin-left:38px;font-size:14px;line-height:1.5;color:#cde0f8;padding:2px 0}
.chat-input-area{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:flex-end}
.chat-input-area textarea{flex:1;background:rgba(7,14,28,.6);border:1px solid var(--border2);border-radius:13px;color:var(--text);padding:11px 14px;font-size:14px;resize:none;max-height:100px;transition:border .2s}
.chat-input-area textarea:focus{outline:none;border-color:var(--blue)}
.online-dot{width:9px;height:9px;background:var(--green);border-radius:50%;display:inline-block;flex-shrink:0}
.offline-dot{width:9px;height:9px;background:var(--muted);border-radius:50%;display:inline-block;flex-shrink:0}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.modal{background:var(--panel);border:1px solid var(--border2);border-radius:22px;width:min(640px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 40px 100px rgba(0,0,0,.5)}
.modal-header{padding:20px 22px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.modal-header h3{font-size:17px;font-weight:700}
.modal-body{padding:20px 22px}
.modal-footer{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end}
.modal-close{background:transparent;border:0;color:var(--muted);font-size:22px;cursor:pointer;padding:4px;border-radius:8px;line-height:1}
.shortcuts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.shortcut-card{background:rgba(12,22,40,.9);border:1px solid var(--border);border-radius:16px;padding:18px 12px;text-align:center;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:9px}
.shortcut-card:hover{border-color:var(--blue);background:rgba(59,130,246,.1);transform:translateY(-2px)}
.shortcut-card .sc-icon{font-size:28px;width:48px;height:48px;display:grid;place-items:center;background:rgba(59,130,246,.12);border-radius:14px}
.shortcut-card .sc-name{font-size:12px;font-weight:600;color:var(--text);line-height:1.3}
.maint-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:10px;margin-bottom:16px}
.maint-type{background:rgba(12,22,40,.8);border:2px solid var(--border);border-radius:13px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .2s;font-size:12px;font-weight:600}
.maint-type:hover,.maint-type.selected{border-color:var(--blue);background:rgba(59,130,246,.1);color:#93c5fd}
.maint-type .mt-icon{font-size:20px;display:block;margin-bottom:5px}
.timeline{position:relative;padding-left:26px}
.timeline::before{content:'';position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:var(--border)}
.timeline-item{position:relative;margin-bottom:18px}
.timeline-item::before{content:'';position:absolute;left:-20px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--blue);border:2px solid var(--panel)}
.timeline-item.success::before{background:var(--green)}
.timeline-item.warn::before{background:var(--yellow)}
.timeline-header{font-size:12px;color:var(--muted);margin-bottom:5px}
.timeline-body{background:rgba(7,14,28,.5);border:1px solid var(--border);border-radius:13px;padding:11px 13px;font-size:14px}
.driver-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.driver-big-btn{background:rgba(12,22,40,.8);border:2px solid var(--border);border-radius:18px;padding:22px;text-align:center;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.driver-big-btn:hover{border-color:var(--cyan);background:rgba(56,189,248,.07);transform:translateY(-2px)}
.driver-big-btn .db-icon{font-size:38px}
.driver-big-btn .db-label{font-size:14px;font-weight:700}
.divider{height:1px;background:var(--border);margin:20px 0}
.progress{height:6px;background:rgba(148,186,234,.1);border-radius:99px;overflow:hidden}
.progress-bar{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.hamburger{display:none;background:transparent;border:0;color:var(--text);font-size:24px;cursor:pointer;padding:6px}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99}
.text-muted{color:var(--muted)}
.text-sm{font-size:13px}
.text-xs{font-size:11px}
.font-bold{font-weight:700}
.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}
.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}
.gap-2{gap:16px}
.w-full{width:100%}
.hidden{display:none!important}
.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-main{grid-template-columns:1fr}}
@media(max-width:800px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0)}
  .sidebar-overlay.open{display:block}
  .hamburger{display:block}
  .main{margin-left:0;max-width:100vw;padding:14px}
  .kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .grid-2,.grid-3,.grid-main,.grid-main2{grid-template-columns:1fr}
  .form-row,.form-row-3{grid-template-columns:1fr}
  .chat-layout{flex-direction:column;height:auto}
  .chat-sidebar{width:100%;border-right:0;border-bottom:1px solid var(--border);max-height:220px}
  .topbar{flex-wrap:wrap}
  .search-box{width:100%}
  .shortcuts-grid{grid-template-columns:repeat(3,1fr)}
  .driver-grid{grid-template-columns:1fr 1fr}
  .category-grid{grid-template-columns:1fr}
  .category-card{min-height:86px}
  .picker-head,.insight-top{display:block}
  .picker-head .btn{margin-top:10px}
  .insight-top span{display:block;margin-top:6px;white-space:normal}
}
@media(max-width:480px){.kpi-grid{grid-template-columns:1fr 1fr}.shortcuts-grid{grid-template-columns:repeat(2,1fr)}.driver-grid{grid-template-columns:1fr}}

/* Agenda premium de reservas */
.agenda-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.agenda-hero-premium{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;min-height:180px;padding:28px;border:1px solid var(--border2);border-radius:20px;background:linear-gradient(135deg,rgba(12,22,40,.96),rgba(24,67,118,.72)),url("/static/templates/image/image01.jpeg");background-size:cover;background-position:center;box-shadow:var(--shadow);overflow:hidden}
.agenda-hero-premium h2{font-size:clamp(34px,5vw,58px);line-height:.95;margin:0 0 8px;letter-spacing:0}
.agenda-hero-premium p{max-width:680px;color:#bdd4ee;line-height:1.55}
.agenda-room-grid{margin:0}
.agenda-toolbar{display:grid;grid-template-columns:auto 170px minmax(180px,1fr) minmax(160px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:center;background:rgba(12,22,40,.78);border:1px solid var(--border);border-radius:18px;padding:12px;backdrop-filter:blur(14px)}
.agenda-tabs{display:flex;gap:6px;flex-wrap:wrap}
.agenda-tab{border:1px solid var(--border2);background:rgba(7,14,28,.65);color:var(--muted);border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}
.agenda-tab.active{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;border-color:transparent}
.agenda-panel{background:rgba(12,22,40,.78);border:1px solid var(--border);border-radius:20px;padding:18px;box-shadow:var(--shadow);overflow:hidden}
.agenda-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.agenda-panel-head h2{font-size:18px;margin:0}
.agenda-day-list{display:grid;gap:8px}
.agenda-day-row{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;align-items:stretch}
.agenda-hour{color:var(--muted);font-weight:900;font-size:12px;text-align:right;padding:13px 8px 0 0}
.agenda-hour.cell{padding:10px 8px;text-align:center;border-right:1px solid var(--border)}
.agenda-slot,.agenda-week-cell{min-height:92px;border:1px solid var(--border);border-radius:14px;background:rgba(7,14,28,.58);padding:8px}
.agenda-empty-slot,.agenda-plus{width:100%;height:100%;min-height:54px;border:1px dashed rgba(125,211,252,.28);border-radius:12px;background:rgba(59,130,246,.06);color:#93c5fd;font-weight:800;cursor:pointer}
.agenda-plus{min-height:34px}
.agenda-event{border:1px solid rgba(125,211,252,.16);border-left:4px solid var(--cyan);border-radius:14px;padding:10px;background:linear-gradient(135deg,rgba(59,130,246,.18),rgba(7,14,28,.68));box-shadow:0 10px 24px rgba(0,0,0,.18);margin-bottom:7px}
.agenda-event.compact{padding:8px;border-radius:11px;font-size:12px}
.agenda-event.is-cancelled{opacity:.58;border-left-color:var(--muted)}
.agenda-event-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.agenda-event-top strong{font-size:13px;line-height:1.25}
.agenda-event-meta{font-size:11px;color:#b9cee7;margin-top:4px;line-height:1.35}
.agenda-link{display:inline-flex;margin-top:7px;color:#7dd3fc;font-size:12px;font-weight:800}
.agenda-actions{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.agenda-week-grid{display:grid;grid-template-columns:70px repeat(7,minmax(150px,1fr));gap:8px;overflow:auto;padding-bottom:6px}
.agenda-week-head{position:sticky;top:0;z-index:1;min-width:150px;border:1px solid var(--border);border-radius:14px;background:rgba(16,30,53,.96);padding:10px;color:var(--muted);font-size:12px;font-weight:800;text-align:center}
.agenda-week-head strong{display:block;color:var(--text);font-size:14px;margin-top:2px}
.agenda-week-head.time-col{min-width:70px}
.agenda-week-head.today,.agenda-week-cell.today{border-color:rgba(34,197,94,.45);box-shadow:inset 0 0 0 1px rgba(34,197,94,.15)}
.agenda-week-cell{min-width:150px}
.agenda-month-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;overflow:auto;padding-bottom:6px}
.agenda-month-label{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;text-align:center}
.agenda-month-cell{min-height:156px;border:1px solid var(--border);border-radius:16px;background:rgba(7,14,28,.58);padding:10px;min-width:130px}
.agenda-month-cell.muted{opacity:.35}
.agenda-month-cell.today{border-color:rgba(34,197,94,.45);background:rgba(34,197,94,.08)}
.agenda-month-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.agenda-month-top strong{font-size:16px}
.agenda-month-top span{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;border-radius:999px;background:rgba(56,189,248,.16);color:#7dd3fc;font-size:11px;font-weight:900}
.agenda-month-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.agenda-side{display:block}
.agenda-modal{width:min(820px,100%)}
.participant-picker{display:grid;gap:10px}
.participant-search-wrap{position:relative;display:grid;gap:6px}
.participant-search-wrap label{font-size:12px;color:var(--muted);font-weight:800}
.participant-results{position:absolute;left:0;right:0;top:100%;z-index:50;margin-top:6px;display:grid;gap:4px;max-height:260px;overflow:auto;padding:8px;border:1px solid var(--border2);border-radius:14px;background:rgba(10,18,34,.98);box-shadow:0 22px 54px rgba(0,0,0,.36)}
.participant-results button{display:grid;gap:3px;width:100%;padding:10px;border:0;border-radius:10px;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.participant-results button:hover{background:rgba(59,130,246,.16)}
.participant-results small{color:var(--muted);font-size:11px}
.external-participant{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:14px;background:rgba(7,14,28,.42)}
.participant-chips{display:flex;flex-wrap:wrap;gap:8px;min-height:34px}
.participant-empty{font-size:12px;color:var(--muted);padding:8px 0}
.participant-chip{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:8px 9px;border:1px solid var(--border);border-radius:12px;background:rgba(7,14,28,.58)}
.participant-chip.system{border-color:rgba(56,189,248,.34);background:rgba(14,116,144,.16)}
.participant-chip.external{border-color:rgba(148,163,184,.28)}
.participant-chip strong{display:block;font-size:12px;line-height:1.15;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.participant-chip small,.participant-email{display:block;color:var(--muted);font-size:11px;line-height:1.2;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.participant-chip-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.participant-action{border:1px solid rgba(125,211,252,.22);border-radius:999px;background:rgba(59,130,246,.1);color:#bfdbfe;padding:5px 8px;font-size:11px;font-weight:800;text-decoration:none;cursor:pointer}
.participant-action:hover{background:rgba(59,130,246,.2)}
.participant-remove{width:24px;height:24px;border:1px solid rgba(248,113,113,.35);border-radius:999px;background:rgba(127,29,29,.18);color:#fecaca;font-weight:900;cursor:pointer}
@media(max-width:760px){.external-participant{grid-template-columns:1fr}.participant-chip{width:100%;justify-content:space-between}.participant-chip strong{max-width:160px}}
.agenda-timeline{position:relative;height:calc(var(--agenda-slots,56) * 24px);border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,rgba(7,14,28,.68),rgba(10,19,35,.82));overflow:hidden;isolation:isolate;touch-action:pan-x}
.agenda-day-timeline{padding-left:78px}
.agenda-slot-layer{position:absolute;inset:0;display:grid;grid-template-rows:repeat(var(--agenda-slots,56),1fr);z-index:1}
.agenda-day-timeline .agenda-slot-layer{left:78px}
.agenda-quarter-slot{min-height:24px;border:0;border-bottom:1px solid rgba(125,211,252,.055);background:transparent;cursor:crosshair;transition:background .14s,border-color .14s}
.agenda-quarter-slot:nth-child(4n+1){border-top:1px solid rgba(125,211,252,.18)}
.agenda-quarter-slot:hover{background:rgba(59,130,246,.1)}
.agenda-hour-marker{position:absolute;left:0;width:78px;transform:translateY(-1px);padding:2px 12px 0 0;color:#9eb9d8;font-size:12px;font-weight:900;text-align:right;z-index:3}
.agenda-hour-marker::after{content:'';position:absolute;left:78px;right:-1200px;top:0;height:1px;background:rgba(125,211,252,.18)}
.agenda-timeline .agenda-event{position:absolute;left:92px;right:14px;z-index:4;margin:0;min-height:28px;overflow:hidden;transition:transform .16s,box-shadow .16s,filter .16s,opacity .16s;border-bottom:2px solid rgba(125,211,252,.12);cursor:grab}
.agenda-timeline .agenda-event:hover{transform:translateY(-1px);box-shadow:0 18px 38px rgba(0,0,0,.28);filter:saturate(1.08)}
.agenda-timeline .agenda-event.is-dragging,.agenda-timeline .agenda-event.is-resizing{opacity:.58;cursor:grabbing;box-shadow:0 22px 54px rgba(37,99,235,.35);filter:saturate(1.15)}
.agenda-timeline .agenda-event.is-invalid-drop{animation:shakeX .28s ease;border-color:rgba(248,113,113,.9);box-shadow:0 0 0 2px rgba(248,113,113,.24),0 18px 42px rgba(127,29,29,.35)}
.agenda-week-cell .agenda-event{left:8px;right:8px}
.agenda-week-cell .agenda-event.compact{padding:6px 7px}
.agenda-resize-handle{position:absolute;left:16px;right:16px;height:12px;border:0;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(125,211,252,.72),transparent);opacity:.28;cursor:ns-resize;touch-action:none;transition:opacity .16s,background .16s,transform .16s;z-index:2}
.agenda-resize-handle-top{top:3px}
.agenda-resize-handle-bottom{bottom:3px}
.agenda-resize-handle::after{content:'';position:absolute;left:50%;top:50%;width:42px;height:3px;border-radius:999px;background:rgba(226,246,255,.8);transform:translate(-50%,-50%)}
.agenda-resize-handle-top::before,.agenda-resize-handle-bottom::before{content:'';position:absolute;left:50%;width:8px;height:8px;border-left:2px solid rgba(226,246,255,.84);border-top:2px solid rgba(226,246,255,.84);opacity:.82}
.agenda-resize-handle-top::before{top:1px;transform:translateX(-50%) rotate(45deg)}
.agenda-resize-handle-bottom::before{bottom:1px;transform:translateX(-50%) rotate(225deg)}
.agenda-timeline .agenda-event:hover .agenda-resize-handle,.agenda-timeline .agenda-event:focus-within .agenda-resize-handle{opacity:.95}
.agenda-timeline .agenda-event:hover .agenda-resize-handle-top{transform:translateY(-1px)}
.agenda-timeline .agenda-event:hover .agenda-resize-handle-bottom{transform:translateY(1px)}
.agenda-month-cell .agenda-resize-handle{display:none}
.agenda-selection{position:absolute;left:88px;right:10px;z-index:2;border:1px solid rgba(125,211,252,.65);border-radius:12px;background:rgba(59,130,246,.28);box-shadow:0 0 0 1px rgba(191,219,254,.12),0 16px 42px rgba(37,99,235,.25);backdrop-filter:blur(8px);transition:top .08s,height .08s,opacity .14s;pointer-events:none}
.agenda-selection.is-free{border-color:rgba(56,189,248,.82);background:rgba(37,99,235,.34);box-shadow:0 0 0 1px rgba(191,219,254,.18),0 16px 42px rgba(37,99,235,.32)}
.agenda-selection.is-conflict{border-color:rgba(248,113,113,.9);background:rgba(127,29,29,.34);box-shadow:0 0 0 1px rgba(254,202,202,.2),0 16px 42px rgba(127,29,29,.32)}
.agenda-week-cell .agenda-selection{left:8px;right:8px}
.agenda-selection span{position:absolute;right:9px;top:7px;padding:4px 8px;border-radius:999px;background:rgba(3,7,18,.72);color:#e0f2fe;font-size:11px;font-weight:900}
.agenda-selection-tip{position:absolute;right:14px;z-index:6;padding:7px 10px;border-radius:999px;background:rgba(8,17,32,.94);border:1px solid rgba(125,211,252,.36);color:#dff6ff;font-size:12px;font-weight:900;box-shadow:0 16px 36px rgba(0,0,0,.28);pointer-events:none}
.agenda-selection-tip.is-free{border-color:rgba(56,189,248,.62);color:#dff6ff}
.agenda-selection-tip.is-conflict{border-color:rgba(248,113,113,.74);color:#fecaca;background:rgba(30,12,18,.96)}
.agenda-week-board{display:grid;grid-template-columns:70px repeat(7,minmax(150px,1fr));gap:8px;overflow:auto;padding-bottom:6px}
.agenda-week-time{position:relative;height:calc(var(--agenda-slots,68) * 24px);border:1px solid var(--border);border-radius:14px;background:rgba(7,14,28,.44);overflow:hidden}
.agenda-week-time-label{height:calc((var(--agenda-slots,68) * 24px) / var(--agenda-hours,17));padding:9px 8px 0 0;border-bottom:1px solid rgba(125,211,252,.12);color:var(--muted);font-weight:900;font-size:12px;text-align:right}
.agenda-week-board .agenda-week-head{position:sticky;top:0}
.agenda-week-board .agenda-week-cell{height:calc(var(--agenda-slots,68) * 24px);min-width:150px;padding:0}
.agenda-month-cell{cursor:pointer;transition:transform .16s,border-color .16s,background .16s}
.agenda-month-cell:hover{transform:translateY(-1px);border-color:rgba(56,189,248,.36);background:rgba(59,130,246,.08)}
.input-error{border-color:rgba(248,113,113,.8)!important;box-shadow:0 0 0 3px rgba(248,113,113,.12)}
.agenda-toast{position:fixed;right:24px;bottom:24px;z-index:3000;max-width:min(380px,calc(100vw - 32px));padding:13px 16px;border-radius:16px;background:rgba(8,17,32,.96);border:1px solid rgba(125,211,252,.32);color:#dff6ff;font-size:13px;font-weight:900;box-shadow:0 24px 60px rgba(0,0,0,.34);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .18s,transform .18s}
.agenda-toast.show{opacity:1;transform:translateY(0)}
.agenda-toast.is-error{border-color:rgba(248,113,113,.48);color:#fecaca;background:rgba(30,12,18,.96)}
@keyframes shakeX{0%,100%{transform:translateX(0)}33%{transform:translateX(-5px)}66%{transform:translateX(5px)}}
@media(max-width:1100px){
  .agenda-toolbar{grid-template-columns:1fr 1fr}
  .agenda-tabs{grid-column:1/-1}
}
@media(max-width:760px){
  .agenda-hero-premium{display:block;min-height:auto;padding:20px}
  .agenda-hero-premium .btn{margin-top:16px;width:100%;justify-content:center}
  .agenda-toolbar{grid-template-columns:1fr}
  .agenda-day-row{grid-template-columns:1fr}
  .agenda-hour{text-align:left;padding:4px 0}
  .agenda-week-grid,.agenda-week-board{grid-template-columns:58px repeat(7,180px)}
  .agenda-month-grid{grid-template-columns:repeat(7,160px)}
  .agenda-day-timeline{padding-left:58px}
  .agenda-day-timeline .agenda-slot-layer{left:58px}
  .agenda-hour-marker{width:58px;padding-right:7px}
  .agenda-hour-marker::after{left:58px}
  .agenda-timeline .agenda-event{left:68px}
  .agenda-selection{left:64px}
  .agenda-resize-handle{left:10px;right:10px;height:22px}
  .agenda-resize-handle-top{top:0}
  .agenda-resize-handle-bottom{bottom:0}
  .agenda-resize-handle::after{width:54px;height:4px}
}

/* Premium enterprise layer */
:root{
  --surface:rgba(10,18,34,.72);
  --surface-strong:rgba(13,24,43,.92);
  --glass:rgba(255,255,255,.075);
  --glow:0 24px 70px rgba(9,102,255,.18);
}
body{letter-spacing:0;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 24%),radial-gradient(circle at 78% 12%,rgba(20,184,166,.12),transparent 28%);z-index:-1}
.light-mode{--bg:#eef4fb;--panel:#fff;--panel2:#f7fbff;--text:#071426;--muted:#56708f;--border:rgba(16,44,84,.12);--border2:rgba(16,44,84,.2);background:#eef4fb;color:#071426}
.brand-mark{display:flex;align-items:center;gap:12px}
.brand-logo{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#0f62fe,#35d0ff);font-weight:900;box-shadow:0 14px 35px rgba(53,208,255,.25)}
.sidebar{background:linear-gradient(180deg,rgba(5,12,24,.98),rgba(8,18,34,.95));box-shadow:18px 0 65px rgba(0,0,0,.22)}
.nav a{position:relative;border:1px solid transparent}
.nav a:hover{transform:translateX(3px);border-color:rgba(99,179,255,.14)}
.nav a.active::before{content:'';position:absolute;left:-10px;top:9px;bottom:9px;width:3px;border-radius:99px;background:linear-gradient(180deg,var(--cyan),var(--blue))}
.main{padding:22px 28px 34px}
.topbar{position:sticky;top:0;z-index:50;padding:10px 0 16px;background:linear-gradient(180deg,var(--bg) 0%,rgba(7,14,28,.86) 72%,transparent);backdrop-filter:blur(18px)}
.global-search{display:flex;align-items:center;gap:8px;background:rgba(12,22,40,.74);border:1px solid var(--border);border-radius:16px;padding:0 12px;min-width:280px;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.global-search span{color:var(--cyan);font-size:18px}
.global-search .search-box{background:transparent;border:0;border-radius:0;width:100%;padding:12px 4px}
.quick-action{height:42px;display:inline-flex;align-items:center;border-radius:14px;padding:0 16px;background:rgba(59,130,246,.18);border:1px solid rgba(96,165,250,.28);color:#bfdbfe;font-size:13px;font-weight:800}
.notif-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:99px;background:var(--red);color:#fff;font-size:10px;display:grid;place-items:center;border:2px solid var(--bg)}
.user-chip{border-radius:16px}
.user-chip small{font-size:10px;color:#86efac;text-transform:uppercase;font-weight:800}
.hero-cinematic{
  min-height:360px;
  padding:44px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  align-items:end;
  gap:28px;
  isolation:isolate;
  background-image:
    linear-gradient(135deg, rgba(5, 12, 24, 0.92), rgba(8, 40, 85, 0.68)),
    url("/static/templates/image/image01.jpeg");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow:0 36px 110px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.12);
}
.hero-cinematic::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.08),transparent 34%),radial-gradient(circle at 72% 22%,rgba(56,189,248,.28),transparent 24%);backdrop-filter:blur(1.5px);z-index:-1}
.hero-cinematic::after{content:'';position:absolute;inset:auto 28px 24px 28px;height:1px;background:linear-gradient(90deg,transparent,rgba(125,211,252,.75),transparent)}
.hero-content{position:relative;z-index:1;max-width:720px}
.hero-kicker{display:flex;align-items:center;gap:12px;color:#c8ddf6;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;flex-wrap:wrap}
.live-pill{display:inline-flex;align-items:center;padding:6px 12px;border-radius:99px;background:rgba(34,197,94,.18);color:#bbf7d0;border:1px solid rgba(34,197,94,.28)}
.hero-cinematic h1{font-size:clamp(44px,7vw,82px);line-height:.92;letter-spacing:0;margin:0 0 8px;text-shadow:0 18px 60px rgba(0,0,0,.45)}
.hero-subtitle{font-size:clamp(20px,3vw,34px)!important;color:#dff3ff!important;font-weight:800;margin-bottom:10px}
.hero-copy{max-width:590px;color:#bdd4ee!important;font-size:16px!important;line-height:1.7}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-floating{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-self:center}
.float-card{min-height:132px;padding:18px;border-radius:24px;background:rgba(8,17,32,.58);border:1px solid rgba(191,219,254,.2);backdrop-filter:blur(22px);box-shadow:0 24px 70px rgba(0,0,0,.22)}
.float-card.wide{grid-column:1/-1;min-height:112px}
.float-card span,.float-card small{display:block;color:#abc4e4;font-size:12px;font-weight:700;text-transform:uppercase}
.float-card strong{display:block;font-size:38px;line-height:1.1;margin:10px 0 4px}
.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:linear-gradient(180deg,rgba(15,27,48,.82),rgba(10,19,35,.74));border-color:rgba(162,199,255,.14);box-shadow:0 20px 70px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.045);animation:fadeUp .42s ease both}
.card:hover{border-color:rgba(96,165,250,.28)}
.kpi{min-height:154px}
.kpi::after{content:'';position:absolute;right:-34px;bottom:-48px;width:120px;height:120px;border-radius:50%;background:rgba(56,189,248,.08)}
.kpi .kpi-icon{width:44px;height:44px;border-radius:15px;background:rgba(59,130,246,.14);display:grid;place-items:center}
.kpi .kpi-num{font-size:38px}
.kpi-trend.danger{color:#fca5a5}
.quick-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:-4px 0 22px}
.quick-strip a{padding:15px 16px;border-radius:18px;background:rgba(12,22,40,.64);border:1px solid var(--border);font-size:13px;font-weight:800;color:#dbeafe;transition:all .18s}
.quick-strip a:hover{transform:translateY(-2px);border-color:rgba(56,189,248,.4);box-shadow:var(--glow)}
.status-strip,.room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.status-card,.room-card{border-radius:20px;padding:18px;background:rgba(12,22,40,.74);border:1px solid var(--border);box-shadow:0 15px 45px rgba(0,0,0,.18)}
.status-card span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}
.status-card strong{font-size:32px}.status-card.danger strong{color:#fca5a5}.status-card.success strong{color:#86efac}
.form-hero{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.form-hero>span{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:rgba(59,130,246,.16);font-size:25px}
.form-hero h2{margin:0 0 4px}.form-hero p{color:var(--muted);font-size:13px;line-height:1.45}
.premium-table tr{transition:transform .18s,background .18s}.premium-table tr:hover{transform:translateX(2px)}
.mini-timeline{display:flex;gap:4px;margin-top:7px}.mini-timeline span{height:3px;width:26px;border-radius:99px;background:rgba(59,130,246,.28)}.mini-timeline span:nth-child(2){background:rgba(245,158,11,.32)}.mini-timeline span:nth-child(3){background:rgba(34,197,94,.32)}
.room-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.room-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}.room-top span{font-size:24px}.room-status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}
.calendar-bar{display:flex;gap:8px;margin-bottom:14px}.calendar-bar span{padding:7px 12px;border-radius:99px;background:rgba(59,130,246,.12);color:#bfdbfe;font-size:12px;font-weight:800}
.announcements-page,.announcements-admin{display:grid;gap:16px}.announcements-head,.announcements-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px}.announcements-head h2,.announcements-admin-hero h2{margin:4px 0 6px;color:var(--text);font-size:24px;letter-spacing:0}.announcements-head p,.announcements-admin-hero p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.announcements-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.announcement-filter-tabs,.announcement-admin-filter{display:flex;gap:8px;flex-wrap:wrap}.announcement-filter-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--muted);font-size:12px;font-weight:900}.announcement-filter-tabs a.active{background:#eef4ff;color:#1d4ed8;border-color:#bfdbfe}body:not(.light-mode) .announcement-filter-tabs a.active{background:#1e293b;color:#bfdbfe;border-color:rgba(147,197,253,.18)}
.announcements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:18px}.ibg-news-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.announcement-card{overflow:visible}.announcement-feed-card{display:grid;gap:12px;margin:0;padding:14px;background:var(--panel);border:1px solid var(--border);box-shadow:0 10px 28px rgba(15,23,42,.07)}.announcement-card.pinned{border-left:3px solid var(--yellow)}.announcement-card-top{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:start}.announcement-meta strong{display:block;color:var(--text);font-size:13px}.announcement-meta span,.announcement-card-footer span{display:block;color:var(--muted);font-size:12px;line-height:1.35}.announcement-card-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.announcement-card-inner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start}.announcement-card-inner.text-only{grid-template-columns:1fr}.announcement-thumb-button,.announcement-admin-thumb-button{display:grid;place-items:center;padding:0;border:0;background:transparent;cursor:pointer}.announcement-thumb{display:block;width:180px;height:130px;object-fit:contain;object-position:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px}.announcement-thumb.portrait{width:130px;height:180px}.announcement-thumb-button:hover .announcement-thumb,.announcement-admin-thumb-button:hover .announcement-admin-thumb{border-color:#bfdbfe;box-shadow:0 8px 22px rgba(37,99,235,.12)}.announcement-content{min-width:0;display:grid;gap:8px}.announcement-content h3{margin:0;color:var(--text);font-size:16px;line-height:1.25;letter-spacing:0}.announcement-content p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.announcement-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:4px}.announcement-actions-menu{position:relative}.announcement-actions-menu summary{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);color:var(--muted);cursor:pointer;list-style:none}.announcement-actions-menu summary::-webkit-details-marker{display:none}.announcement-actions-menu[open] summary{color:#1d4ed8;border-color:#bfdbfe;background:#eef4ff}.announcement-menu-panel{position:absolute;right:0;top:38px;z-index:80;display:grid;gap:3px;min-width:190px;padding:7px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 18px 44px rgba(15,23,42,.18)}.announcement-menu-panel a,.announcement-menu-panel button{display:flex;align-items:center;gap:8px;width:100%;padding:9px;border:0;border-radius:9px;background:transparent;color:var(--text);font-size:13px;font-weight:800;text-align:left;cursor:pointer}.announcement-menu-panel a:hover,.announcement-menu-panel button:hover{background:var(--panel2)}.announcement-menu-panel .danger-soft{color:#b91c1c}.announcements-empty{grid-column:1/-1}.announcement-admin-table td small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.announcement-admin-thumb{width:74px;height:54px;border-radius:10px}.announcement-admin-thumb.portrait{width:54px;height:74px}.announcement-no-image{display:inline-flex;padding:7px 9px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:12px;font-weight:800}.announcement-row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.announcement-row-actions form{display:inline-flex}.announcement-admin-empty{text-align:center;color:var(--muted);padding:26px}.announcement-admin-modal{width:min(760px,calc(100vw - 28px));max-height:92vh;overflow:auto}.announcement-admin-form{display:grid;gap:14px}.announcement-admin-image-editor{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel2)}.announcement-admin-image-preview{display:grid;place-items:center;min-height:132px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;overflow:hidden}.announcement-admin-image-preview img{display:none;max-width:100%;max-height:180px;width:auto;height:auto;object-fit:contain}.announcement-admin-image-preview div{display:grid;place-items:center;gap:6px;color:#64748b;font-size:12px;font-weight:800}.announcement-admin-image-actions{display:grid;gap:8px}.announcement-admin-image-actions small{color:var(--muted);font-size:12px;line-height:1.4}.announcement-admin-image-actions strong{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-admin-switches{display:flex;gap:14px;flex-wrap:wrap}.announcement-image-picker{display:grid;gap:6px;padding:14px;border:1px dashed rgba(96,165,250,.42);border-radius:14px;background:rgba(59,130,246,.06);cursor:pointer}.announcement-image-picker input{display:none}.announcement-image-picker span{font-size:13px;font-weight:900;color:var(--text)}.announcement-image-picker small{font-size:12px;color:var(--muted)}.announcement-image-preview{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center;margin-top:10px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--panel2)}.announcement-image-preview img{width:112px;height:72px;border-radius:10px;object-fit:contain;background:#e2e8f0}.announcement-image-preview strong{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.modal-open{overflow:hidden}.communication-modal{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:22px}.communication-modal.hidden{display:none}.communication-modal-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.72);backdrop-filter:blur(5px)}.communication-modal-panel{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,96vw);max-height:94vh;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:var(--panel);box-shadow:0 24px 80px rgba(0,0,0,.38);overflow:hidden}.communication-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border)}.communication-modal-head h2{margin:3px 0;color:var(--text);font-size:18px;letter-spacing:0}.communication-modal-head small{color:var(--muted)}.communication-modal-stage{display:grid;place-items:center;overflow:auto;min-height:260px;padding:16px;background:rgba(15,23,42,.06);touch-action:pan-x pan-y pinch-zoom}.communication-modal-stage img{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;object-fit:contain;object-position:center;transform-origin:center center;transition:transform .16s}.communication-modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:14px 18px;border-top:1px solid var(--border);background:var(--panel)}
.read-receipt{margin-top:14px;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}
.chat-layout{background:linear-gradient(180deg,rgba(10,18,34,.84),rgba(6,13,25,.86));box-shadow:0 28px 80px rgba(0,0,0,.28)}
.chat-sidebar{background:rgba(5,12,24,.4)}
.presence-line{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin-top:3px}
.muted-row{opacity:.62}
.channel-avatar{width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,var(--blue),var(--cyan));display:grid;place-items:center;font-weight:900}
.chat-header h3{margin:0}.chat-header span{font-size:12px;color:var(--muted)}.chat-header-actions{margin-left:auto;display:flex;gap:8px}
.msg-bubble{display:inline-block;margin-left:38px;background:rgba(59,130,246,.1);border:1px solid rgba(96,165,250,.14);border-radius:4px 16px 16px 16px;padding:10px 13px;max-width:min(720px,86%)}
.empty-state{text-align:center;color:var(--muted);padding:48px 18px;font-size:14px}.empty-state strong{display:block;color:var(--text);margin-bottom:6px}
.response-panel{padding:14px 16px;border-radius:16px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.18)}
.response-panel strong{color:#bbf7d0}.response-panel p{margin-top:6px;color:#d7ecff;line-height:1.6}
.ticket-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.ticket-thread{min-width:0;display:grid;gap:14px}
.ticket-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ticket-topline-actions{display:flex;gap:8px;flex-wrap:wrap}
.ticket-brief,.ticket-description,.ticket-thread-card,.ticket-composer-shell,.ticket-side-panel{border:1px solid var(--border);border-radius:20px;background:rgba(12,22,40,.78);box-shadow:0 14px 38px rgba(0,11,24,.24),inset 0 1px rgba(255,255,255,.035)}
.ticket-brief{display:flex;align-items:flex-start;gap:16px;padding:20px}
.ticket-number{min-width:92px;color:#7dd3fc;font-size:26px;font-weight:900;line-height:1}
.ticket-brief-main h2{font-size:22px;line-height:1.2;margin:0 0 8px}
.ticket-brief-meta{display:flex;gap:8px;flex-wrap:wrap;color:#9fb8d8;font-size:12px;font-weight:800}
.ticket-brief-meta span{padding:5px 9px;border-radius:999px;background:rgba(148,163,184,.1);border:1px solid rgba(148,186,234,.1)}
.ticket-classification-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-radius:18px;border:1px solid rgba(245,158,11,.34);background:linear-gradient(135deg,rgba(245,158,11,.14),rgba(59,130,246,.08))}
.ticket-classification-alert strong{display:block;color:#fde68a;font-size:14px;margin-bottom:4px}.ticket-classification-alert span{color:#cbd5e1;font-size:12px}
.ticket-description{padding:18px 20px}.ticket-description-title{color:#93c5fd;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.ticket-description p{white-space:pre-wrap;color:#d7e8fb;line-height:1.65;font-size:14px}
.ticket-thread-card{padding:18px}
.ticket-thread-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.ticket-thread-head h2{margin:0}
.ticket-thread-filters{display:flex;gap:6px;flex-wrap:wrap}
.support-thread{display:grid;gap:14px}
.thread-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:end}
.thread-item.agent{grid-template-columns:minmax(0,1fr) 34px}.thread-item.agent .thread-avatar{grid-column:2;grid-row:1;background:linear-gradient(135deg,var(--blue),var(--cyan))}.thread-item.agent .thread-bubble{grid-column:1;grid-row:1;justify-self:end;border-color:rgba(56,189,248,.22);background:linear-gradient(145deg,rgba(18,43,73,.82),rgba(7,14,28,.72))}
.thread-avatar{width:34px;height:34px;border-radius:999px;background:rgba(148,163,184,.18);border:1px solid var(--border2);display:grid;place-items:center;font-size:12px;font-weight:900;color:#e0f2fe}
.thread-bubble{max-width:min(760px,88%);padding:13px 14px;border-radius:16px;background:rgba(7,14,28,.62);border:1px solid var(--border);box-shadow:0 10px 24px rgba(0,0,0,.14)}
.thread-item.user .thread-bubble{border-top-left-radius:6px}.thread-item.agent .thread-bubble{border-top-right-radius:6px}
.thread-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:8px;color:#9fb8d8;font-size:11px}.thread-meta strong{color:#e8f2ff;font-size:12px}.thread-meta time{color:#7a9bbf}
.thread-message{white-space:pre-wrap;overflow-wrap:anywhere;color:#e6f2ff;line-height:1.58;font-size:14px}
.thread-item.system{display:block;text-align:center}.thread-system-event{display:inline-grid;gap:4px;max-width:min(620px,92%);padding:8px 12px;border-radius:999px;background:rgba(148,163,184,.1);border:1px solid rgba(148,186,234,.12);color:#cbd5e1;font-size:12px}.thread-system-event time{color:#7a9bbf;font-size:11px}
.thread-empty{padding:18px;text-align:center;color:var(--muted);border:1px dashed var(--border2);border-radius:16px}
.ticket-attachment-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.ticket-attachment-list a{padding:7px 10px;border-radius:999px;background:rgba(59,130,246,.12);border:1px solid rgba(96,165,250,.22);color:#bfdbfe;font-size:12px;font-weight:800;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.ticket-composer-shell{position:sticky;bottom:12px;z-index:8;padding:12px;background:rgba(9,18,34,.94);backdrop-filter:blur(14px)}
.ticket-composer{display:grid;gap:10px}.composer-title{color:#dbeafe;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}.composer-textarea{width:100%;min-height:48px;max-height:180px;resize:none;border:1px solid rgba(125,211,252,.2);border-radius:16px;background:rgba(3,7,18,.5);color:var(--text);padding:13px 14px;font-size:14px;line-height:1.45;outline:none}.composer-textarea:focus{border-color:rgba(56,189,248,.55);box-shadow:0 0 0 3px rgba(56,189,248,.12)}
.sla-pill.paused{background:rgba(14,165,233,.14);color:#7dd3fc;border-color:rgba(14,165,233,.28)}
.sla-pill.paused i{background:#38bdf8}
.composer-notify.is-disabled{opacity:.55;cursor:not-allowed}
.composer-notify.is-disabled span{color:var(--muted)}
.status-quick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#9fb8d8;font-size:12px}.status-quick span{font-weight:900;color:#dbeafe}.status-quick label{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid var(--border);cursor:pointer}
.composer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.composer-attach,.composer-notify{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border2);border-radius:12px;background:rgba(255,255,255,.04);padding:9px 11px;color:#cde0f8;font-size:12px;font-weight:900;cursor:pointer}.composer-attach input{display:none}.composer-notify{margin-right:auto}.ticket-composer.is-internal .composer-notify{border-color:rgba(245,158,11,.34);color:#fde68a;background:rgba(245,158,11,.08)}
.composer-preview{display:flex;gap:8px;flex-wrap:wrap}.composer-preview span{padding:7px 10px;border-radius:999px;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.22);color:#bbf7d0;font-size:12px;font-weight:800}
.ticket-side{display:grid;gap:14px;position:sticky;top:18px}.ticket-side-panel{padding:18px}.ticket-side-panel h2{margin:0 0 14px}.ticket-side-row{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--border)}.ticket-side-row:last-child{border-bottom:0}.ticket-side-row span{color:#7a9bbf;font-size:11px;font-weight:900;text-transform:uppercase}.ticket-side-row strong{color:#e8f2ff;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.ticket-category-picker.compact{padding:12px;margin:0 0 12px}.ticket-category-picker.compact .category-grid{grid-template-columns:1fr}.ticket-category-picker.compact .category-card{min-height:78px}
.calendar-premium{margin-bottom:18px;border:1px solid var(--border);border-radius:24px;padding:20px;background:linear-gradient(135deg,rgba(13,26,48,.86),rgba(8,17,32,.68));box-shadow:var(--shadow)}
.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.calendar-head h2{margin:0;font-size:18px}.calendar-head p{color:var(--muted);font-size:13px;margin-top:4px}
.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.calendar-days div{min-height:92px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid var(--border);padding:12px;color:var(--muted);font-size:12px}.calendar-days strong{display:block;color:var(--text);font-size:22px;margin-top:8px}
.branch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.branch-card{display:block;padding:20px;border-radius:22px;background:linear-gradient(180deg,rgba(15,27,48,.82),rgba(10,19,35,.74));border:1px solid var(--border);box-shadow:0 18px 55px rgba(0,0,0,.22);transition:all .18s}
.branch-card:hover{transform:translateY(-3px);border-color:rgba(56,189,248,.34)}
.branch-code{width:max-content;padding:5px 10px;border-radius:99px;background:rgba(59,130,246,.16);color:#bfdbfe;font-size:11px;font-weight:900;margin-bottom:12px}
.branch-card h3{font-size:18px;margin-bottom:6px}.branch-card p{color:var(--muted);font-size:13px;line-height:1.5}.branch-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;color:var(--muted);font-size:12px}
.check-row{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin-bottom:16px}
.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.resource-grid label{padding:10px 12px;border-radius:14px;background:rgba(59,130,246,.08);border:1px solid var(--border);font-size:13px;color:#dbeafe}
.room-card-large{overflow:hidden}.room-photo{height:110px;margin:-18px -18px 16px;background:linear-gradient(135deg,rgba(37,99,235,.36),rgba(20,184,166,.22)),url("/static/templates/image/image01.jpeg");background-size:cover;background-position:center;border-bottom:1px solid var(--border)}
.profile-list{display:grid;gap:8px}.profile-list a{display:block;padding:14px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.04)}.profile-list a.active{border-color:rgba(56,189,248,.42);background:rgba(59,130,246,.14)}.profile-list span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.permission-grid label{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:14px;background:rgba(7,14,28,.48);border:1px solid var(--border)}.permission-grid span{display:block;font-size:13px;font-weight:800}.permission-grid small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;margin-top:3px}
.chat-group-form{display:grid;grid-template-columns:1fr;gap:6px;margin:10px 8px;padding:10px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--border)}.chat-group-form input{width:100%;background:rgba(7,14,28,.55);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:8px 10px;font-size:12px}
.inline-edit{display:grid;grid-template-columns:1.4fr 1fr auto;gap:8px;align-items:center}
.room-edit-form{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.ticket-category-picker{margin:16px 0 18px;padding:16px;border:1px solid rgba(125,211,252,.16);border-radius:18px;background:linear-gradient(180deg,rgba(7,14,28,.62),rgba(13,24,43,.78));box-shadow:inset 0 1px rgba(255,255,255,.04)}
.picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.picker-head label{display:block;margin-bottom:6px;color:#dbeafe;font-weight:900}
.picker-breadcrumb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#9fb8d8;font-size:12px;font-weight:800;min-height:26px}
.picker-breadcrumb button{border:1px solid rgba(125,211,252,.18);border-radius:999px;background:rgba(59,130,246,.1);color:#bfdbfe;padding:5px 9px;font-size:11px;font-weight:900;cursor:pointer}
.picker-breadcrumb span{color:#64748b}
.category-search{display:flex;align-items:center;gap:8px;margin-bottom:12px;border:1px solid var(--border);border-radius:14px;background:rgba(3,7,18,.36);padding:0 11px}
.category-search span{color:#7dd3fc;font-size:18px;font-weight:900}
.category-search .input{border:0;background:transparent;padding-left:0}
.category-quick{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:13px}
.category-quick button{border:1px solid rgba(96,165,250,.22);border-radius:999px;background:rgba(59,130,246,.1);color:#c7dcf8;padding:7px 10px;font-size:11px;font-weight:900;cursor:pointer;transition:all .16s}
.category-quick button:hover{border-color:rgba(56,189,248,.42);background:rgba(59,130,246,.18);transform:translateY(-1px)}
.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;animation:fadeUp .22s ease both}
.category-card{position:relative;min-height:104px;text-align:left;border:1px solid rgba(125,211,252,.14);border-radius:16px;background:linear-gradient(145deg,rgba(15,27,48,.88),rgba(7,14,28,.62));color:var(--text);padding:14px;cursor:pointer;box-shadow:0 14px 34px rgba(0,0,0,.16);transition:transform .16s,border-color .16s,background .16s,box-shadow .16s}
.category-card:hover{transform:translateY(-2px);border-color:rgba(56,189,248,.38);background:linear-gradient(145deg,rgba(22,40,70,.92),rgba(10,23,43,.72));box-shadow:0 20px 48px rgba(8,47,73,.22)}
.category-card.selected{border-color:rgba(34,197,94,.58);box-shadow:0 0 0 2px rgba(34,197,94,.14),0 18px 42px rgba(22,101,52,.18)}
.category-icon{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:34px;border-radius:12px;background:rgba(56,189,248,.14);border:1px solid rgba(125,211,252,.18);color:#93e8ff;font-size:11px;font-weight:900;margin-bottom:12px}
.category-card strong{display:block;font-size:14px;line-height:1.25;margin-bottom:8px}
.category-card small{display:block;color:#9db6d4;font-size:11px;line-height:1.35}
.category-card.search-result small{word-break:break-word}
.category-empty{padding:18px;text-align:center;color:var(--muted);border:1px dashed rgba(125,211,252,.18);border-radius:14px;background:rgba(7,14,28,.34)}
.category-insight{margin-top:14px;padding:14px;border-radius:16px;border:1px solid rgba(34,197,94,.2);background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(59,130,246,.08))}
.insight-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.insight-top strong{font-size:13px;line-height:1.35}.insight-top span{color:#bbf7d0;font-size:12px;font-weight:900;white-space:nowrap}
.category-insight p{color:#d6e9ff;font-size:13px;line-height:1.55;margin:0}
.people-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.phone-search{display:grid;grid-template-columns:1fr auto;gap:10px}
/* ── BIRTHDAY MODULE ─────────────────────────────────────────────────────── */
/* Header */
.birthday-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.birthday-header-left h2{font-size:20px;margin:0 0 3px}.birthday-header-left p{color:var(--muted);font-size:13px;margin:0}
.birthday-stats-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.birthday-stat-chip{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--border);font-size:13px}
.birthday-stat-chip strong{color:#fff;font-weight:800}.birthday-stat-chip span{color:var(--muted)}
/* Tabs */
.birthday-tabs{display:flex;gap:2px;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:0;overflow-x:auto}
.birthday-tab{padding:9px 16px;border-radius:10px 10px 0 0;font-size:13px;font-weight:700;color:var(--muted);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;margin-bottom:-1px;white-space:nowrap;display:flex;align-items:center;gap:6px}
.birthday-tab.active{color:#fff;border-bottom-color:#38bdf8}
.birthday-tab-panel{display:none}.birthday-tab-panel.active{display:block}
/* Cards grid */
.birthday-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
/* Person cards */
.birthday-person-card{padding:14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--border);transition:border-color .15s,background .15s}
.birthday-person-card:hover{border-color:rgba(56,189,248,.28);background:rgba(56,189,248,.03)}
.birthday-person-card.today{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.04)}
.birthday-person-top{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.birthday-person-card h3{font-size:14px;line-height:1.25;margin:0 0 2px;color:#eef7ff}
.birthday-person-card p{color:var(--muted);font-size:12px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}
.birthday-person-meta{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:12px;line-height:1.5;margin-bottom:10px}
.birthday-person-foot{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.birthday-actions{display:flex;gap:6px;flex-wrap:wrap}
/* Avatars */
.birthday-avatar{width:46px;height:46px;flex:0 0 auto;border-radius:999px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#0a3d8f,#38bdf8)}
.birthday-avatar img{width:100%;height:100%;object-fit:cover}
.birthday-avatar span{font-size:14px;font-weight:900;color:#fff}
.birthday-avatar.small{width:34px;height:34px}.birthday-avatar.small span{font-size:11px}
.birthday-person-card:nth-child(3n+2) .birthday-avatar{background:linear-gradient(135deg,#1a3a5c,#0ea5e9)}
.birthday-person-card:nth-child(3n+3) .birthday-avatar{background:linear-gradient(135deg,#1e3a6e,#6366f1)}
/* Empty / load more */
.birthday-empty{padding:28px;text-align:center;color:var(--muted);font-size:13px}
.birthday-load-more{text-align:center;margin-top:12px}
.birthday-hidden{display:none}
/* Admin manual items */
.manual-birthday-list{display:grid;gap:8px}
.manual-birthday-item{border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.04);overflow:hidden;transition:border-color .15s}
.manual-birthday-item:hover{border-color:rgba(56,189,248,.2)}
.manual-birthday-item summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;cursor:pointer;list-style:none}
.manual-birthday-item summary::-webkit-details-marker{display:none}
.manual-birthday-item summary strong,.manual-birthday-item summary span{display:block}
.manual-birthday-item summary span{color:var(--muted);font-size:12px;margin-top:2px}
.manual-edit-form{display:grid;gap:10px;padding:14px;border-top:1px solid var(--border);background:rgba(0,0,0,.1)}
.calendar-filter{display:grid;grid-template-columns:170px 130px auto;gap:10px;align-items:center}
.meeting-timeline{display:grid;gap:10px}
.meeting-row{display:grid;grid-template-columns:120px minmax(0,1fr) 260px;gap:14px;align-items:start;padding:14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid var(--border)}
.meeting-row.is-cancelled{opacity:.62}
.meeting-time strong,.meeting-time span{display:block}.meeting-time strong{font-size:13px}.meeting-time span{font-size:12px;color:var(--muted);margin-top:4px}
.meeting-title{display:flex;align-items:center;gap:10px;justify-content:space-between}.meeting-body p,.meeting-body small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:5px}
.meeting-actions{display:grid;gap:8px}.reschedule-form{display:grid;grid-template-columns:1fr;gap:6px}.reschedule-form .input{padding:7px 9px;font-size:12px}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:1180px){.hero-cinematic{grid-template-columns:1fr}.hero-floating{grid-template-columns:repeat(3,1fr)}.float-card.wide{grid-column:auto}.kpi-grid{grid-template-columns:repeat(2,1fr)}.quick-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1180px){.birthday-cards-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.birthday-stats-row{gap:6px}}
@media(max-width:1180px){.ticket-workspace{grid-template-columns:1fr}.ticket-side{position:static;grid-template-columns:1fr 1fr}.ticket-composer-shell{bottom:8px}}
@media(max-width:800px){
  .main{padding:12px 12px 88px}
  .topbar{align-items:flex-start}
  .topbar-actions{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:8px}
  .global-search{grid-column:1/-1;min-width:0;width:100%}
  .quick-action{justify-content:center}
  .hero-cinematic{min-height:520px;padding:28px 20px;border-radius:24px;align-items:end}
  .hero-cinematic h1{font-size:52px}
  .hero-floating{grid-template-columns:1fr;gap:10px}
  .float-card,.float-card.wide{min-height:auto}
  .quick-strip,.status-strip{grid-template-columns:1fr 1fr}
  .calendar-days{grid-template-columns:1fr 1fr}.calendar-head{display:block}.calendar-bar{margin-top:12px}.resource-grid{grid-template-columns:1fr}
  .inline-edit,.people-filters,.phone-search{grid-template-columns:1fr}
  .calendar-filter,.meeting-row{grid-template-columns:1fr}
  .category-grid{grid-template-columns:1fr}
  .category-card{min-height:86px}
  .picker-head,.insight-top{display:block}
  .picker-head .btn{margin-top:10px}
  .insight-top span{display:block;margin-top:6px;white-space:normal}
  .table{display:block;overflow-x:auto;white-space:nowrap}
  .msg-bubble{max-width:92%;margin-left:0}
  .ticket-workspace{gap:12px}.ticket-side{grid-template-columns:1fr}.ticket-brief{display:block}.ticket-number{margin-bottom:10px}.ticket-brief-main h2{font-size:19px}.ticket-classification-alert{display:block}.ticket-classification-alert .btn{margin-top:12px;width:100%;justify-content:center}.ticket-thread-head{display:block}.ticket-thread-filters{margin-top:10px}.thread-bubble{max-width:100%}.thread-item,.thread-item.agent{grid-template-columns:30px minmax(0,1fr)}.thread-item.agent .thread-avatar{grid-column:1}.thread-item.agent .thread-bubble{grid-column:2;justify-self:stretch;border-top-right-radius:16px;border-top-left-radius:6px}.ticket-composer-shell{position:sticky;bottom:0;margin-left:-2px;margin-right:-2px;border-radius:18px 18px 0 0}.composer-actions{display:grid;grid-template-columns:1fr 1fr}.composer-notify{grid-column:1/-1;margin-right:0}.composer-actions .btn{grid-column:1/-1;justify-content:center;min-height:44px}.status-quick{display:grid;grid-template-columns:1fr 1fr}.status-quick span{grid-column:1/-1}.status-quick label{justify-content:center}
  .birthday-hero-premium{min-height:auto;padding:22px}.birthday-hero-copy h2{font-size:38px}.birthday-hero-stats,.birthday-insights{grid-template-columns:1fr}.birthday-feature{padding:18px}.feature-avatar{width:96px;height:96px}.feature-body h2{font-size:24px}.birthday-carousel{grid-auto-columns:minmax(250px,88vw)}.birthday-section{padding:14px}.birthday-section-head{align-items:flex-start}.upcoming-birthday{grid-template-columns:auto minmax(0,1fr)}.upcoming-birthday time{grid-column:2}.manual-birthday-item summary{grid-template-columns:auto minmax(0,1fr)}.manual-birthday-item summary .badge{grid-column:2;justify-self:start}
}

/* Performance pass: lighter effects on repeated enterprise surfaces */
.card,.branch-card,.status-card,.room-card{
  backdrop-filter:none;
  box-shadow:0 14px 38px rgba(0,11,24,.24),inset 0 1px rgba(255,255,255,.035);
}
.card{animation:none}
.float-card{backdrop-filter:none;box-shadow:0 16px 42px rgba(0,11,24,.28)}
.hero-cinematic::before{backdrop-filter:none}
.nav a,.card,.btn,.shortcut-card,.branch-card{transition:background .16s,border-color .16s,color .16s,box-shadow .16s}
@media(max-width:520px){
  .hero-cinematic h1{font-size:44px}
  .hero-actions .btn{width:100%;justify-content:center}
  .kpi-grid,.quick-strip,.status-strip{grid-template-columns:1fr}
  .topbar-actions{grid-template-columns:1fr auto}
  .user-chip-name,.user-chip small{display:none}
}

/* IBG institutional identity layer */
:root{
  --bg:#001121;
  --panel:#061a31;
  --panel2:#082542;
  --muted:#89a7c4;
  --text:#eef7ff;
  --blue:#006fba;
  --blue2:#004f92;
  --cyan:#2aa7df;
  --ibg-navy:#001d39;
  --ibg-navy-2:#002b52;
  --ibg-blue:#0072bc;
  --ibg-blue-soft:#42a9e6;
  --border:rgba(117,176,220,.16);
  --border2:rgba(117,176,220,.26);
  --shadow:0 22px 70px rgba(0,13,29,.45);
  --glow:0 26px 78px rgba(0,114,188,.24);
}
body{
  background:
    radial-gradient(ellipse at 18% 0%,rgba(0,114,188,.18) 0%,transparent 48%),
    radial-gradient(ellipse at 84% 18%,rgba(42,167,223,.12) 0%,transparent 34%),
    linear-gradient(180deg,#001121 0%,#00182f 45%,#000b17 100%);
}
body::before{
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 26%),
    linear-gradient(120deg,rgba(0,114,188,.10),transparent 38%,rgba(0,29,57,.36));
}
.sidebar{
  background:linear-gradient(180deg,rgba(0,17,33,.98),rgba(0,29,57,.96) 48%,rgba(0,13,26,.98));
  border-right:1px solid rgba(86,154,207,.18);
}
.brand-logo{
  background:linear-gradient(135deg,#0072bc,#49b5ee);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 16px 42px rgba(0,114,188,.34);
}
.brand span{
  background:linear-gradient(135deg,#5cc2f4,#0072bc);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.brand-sub{color:#9cc4e4;letter-spacing:.08em}
.sidebar-user,.global-search,.user-chip,.notif-btn,.quick-action{
  background:rgba(0,29,57,.58);
  border-color:rgba(111,177,225,.18);
}
.nav-section{color:#76a6ca}
.nav a{color:#9dbbd5}
.nav a:hover{background:rgba(0,114,188,.16);border-color:rgba(66,169,230,.22)}
.nav a.active{
  background:linear-gradient(135deg,rgba(0,114,188,.34),rgba(42,167,223,.12));
  box-shadow:inset 0 1px rgba(255,255,255,.05);
}
.nav a.active::before{background:linear-gradient(180deg,#6bc8f7,#0072bc)}
.topbar{
  background:linear-gradient(180deg,rgba(0,17,33,.96),rgba(0,17,33,.78) 72%,transparent);
}
.card,.branch-card{
  background:linear-gradient(180deg,rgba(5,31,57,.82),rgba(0,23,43,.72));
  border-color:rgba(116,178,224,.16);
  box-shadow:0 22px 70px rgba(0,11,24,.34),inset 0 1px rgba(255,255,255,.045);
}
.card:hover,.branch-card:hover{border-color:rgba(66,169,230,.34)}
.btn-primary{
  background:linear-gradient(135deg,#0072bc,#00559d);
  box-shadow:0 10px 28px rgba(0,114,188,.34);
}
.btn-primary:hover{box-shadow:0 14px 36px rgba(0,114,188,.5)}
.btn-secondary{
  background:rgba(0,114,188,.14);
  color:#b7def8;
  border-color:rgba(0,114,188,.32);
}
.badge-blue,.badge-cyan{
  background:rgba(0,114,188,.2);
  color:#9bd7ff;
}
.hero-cinematic{
  background-image:
    linear-gradient(135deg, rgba(0, 17, 33, 0.94), rgba(0, 45, 86, 0.72)),
    url("/static/templates/image/image01.jpeg");
  border-color:rgba(111,177,225,.20);
  box-shadow:0 40px 120px rgba(0,13,29,.5),inset 0 1px rgba(255,255,255,.12);
}
.hero-cinematic::before{
  background:
    linear-gradient(90deg,rgba(255,255,255,.075),transparent 34%),
    radial-gradient(circle at 72% 22%,rgba(0,114,188,.36),transparent 25%),
    linear-gradient(180deg,transparent,rgba(0,17,33,.28));
}
.hero-cinematic::after{background:linear-gradient(90deg,transparent,rgba(91,195,246,.75),transparent)}
.hero-kicker{color:#d4ebfb}
.live-pill{
  background:rgba(0,114,188,.24);
  color:#dff4ff;
  border-color:rgba(91,195,246,.34);
}
.hero-copy{color:#c8def1!important}
.brand-proof{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.brand-proof span{
  padding:7px 11px;
  border-radius:999px;
  background:rgba(0,29,57,.62);
  border:1px solid rgba(107,200,247,.22);
  color:#cfeaff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.float-card{
  background:rgba(0,20,38,.62);
  border-color:rgba(133,192,234,.22);
}
.float-card span,.float-card small{color:#a8cce8}
.kpi .kpi-icon,.item-avatar,.channel-avatar{
  background:linear-gradient(135deg,#0072bc,#38aee8);
}
.quick-strip a,.status-card,.room-card,.calendar-premium{
  background:rgba(0,29,57,.62);
  border-color:rgba(111,177,225,.16);
}
.quick-strip a:hover{border-color:rgba(66,169,230,.42);box-shadow:var(--glow)}
.room-photo{
  background-image:linear-gradient(135deg,rgba(0,29,57,.58),rgba(0,114,188,.34)),url("/static/templates/image/image01.jpeg");
}
@media(max-width:520px){
  .brand-proof{gap:7px}
  .brand-proof span{font-size:10px;padding:6px 9px}
}

/* 2026 enterprise refresh: cleaner SaaS direction, lighter surfaces, lower visual cost */
:root{
  --bg:#f4f7fb;
  --panel:#ffffff;
  --panel2:#f8fafc;
  --text:#172033;
  --muted:#64748b;
  --blue:#2563eb;
  --blue2:#1d4ed8;
  --cyan:#0891b2;
  --green:#16a34a;
  --yellow:#d97706;
  --red:#dc2626;
  --purple:#7c3aed;
  --border:rgba(15,23,42,.10);
  --border2:rgba(15,23,42,.16);
  --radius:14px;
  --shadow:0 10px 28px rgba(15,23,42,.08);
}
body{
  background:#f4f7fb;
  background-image:none;
  color:var(--text);
}
body::before{display:none}
body:not(.light-mode){
  --bg:#0f172a;
  --panel:#111827;
  --panel2:#172033;
  --text:#e5edf7;
  --muted:#9aa8ba;
  --border:rgba(226,232,240,.10);
  --border2:rgba(226,232,240,.16);
  background:#0f172a;
}
.sidebar{
  background:var(--panel);
  border-right:1px solid var(--border);
  backdrop-filter:none;
}
.sidebar-header,.sidebar-user,.sidebar-footer{border-color:var(--border)}
.sidebar-user,.global-search,.user-chip,.notif-btn,.quick-action{
  background:var(--panel2);
  border-color:var(--border);
}
.brand{font-size:22px;letter-spacing:0;color:var(--text)}
.brand span{background:none;-webkit-text-fill-color:currentColor;color:var(--blue)}
.brand-logo{
  width:38px;height:38px;border-radius:10px;
  background:#e8f0ff;color:#1d4ed8;box-shadow:none;border:1px solid var(--border);
}
body:not(.light-mode) .brand-logo{background:#1e293b;color:#93c5fd}
.brand-sub{color:var(--muted);letter-spacing:.04em}
.nav{padding:10px}
.nav-section{padding:12px 10px 5px;color:var(--muted);letter-spacing:.08em}
.nav a{
  border:1px solid transparent;
  border-radius:10px;
  padding:9px 10px;
  color:var(--muted);
}
.nav a:hover{background:var(--panel2);border-color:var(--border);color:var(--text);box-shadow:none;transform:none}
.nav a.active{
  background:#eef4ff;
  color:#1e40af;
  border-color:#dbe8ff;
  box-shadow:none;
}
body:not(.light-mode) .nav a.active{background:#1e293b;color:#bfdbfe;border-color:rgba(147,197,253,.18)}
.nav a.active::before{display:none}
.nav-icon{font-size:14px!important}
.main{padding:18px 24px;background:var(--bg)}
.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(244,247,251,.92);
  border-bottom:1px solid var(--border);
  margin:-18px -24px 18px;
  padding:14px 24px;
  backdrop-filter:blur(10px);
}
body:not(.light-mode) .topbar{background:rgba(15,23,42,.92)}
.topbar-title h1{font-size:20px;letter-spacing:0}.topbar-title p{font-size:12px}
.card,.branch-card,.status-card,.room-card,.agenda-panel,.chat-layout{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:var(--shadow);
  backdrop-filter:none;
}
.card{padding:18px}
.card:hover,.branch-card:hover{border-color:var(--border2)}
.card-header{margin-bottom:14px}.card-header h2,.card h2{font-size:15px}
.hero,.hero-cinematic,.agenda-hero-premium{
  min-height:auto;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:var(--shadow);
  padding:22px;
}
.hero::after,.hero-cinematic::before,.hero-cinematic::after{display:none}
.hero-cinematic{display:block;color:var(--text)}
.hero-cinematic h1{font-size:34px;text-shadow:none;color:var(--text);letter-spacing:0}
.hero-subtitle,.hero-copy,.agenda-hero-premium p{color:var(--muted)!important}
.hero-floating{display:none}
.hero-kicker,.brand-proof{color:var(--muted)}
.live-pill,.brand-proof span{
  background:var(--panel2);
  border:1px solid var(--border);
  color:var(--muted);
}
.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.kpi .kpi-icon{font-size:18px;margin-bottom:8px;background:none}
.kpi .kpi-num{font-size:26px;letter-spacing:0}
.kpi .kpi-label{font-size:12px}
.quick-strip{gap:10px}.quick-strip a{background:var(--panel);border-color:var(--border);box-shadow:none}
.btn{border-radius:10px;box-shadow:none!important;transform:none!important}
.btn-primary{background:#2563eb;color:#fff}.btn-secondary{background:#eef4ff;color:#1d4ed8;border-color:#dbe8ff}
body:not(.light-mode) .btn-secondary{background:#1e293b;color:#bfdbfe;border-color:rgba(147,197,253,.18)}
.input,.textarea-input,.chat-input-area textarea,.chat-search input{
  background:var(--panel2);
  color:var(--text);
  border-color:var(--border);
  border-radius:10px;
}
select.input option{background:var(--panel);color:var(--text)}
.table th{color:var(--muted);border-color:var(--border)}.table td{border-color:var(--border);color:var(--text)}
.item{border-radius:10px}.item-avatar,.person-avatar,.cert-icon,.channel-avatar{
  background:#eef4ff;color:#1d4ed8;border:1px solid #dbe8ff;box-shadow:none;
}
body:not(.light-mode) .item-avatar,body:not(.light-mode) .person-avatar,body:not(.light-mode) .cert-icon,body:not(.light-mode) .channel-avatar{
  background:#1e293b;color:#bfdbfe;border-color:rgba(147,197,253,.18);
}
.people-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.people-hero h2,.feed-composer h2{font-size:24px;margin:3px 0}.people-hero p,.feed-composer p{color:var(--muted);font-size:14px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.people-hero-actions,.agenda-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.people-layout,.feed-layout,.cert-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}
.cert-layout{grid-template-columns:320px minmax(0,1fr)}
.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:12px}
.person-card,.cert-card,.social-card{
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel2);
  padding:14px;
}
.person-top{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:10px}
.person-avatar{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:900}
.person-card h3,.cert-card h3,.feed-post h3{font-size:14px;margin:0;color:var(--text)}
.person-card p,.cert-card p{font-size:12px;color:var(--muted);margin:2px 0 0}
.person-meta{display:grid;gap:5px;margin-bottom:12px;color:var(--muted);font-size:12px}
.person-meta a{color:var(--blue)}
.chat-layout{overflow:hidden}.chat-channel-item small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.msg-person{display:grid}.msg-person span{font-size:11px;color:var(--muted)}
.msg-bubble{color:var(--text)}
.birthday-wall{border:1px solid var(--border);background:var(--panel2);border-radius:10px;padding:10px;margin:10px 0;font-size:12px}
.birthday-wall strong{display:block;margin-bottom:6px}.birthday-wall p{white-space:normal;max-width:none;margin:4px 0;color:var(--muted)}
.birthday-wall p span{font-weight:800;color:var(--text)}
.birthday-message-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}
.feed-layout{grid-template-columns:minmax(0,1fr) 300px}.feed-composer{margin-bottom:12px}
.feed-post{margin-bottom:12px}.feed-post-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.feed-post-head span{display:block;color:var(--muted);font-size:12px}.feed-post p{color:var(--text);line-height:1.55}
.social-card{display:grid;gap:6px;margin-top:10px}.social-card span{color:var(--text);font-weight:700}.social-card p{color:var(--muted);font-size:13px}
.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.cert-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px}.cert-icon{width:54px;height:54px;border-radius:12px;display:grid;place-items:center;font-size:12px;font-weight:900}.cert-meta{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0;color:var(--muted);font-size:12px}
.people-suggest{display:flex;gap:6px;flex-wrap:wrap;margin-top:-6px;margin-bottom:12px}.people-suggest button{border:1px solid var(--border);background:var(--panel2);color:var(--muted);border-radius:999px;padding:6px 9px;font-size:12px;cursor:pointer}
.availability-box{display:grid;gap:5px;border:1px solid var(--border);background:var(--panel2);border-radius:12px;padding:12px}.availability-box span{color:var(--muted);font-size:13px}
.agenda-toolbar{background:var(--panel);border-color:var(--border);backdrop-filter:none}.agenda-tab{background:var(--panel2);border-color:var(--border)}.agenda-tab.active{background:#2563eb;color:#fff}
@media(max-width:980px){.people-layout,.feed-layout,.cert-layout{grid-template-columns:1fr}.people-hero{align-items:flex-start;flex-direction:column}.cert-layout aside{order:2}}
@media(max-width:800px){
  .main{padding:12px 12px 76px}
  .topbar{margin:-12px -12px 14px;padding:12px}
  .hero-cinematic h1{font-size:28px}
  .birthday-message-form{grid-template-columns:1fr}
}

/* Default is the cleaner light SaaS UI; dark-mode is the calmer alternate theme. */
body:not(.dark-mode){
  --bg:#f4f7fb;
  --panel:#ffffff;
  --panel2:#f8fafc;
  --text:#172033;
  --muted:#64748b;
  --border:rgba(15,23,42,.10);
  --border2:rgba(15,23,42,.16);
  background:#f4f7fb;
  color:var(--text);
}
body.dark-mode{
  --bg:#0f172a;
  --panel:#111827;
  --panel2:#172033;
  --text:#e5edf7;
  --muted:#9aa8ba;
  --border:rgba(226,232,240,.10);
  --border2:rgba(226,232,240,.16);
  background:#0f172a;
  color:var(--text);
}
body.dark-mode .topbar{background:rgba(15,23,42,.92)}
body.dark-mode .nav a.active{background:#1e293b;color:#bfdbfe;border-color:rgba(147,197,253,.18)}
body.dark-mode .btn-secondary{background:#1e293b;color:#bfdbfe;border-color:rgba(147,197,253,.18)}
body.dark-mode .item-avatar,body.dark-mode .person-avatar,body.dark-mode .cert-icon,body.dark-mode .channel-avatar{
  background:#1e293b;color:#bfdbfe;border-color:rgba(147,197,253,.18);
}
body:not(.dark-mode) .topbar{background:rgba(244,247,251,.92)}
body:not(.dark-mode) .brand-logo{background:#e8f0ff;color:#1d4ed8;border-color:var(--border)}
body:not(.dark-mode) .nav a.active{background:#eef4ff;color:#1e40af;border-color:#dbe8ff}
body:not(.dark-mode) .btn-secondary{background:#eef4ff;color:#1d4ed8;border-color:#dbe8ff}
body:not(.dark-mode) .item-avatar,body:not(.dark-mode) .person-avatar,body:not(.dark-mode) .cert-icon,body:not(.dark-mode) .channel-avatar{
  background:#eef4ff;color:#1d4ed8;border-color:#dbe8ff;
}

/* Premium UX refinements */
.dashboard-welcome{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.dashboard-welcome::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-2;
  background:url("/static/templates/image/image01.jpeg") center/cover no-repeat;
  opacity:.13;
  filter:blur(1.5px) saturate(.85);
  transform:scale(1.02);
}
.dashboard-welcome::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(248,250,252,.72));
}
body.dark-mode .dashboard-welcome::after{background:linear-gradient(135deg,rgba(17,24,39,.90),rgba(15,23,42,.78))}
.card,.person-card,.cert-card,.feed-post,.social-card,.notification-row,.agenda-event,.room-card,.status-card{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;
}
.card:hover,.person-card:hover,.cert-card:hover,.feed-post:hover,.social-card:hover,.notification-row:hover,.room-card:hover,.status-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(15,23,42,.12);
  border-color:var(--border2);
}
.kpi:hover .kpi-icon,.person-card:hover .person-avatar,.cert-card:hover .cert-icon,.feed-post:hover .person-avatar{
  transform:scale(1.04);
  border-color:rgba(37,99,235,.28);
}
.nav-section{
  margin-top:8px;
  border-top:1px solid transparent;
}
.nav-section:not(:first-child){border-top-color:var(--border);padding-top:14px}
.nav a{position:relative}
.nav a.active::after{
  content:'';
  position:absolute;
  left:4px;
  top:9px;
  bottom:9px;
  width:3px;
  border-radius:99px;
  background:#2563eb;
}
.nav-icon{
  width:24px!important;
  height:24px;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--panel2);
  font-size:13px!important;
  line-height:1;
}
.nav a.active .nav-icon{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}
body.dark-mode .nav a.active .nav-icon{background:#1e3a5f;color:#bfdbfe;border-color:rgba(147,197,253,.2)}
.notif-menu{position:relative}
.notif-dropdown{
  position:absolute;
  right:0;
  top:48px;
  width:min(360px,calc(100vw - 24px));
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:0 24px 60px rgba(15,23,42,.16);
  padding:10px;
  opacity:0;
  pointer-events:none;
  transform:translateY(-6px);
  transition:opacity .14s ease,transform .14s ease;
  z-index:300;
}
.notif-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)}
.notif-dropdown-head{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 10px;border-bottom:1px solid var(--border);margin-bottom:6px}
.notif-dropdown-head a{font-size:12px;color:var(--blue);font-weight:800}
.notif-preview{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;padding:10px;border-radius:10px}
.notif-preview:hover{background:var(--panel2)}
.notif-preview-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eef4ff;color:#1d4ed8;font-weight:900}
.notif-preview strong{display:block;font-size:13px}.notif-preview small{display:block;color:var(--muted);font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-preview.empty{display:block;color:var(--muted)}
.notifications-shell{max-width:980px}
.notification-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--panel2);margin-bottom:10px}
.notification-row.unread{background:#eef4ff;border-color:#dbe8ff}
body.dark-mode .notification-row.unread{background:#172554;border-color:rgba(147,197,253,.18)}
.notification-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#eef4ff;color:#1d4ed8;font-weight:900}.notification-icon.success{background:#dcfce7;color:#15803d}.notification-icon.warn{background:#fef3c7;color:#b45309}.notification-icon.error{background:#fee2e2;color:#b91c1c}
.notification-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.notification-top strong{font-size:14px}.notification-top time{font-size:12px;color:var(--muted)}
.notification-body p{font-size:13px;color:var(--muted);margin:4px 0 8px}.notification-tags{display:flex;gap:6px;flex-wrap:wrap}.notification-tags span{font-size:11px;color:var(--muted);background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:4px 7px}
.chat-layout{
  min-height:calc(100vh - 138px);
  border-radius:16px;
}
.chat-sidebar{background:var(--panel2);width:300px}
.chat-sidebar-header,.chat-header,.chat-input-area{background:var(--panel);border-color:var(--border)}
.chat-channel-item{border:1px solid transparent;border-radius:10px;color:var(--text)}
.chat-channel-item:hover{background:var(--panel);border-color:var(--border)}
.chat-channel-item.active{background:#eef4ff;color:#1e40af;border-color:#dbe8ff}
body.dark-mode .chat-channel-item.active{background:#1e293b;color:#bfdbfe;border-color:rgba(147,197,253,.18)}
.chat-messages{background:linear-gradient(180deg,var(--panel),var(--panel2));padding:12px 18px}
.msg-group{margin-bottom:10px}.msg-sender{margin-bottom:3px}.msg-bubble{margin-left:38px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel);font-size:13px;line-height:1.45;max-width:760px}
.chat-input-area{padding:10px}.chat-input-area textarea{min-height:42px;border-radius:12px}.chat-input-area .btn-icon{border-radius:12px}
.agenda-hero-premium{display:flex;align-items:center;justify-content:space-between;background:var(--panel);color:var(--text)}
.agenda-hero-premium h2{font-size:28px;letter-spacing:0}
.agenda-panel{box-shadow:var(--shadow)}
.agenda-week-board,.agenda-timeline,.agenda-month-cell{background:var(--panel);border-color:var(--border)}
.agenda-quarter-slot:hover{background:#eff6ff}
body.dark-mode .agenda-quarter-slot:hover{background:#1e293b}
.agenda-event{
  background:#eff6ff;
  border-color:#dbeafe;
  border-left-color:#60a5fa;
  box-shadow:none;
  color:#172033;
}
body.dark-mode .agenda-event{background:#172554;color:#e5edf7;border-color:rgba(147,197,253,.18);border-left-color:#60a5fa}
.agenda-event-top strong{font-size:12px}.agenda-event-meta{color:var(--muted);font-size:11px}
.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.mini-calendar-label{font-size:11px;color:var(--muted);text-align:center;font-weight:800}.mini-calendar-day{height:32px;border-radius:9px;display:grid;place-items:center;font-size:12px;border:1px solid transparent}.mini-calendar-day:hover{background:var(--panel2);border-color:var(--border)}.mini-calendar-day.today{border-color:#93c5fd;color:#1d4ed8}.mini-calendar-day.selected{background:#2563eb;color:#fff}.mini-calendar-day.muted{opacity:.2}
.available-room-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;padding:9px;border-radius:10px;border:1px solid var(--border);margin-bottom:8px}.available-room-row small{grid-column:2;color:var(--muted)}
.feed-premium{align-items:start}.feed-composer{position:sticky;top:86px}.feed-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.feed-media-soft{height:120px;border-radius:12px;background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(8,145,178,.08)),url("/static/templates/image/image01.jpeg") center/cover;opacity:.9;border:1px solid var(--border);margin:10px 0 12px}.feed-post-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:12px}.feed-aside{position:sticky;top:86px}
.permissions-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.permissions-shell aside{position:sticky;top:86px}.profile-list{display:grid;gap:8px}.profile-list a{display:grid;gap:3px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.profile-list a.active{background:#eef4ff;border-color:#bfdbfe;color:#1d4ed8}.profile-list span{color:var(--muted);font-size:12px}
.permission-search{margin-bottom:12px}.permission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.permission-card{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:12px;background:var(--panel2);padding:12px;cursor:pointer}.permission-card input{margin-top:3px}.permission-card strong{display:block;font-size:13px}.permission-card small{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:3px}.permissions-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.person-card{cursor:pointer}.person-drawer{position:fixed;inset:0;background:rgba(15,23,42,.28);z-index:500;display:flex;justify-content:flex-end}.person-drawer.hidden{display:none}.person-drawer-panel{width:min(390px,100%);height:100%;background:var(--panel);border-left:1px solid var(--border);box-shadow:-24px 0 60px rgba(15,23,42,.16);padding:24px;overflow:auto}.person-drawer-avatar{width:76px;height:76px;border-radius:20px;background:#eef4ff;color:#1d4ed8;display:grid;place-items:center;font-size:28px;font-weight:900;margin-bottom:14px}.drawer-status{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px;margin:10px 0 18px}.drawer-lines{display:grid;gap:8px;margin-bottom:18px}.drawer-lines span{display:grid;gap:3px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2)}.drawer-lines small{color:var(--muted)}
@media(max-width:980px){.permissions-shell{grid-template-columns:1fr}.permissions-shell aside,.feed-composer,.feed-aside{position:static}.chat-sidebar{width:100%}.notification-row{grid-template-columns:40px minmax(0,1fr)}.notification-row .btn{grid-column:2;justify-self:start}.agenda-hero-premium{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.notif-dropdown{right:-48px}.permission-grid{grid-template-columns:1fr}.msg-bubble{margin-left:0}.person-drawer-panel{width:100%}.feed-media-soft{height:86px}.mini-calendar-day{height:28px}}

/* Phonebook + service desk polish */
.phonebook-shell{
  display:grid;
  grid-template-columns:340px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.phonebook-admin{position:sticky;top:86px}
.phonebook-admin-actions{display:flex;gap:8px;align-items:center;margin-top:12px}
.toggle-line{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin:4px 0 10px}
.excel-placeholder{
  display:grid;
  gap:3px;
  margin-top:14px;
  padding:12px;
  border:1px dashed var(--border2);
  border-radius:12px;
  background:var(--panel2);
  color:var(--muted);
  font-size:12px;
}
.excel-placeholder strong{color:var(--text);font-size:13px}
.phonebook-filters,.service-filters{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) auto;
  gap:9px;
  margin-bottom:12px;
}
.service-filters{grid-template-columns:repeat(4,minmax(0,1fr));}
.service-filters .btn{justify-content:center}
.ticket-quick-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.ticket-quick-filters a{display:inline-flex;align-items:center;min-height:32px;padding:7px 11px;border:1px solid var(--border);border-radius:999px;background:var(--panel2);color:var(--text);font-size:12px;font-weight:900;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s}
.ticket-quick-filters a:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.3)}
.ticket-quick-filters a.is-active{background:#1f6da8;border-color:#1f6da8;color:#fff}
.ticket-filter-mobile-toggle,.ticket-filter-backdrop,.ticket-filter-head{display:none}
.ticket-filter-shell{position:relative;z-index:20;display:grid;grid-template-columns:1fr;gap:10px;padding:0;margin-bottom:12px}
.ticket-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.filter-menu{position:relative;min-width:0}
.filter-menu summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:42px;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);cursor:pointer}
.filter-menu summary::-webkit-details-marker{display:none}
.filter-menu summary span,.filter-date>span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}
.filter-menu summary strong{min-width:0;color:var(--text);font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.filter-menu summary:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);color:var(--muted);margin-left:2px}
.filter-menu[open] summary{border-color:rgba(37,99,235,.36);background:var(--panel)}
.filter-menu[open] summary:after{transform:rotate(225deg);margin-top:5px}
.filter-menu-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;display:grid;gap:4px;max-height:280px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 18px 44px rgba(15,23,42,.16)}
.filter-check{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:center;padding:8px;border-radius:9px;color:var(--text);font-size:12px;font-weight:800;cursor:pointer}
.filter-check:hover{background:var(--panel2)}
.filter-check input{width:16px;height:16px;accent-color:#1f6da8}
.filter-check span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filter-date{display:grid;gap:4px;min-width:0}
.filter-date .input{height:42px}
.filter-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}
.ticket-history-note{margin:-2px 0 10px;padding:10px 12px;border:1px solid rgba(37,99,235,.18);border-radius:12px;background:rgba(37,99,235,.08);color:var(--text);font-size:12px;font-weight:800}
.table-scroll{width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.phonebook-table,.service-table,.maintenance-table{min-width:980px}
.phonebook-table th,.service-table th,.maintenance-table th{white-space:nowrap}
.phonebook-table td,.service-table td,.maintenance-table td{padding:10px 12px}
.phonebook-person{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  column-gap:9px;
  align-items:center;
}
.phonebook-person span{
  grid-row:1/3;
  width:34px;height:34px;
  border-radius:10px;
  display:grid;place-items:center;
  background:#eef4ff;
  color:#1d4ed8;
  font-weight:900;
  border:1px solid #dbe8ff;
}
.phonebook-person strong{font-size:13px}
.phonebook-person small{color:var(--muted);font-size:11px}
.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}
.row-actions form{display:inline-flex}
.empty-cell{text-align:center;color:var(--muted);padding:28px!important}
.pagination-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:var(--muted);font-size:13px}
.service-kpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
  margin-bottom:14px;
}
.service-kpi{
  padding:14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--panel);
  box-shadow:var(--shadow);
}
.service-kpi span,.service-kpi small{display:block;color:var(--muted);font-size:12px}
.service-kpi strong{display:block;font-size:26px;line-height:1.05;margin:6px 0 3px;color:var(--text)}
.service-kpi.danger strong{color:#dc2626}.service-kpi.warn strong{color:#d97706}.service-kpi.success strong{color:#16a34a}
.service-list-card .card-header{align-items:flex-start}
.ticket-row-title{display:block;color:var(--text);font-weight:800;font-size:13px;line-height:1.35}
.ticket-breadcrumb{color:var(--muted);font-size:11px;line-height:1.35;margin-top:3px}
.ticket-row-warning{font-size:11px;color:#b45309;font-weight:800;margin-top:4px}
.requester-cell{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  column-gap:8px;
  align-items:center;
}
.requester-cell span{
  grid-row:1/3;
  width:32px;height:32px;
  border-radius:10px;
  display:grid;place-items:center;
  background:var(--panel2);
  border:1px solid var(--border);
  font-weight:900;
  color:var(--blue);
}
.requester-cell strong{font-size:12px}.requester-cell small{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.branch-cell,.sla-cell{display:grid;gap:2px;font-size:12px}.branch-cell strong,.sla-cell strong{color:var(--text)}.branch-cell small,.sla-cell span{color:var(--muted)}
.ticket-click-row{cursor:pointer;transition:background .16s}
.ticket-click-row:hover{background:rgba(37,99,235,.045)}
.ticket-status-badge,.ticket-priority-badge{border:1px solid transparent}
.ticket-status-badge.is-active{background:rgba(37,99,235,.1);color:#1d4ed8;border-color:rgba(37,99,235,.18)}
.ticket-status-badge.is-waiting{background:rgba(124,58,237,.1);color:#6d28d9;border-color:rgba(124,58,237,.16)}
.ticket-status-badge.is-paused{background:rgba(14,165,233,.12);color:#0369a1;border-color:rgba(14,165,233,.18)}
.ticket-status-badge.is-resolved{background:rgba(22,163,74,.12);color:#15803d;border-color:rgba(22,163,74,.18)}
.ticket-status-badge.is-closed{background:rgba(100,116,139,.12);color:#475569;border-color:rgba(100,116,139,.18)}
.ticket-priority-badge.is-critical{background:rgba(220,38,38,.12);color:#b91c1c;border-color:rgba(220,38,38,.18);font-weight:900}
.ticket-priority-badge.is-high{background:rgba(217,119,6,.13);color:#b45309;border-color:rgba(217,119,6,.2)}
.ticket-priority-badge.is-medium{background:rgba(37,99,235,.1);color:#1d4ed8;border-color:rgba(37,99,235,.18)}
.ticket-priority-badge.is-low{background:rgba(22,163,74,.1);color:#15803d;border-color:rgba(22,163,74,.16)}
.sla-cell{padding:6px 8px;border-radius:10px;border:1px solid transparent}
.sla-cell.is-ok{background:rgba(22,163,74,.08);border-color:rgba(22,163,74,.12)}
.sla-cell.is-warn{background:rgba(217,119,6,.1);border-color:rgba(217,119,6,.16)}
.sla-cell.is-danger{background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.16)}
.sla-cell.is-paused{background:rgba(14,165,233,.1);border-color:rgba(14,165,233,.16)}
.maint-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.maint-type{
  border-width:1px;
  background:var(--panel2);
  border-color:var(--border);
  color:var(--text);
}
.maint-type.selected{
  background:#eef4ff;
  border-color:#bfdbfe;
  color:#1d4ed8;
}
body.dark-mode .maint-type.selected{background:#1e293b;color:#bfdbfe;border-color:rgba(147,197,253,.22)}
.maint-type .mt-icon{
  width:30px;height:30px;
  margin:0 auto 6px;
  border-radius:9px;
  display:grid;place-items:center;
  background:var(--panel);
  border:1px solid var(--border);
  font-size:11px;
  font-weight:900;
}
.home-news-feature{display:grid;grid-template-columns:minmax(180px,.32fr) minmax(0,1fr);gap:18px;align-items:center;padding:16px;border-radius:18px;overflow:hidden}
.home-news-feature img{width:100%;height:170px;border-radius:14px;object-fit:contain;object-position:center;background:#f8fafc;border:1px solid var(--border)}
.home-news-feature h2{margin:4px 0 7px;color:var(--text);font-size:24px;letter-spacing:0}
.home-news-feature p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.home-news-feature-meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.home-news-feature-meta span{display:inline-flex;padding:5px 9px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:11px;font-weight:900}
@media(max-width:760px){.announcements-head,.announcements-admin-hero{align-items:flex-start;flex-direction:column}.announcements-grid,.ibg-news-grid{grid-template-columns:1fr}.announcement-card-inner{grid-template-columns:1fr}.announcement-thumb-button{justify-self:start}.announcement-thumb{width:180px;height:130px}.announcement-thumb.portrait{width:130px;height:180px}.announcement-card-top{grid-template-columns:minmax(0,1fr) auto}.announcement-actions-menu{grid-column:2}.announcement-admin-image-editor{grid-template-columns:1fr}.announcement-image-preview{grid-template-columns:1fr}.announcement-image-preview img{width:100%;height:160px}.communication-modal{padding:10px}.communication-modal-panel{width:100%;max-height:96vh;border-radius:14px}.communication-modal-stage{padding:10px}.communication-modal-stage img{max-height:68vh}.communication-modal-actions{justify-content:stretch}.communication-modal-actions .btn{flex:1 1 auto}.home-news-feature{grid-template-columns:1fr;padding:14px}.home-news-feature img{height:150px}.home-news-feature h2{font-size:20px}}
.ticket-thread-card,.ticket-description,.ticket-brief,.ticket-side-panel,.ticket-composer-shell{
  background:var(--panel);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}
.support-thread{display:grid;gap:10px}
.thread-item{margin-bottom:0}
.thread-bubble{
  background:var(--panel2);
  border:1px solid var(--border);
  border-radius:13px;
  padding:11px 12px;
  box-shadow:none;
}
.thread-system-event{
  background:transparent;
  border:1px dashed var(--border2);
  color:var(--muted);
  padding:8px 10px;
  border-radius:10px;
  font-size:12px;
}
.thread-meta{gap:7px;flex-wrap:wrap}
.thread-message{font-size:13px;line-height:1.5;color:var(--text)}
.ticket-composer{
  background:var(--panel);
  border-radius:14px;
}
.composer-textarea{
  background:var(--panel2);
  border:1px solid var(--border);
  border-radius:12px;
}
.status-quick{
  background:var(--panel2);
  border:1px solid var(--border);
  border-radius:12px;
  padding:9px;
}
@media(max-width:1100px){
  .phonebook-shell{grid-template-columns:1fr}
  .phonebook-admin{position:static}
  .phonebook-filters,.service-filters{grid-template-columns:1fr 1fr}
  .ticket-filter-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .phonebook-filters,.service-filters{grid-template-columns:1fr}
  .ticket-filter-mobile-toggle{display:inline-flex;width:100%;justify-content:center;margin:0 0 12px}
  .ticket-filter-backdrop{position:fixed;inset:0;z-index:900;background:rgba(15,23,42,.42);backdrop-filter:blur(2px)}
  .ticket-filter-shell{position:fixed;left:0;right:0;bottom:0;z-index:920;display:block;max-height:86vh;margin:0;padding:14px 14px 92px;border-radius:20px 20px 0 0;border:1px solid var(--border);background:var(--panel);box-shadow:0 -20px 50px rgba(15,23,42,.22);overflow:auto;transform:translateY(102%);transition:transform .22s ease}
  .ticket-filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
  .ticket-filter-head strong{font-size:16px;color:var(--text)}
  .ticket-filter-grid{grid-template-columns:1fr;gap:10px}
  .filter-menu-panel{position:static;margin-top:6px;box-shadow:none;max-height:none}
  .filter-menu summary{min-height:48px}
  .filter-check{grid-template-columns:24px minmax(0,1fr);min-height:44px;font-size:14px}
  .filter-check input{width:22px;height:22px}
  .filter-actions{position:fixed;left:0;right:0;bottom:0;z-index:930;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px;background:var(--panel);border-top:1px solid var(--border)}
  .filter-actions .btn{min-height:44px;justify-content:center}
  body:not(.ticket-filters-open) .ticket-filter-backdrop{display:none}
  body:not(.ticket-filters-open) .ticket-filter-shell{pointer-events:none}
  body.ticket-filters-open .ticket-filter-backdrop{display:block}
  body.ticket-filters-open .ticket-filter-shell{transform:translateY(0)}
  body.ticket-filters-open{overflow:hidden}
  .pagination-row{align-items:flex-start;flex-direction:column}
  .row-actions{min-width:360px}
}

/* Official IBG HUB visual direction based on image001.png */
:root{
  --ibg-shell:#f3f6f8;
  --ibg-sidebar:#123b5a;
  --ibg-sidebar-2:#0f314b;
  --ibg-card:#ffffff;
  --ibg-line:#dfe7ee;
  --ibg-ink:#26313d;
  --ibg-muted:#6b7886;
  --ibg-accent:#1f6da8;
  --ibg-accent-2:#2e7fb8;
  --shadow:0 8px 22px rgba(31,45,61,.10);
}
body:not(.dark-mode){
  --bg:var(--ibg-shell);
  --panel:var(--ibg-card);
  --panel2:#f7fafc;
  --text:var(--ibg-ink);
  --muted:var(--ibg-muted);
  --blue:var(--ibg-accent);
  --blue2:#155b90;
  --cyan:#3286aa;
  --border:rgba(24,54,82,.12);
  --border2:rgba(24,54,82,.20);
  background:var(--ibg-shell);
}
.layout{background:var(--bg)}
.sidebar{
  width:232px;
  background:linear-gradient(180deg,var(--ibg-sidebar),var(--ibg-sidebar-2));
  border-right:0;
  box-shadow:6px 0 18px rgba(15,49,75,.12);
}
.main{margin-left:232px;max-width:calc(100vw - 232px);background:var(--bg);padding:18px 20px}
.sidebar-header{padding:12px 12px 10px;border-bottom:1px solid rgba(255,255,255,.10)}
.brand-mark{gap:10px}
.brand-logo{
  width:34px;height:34px;border-radius:50%;
  background:transparent!important;
  border:2px solid rgba(255,255,255,.85)!important;
  color:#fff!important;
  font-size:11px;
  box-shadow:none!important;
}
.brand{font-size:16px;color:#fff;line-height:1.1}
.brand span{color:#fff}
.brand-sub{color:rgba(255,255,255,.68);font-size:10px;text-transform:none;letter-spacing:0}
.sidebar-user{
  margin:10px;
  padding:8px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:10px;
  background:rgba(255,255,255,.10);
}
.sidebar-user .avatar,.user-chip .avatar{
  background:#e8eef4;color:#163851;border:1px solid rgba(255,255,255,.35);
  box-shadow:none;
}
.sidebar-user-info strong{color:#fff}.sidebar-user-info small{color:rgba(255,255,255,.72)}
.nav{padding:4px 8px 10px}
.nav-section{
  color:rgba(255,255,255,.54);
  font-size:9px;
  letter-spacing:.08em;
  padding:12px 8px 5px;
  margin-top:2px;
  border-top:1px solid rgba(255,255,255,.10)!important;
}
.nav-section:first-child{border-top:0!important}
.nav a,.sidebar-footer a{
  min-height:32px;
  color:rgba(255,255,255,.82);
  border:1px solid transparent;
  border-radius:7px;
  padding:7px 8px;
  gap:9px;
  font-size:12px;
  font-weight:600;
}
.nav a:hover,.sidebar-footer a:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.08);
  color:#fff;
}
.nav a.active{
  background:rgba(255,255,255,.17)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
}
.nav a.active::after{display:none}
.nav-icon{
  width:18px!important;height:18px;
  border:0!important;
  background:transparent!important;
  color:currentColor!important;
  border-radius:0;
  flex:0 0 18px;
}
.nav-icon svg,.topbar svg,.btn svg,.kpi-icon svg,.icon svg,.item-avatar svg,.document-icon svg{
  width:16px;height:16px;stroke-width:1.8;
}
.sidebar-footer{padding:10px;border-top:1px solid rgba(255,255,255,.10)}
.topbar{
  margin:-18px -20px 18px;
  padding:12px 20px;
  border-bottom:1px solid var(--border);
  background:rgba(243,246,248,.92)!important;
  box-shadow:none;
}
.topbar-title h1{font-size:18px;font-weight:800}.topbar-title p{font-size:11px}
.global-search{
  min-width:320px;
  height:34px;
  border-radius:8px;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(31,45,61,.04);
}
.global-search span{display:grid;place-items:center;color:#8a97a6}
.global-search .search-box{font-size:12px;padding:8px 2px}
.quick-action{
  height:34px;border-radius:7px;background:#1f6da8!important;color:#fff!important;
  border-color:#1f6da8!important;font-size:12px;padding:0 12px;
}
.notif-btn{
  width:34px;height:34px;border-radius:8px;background:transparent!important;
  border-color:transparent!important;color:#5d6b78;
}
.user-chip{height:34px;background:transparent!important;border-color:transparent!important;padding:2px 6px 2px 2px}
.card,.service-kpi,.person-card,.cert-card,.feed-post,.social-card{
  background:#fff;
  border:1px solid var(--ibg-line);
  border-radius:10px;
  box-shadow:var(--shadow);
}
.card{padding:14px}
.card:hover,.service-kpi:hover,.person-card:hover,.feed-post:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(31,45,61,.13);
}
.dashboard-welcome{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-height:196px;
  padding:20px 22px;
  border-radius:12px;
  border-color:#d8e5ec;
  overflow:hidden;
}
.dashboard-welcome::before{
  background:url("/static/templates/image/image01.jpeg") center/cover no-repeat;
  opacity:.22;
  filter:blur(1px) saturate(.75);
  transform:scale(1.01);
}
.dashboard-welcome::after{
  background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.86) 44%,rgba(255,255,255,.54) 100%);
}
.hero-kicker{font-size:11px;margin-bottom:12px}
.live-pill,.brand-proof span{
  background:rgba(224,239,236,.86);
  border:1px solid rgba(72,120,108,.18);
  color:#2f655b;
  font-weight:800;
}
.hero-cinematic h1{font-size:42px;line-height:1;margin-bottom:3px;color:#3a3d40}
.hero-subtitle{font-size:20px!important;font-weight:800;color:#30363b!important;margin-bottom:5px}
.hero-copy{max-width:540px;font-size:12px!important;color:#34404a!important;line-height:1.45}
.brand-proof{margin-top:12px}.brand-proof span{font-size:9px;padding:5px 8px}
.hero-actions{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.btn{min-height:31px;border-radius:7px;padding:7px 11px;font-size:12px;font-weight:800;gap:7px}
.btn-primary{background:#1f6da8!important;border:1px solid #1f6da8!important}
.btn-secondary{background:#f4f8fb!important;color:#244960!important;border:1px solid #d9e5ec!important}
.btn-ghost{background:#fff!important;color:#405260!important;border:1px solid #dfe7ee!important}
.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.kpi{min-height:92px;padding:12px;position:relative}
.kpi .kpi-icon{
  width:28px;height:28px;border-radius:7px;
  display:grid;place-items:center;
  background:#f2f6f9!important;color:#61707d!important;
  border:1px solid #dfe7ee!important;margin-bottom:8px;
}
.kpi .kpi-num{font-size:24px;color:#1f2d38}
.kpi .kpi-label{font-size:12px;color:#33424e;font-weight:800}
.kpi .kpi-trend{font-size:11px;color:#73808c}
.kpi::after{
  content:'';
  position:absolute;right:12px;bottom:12px;width:78px;height:26px;
  background:linear-gradient(180deg,transparent 55%,#dfe7ee 56%,transparent 58%),
    linear-gradient(90deg,#b8c9d7 8px,transparent 8px 14px,#91aabc 14px 24px,transparent 24px 31px,#c8d5df 31px 42px,transparent 42px 50px,#7da2b9 50px 61px,transparent 61px);
  opacity:.8;border-radius:3px;
}
.quick-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.quick-strip a{
  min-height:58px;
  display:grid;
  place-items:center;
  gap:5px;
  background:#fff;
  border:1px solid #dfe7ee;
  border-radius:10px;
  box-shadow:var(--shadow);
  font-size:12px;font-weight:800;color:#26313d;
}
.quick-strip svg{width:20px;height:20px;color:#1f6da8}
.grid-main{grid-template-columns:1.55fr .85fr;gap:12px}.grid-2{gap:12px}
.table th{font-size:10px;color:#73808c}.table td{font-size:12px}
.item{padding:9px;border-radius:8px}
.item-avatar{
  width:34px;height:34px;border-radius:10px;background:#f2f6f9!important;color:#1f6da8!important;border:1px solid #dfe7ee!important;
}
.badge{border-radius:999px;padding:3px 8px;font-size:10px}
.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.documents-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.documents-hero h2{font-size:22px;margin:3px 0}.documents-hero p{color:var(--muted);font-size:13px;max-width:680px}
.documents-search{display:flex;gap:8px;min-width:330px}
.document-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px}
.document-icon{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:#f2f6f9;color:#1f6da8;border:1px solid #dfe7ee}
.document-card h3{font-size:14px;margin:9px 0 4px}.document-card p{color:var(--muted);font-size:12px;line-height:1.4}.document-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(max-width:1100px){
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick-strip{grid-template-columns:repeat(2,1fr)}
  .global-search{min-width:220px}
}
@media(max-width:800px){
  .sidebar{width:260px}
  .main{margin-left:0;max-width:100vw;padding:12px}
  .topbar{margin:-12px -12px 14px;padding:10px 12px}
  .dashboard-welcome{min-height:220px}
  .hero-cinematic h1{font-size:34px}
  .kpi-grid,.quick-strip{grid-template-columns:1fr 1fr}
  .documents-hero{align-items:flex-start;flex-direction:column}.documents-search{width:100%;min-width:0}
}

/* Phonebook: manual corporate directory, table-first */
.phonebook-directory{
  display:block;
}
.phonebook-admin-page{
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.phonebook-table-shell,
.phonebook-admin-shell{
  background:#fff;
  border:1px solid var(--ibg-line);
  border-radius:8px;
  box-shadow:none;
}
.phonebook-table-shell{
  overflow:hidden;
}
.phonebook-admin-shell{
  position:sticky;
  top:84px;
  padding:14px;
}
.phonebook-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid var(--ibg-line);
  background:#fff;
}
.phonebook-header h2,
.phonebook-admin-title h2{
  margin:2px 0 3px;
  font-size:18px;
  letter-spacing:0;
}
.phonebook-header p,
.phonebook-admin-title p{
  margin:0;
  color:var(--muted);
  font-size:12px;
}
.phonebook-toolbar{
  display:grid;
  grid-template-columns:minmax(260px,1.6fr) minmax(150px,.75fr) minmax(170px,.85fr) minmax(150px,.65fr) auto;
  gap:8px;
  padding:12px 16px;
  border-bottom:1px solid var(--ibg-line);
  background:#f8fbfd;
}
.phonebook-admin-page .phonebook-toolbar{
  grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(120px,.7fr)) auto;
}
.phonebook-table{
  width:100%;
  min-width:1040px;
  border-collapse:separate;
  border-spacing:0;
}
.phonebook-table th{
  position:sticky;
  top:0;
  z-index:1;
  padding:9px 12px;
  background:#f8fbfd;
  color:#657382;
  border-bottom:1px solid var(--ibg-line);
  font-size:10px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
  text-align:left;
}
.phonebook-table td{
  padding:7px 12px;
  border-bottom:1px solid #edf2f6;
  color:#273441;
  font-size:12px;
  vertical-align:middle;
}
.phonebook-table tbody tr{
  transition:background .12s ease;
}
.phonebook-table tbody tr:hover{
  background:#f7fbff;
}
.phonebook-person{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  column-gap:8px;
  align-items:center;
  min-width:210px;
}
.phonebook-person span{
  grid-row:1/3;
  width:30px;
  height:30px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#edf4fa;
  color:#1f6da8;
  border:1px solid #dce8f1;
  font-size:12px;
  font-weight:900;
}
.phonebook-person strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
}
.phonebook-person small{
  color:var(--muted);
  font-size:10px;
}
.phonebook-link{
  color:#1f6da8;
  font-weight:800;
}
.phonebook-status{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  border:1px solid #e2e8f0;
  font-size:10px;
  font-weight:900;
}
.phonebook-status.is-active{
  background:#edf8f3;
  color:#287454;
  border-color:#ccebdd;
}
.phonebook-status.is-inactive{
  background:#f8fafc;
  color:#94a3b8;
}
.row-actions{
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.row-actions a,
.row-actions button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:5px 8px;
  border:1px solid #dbe6ee;
  border-radius:7px;
  background:#fff;
  color:#344b5d;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.row-actions a:hover,
.row-actions button:hover{
  background:#f1f6fa;
  color:#1f6da8;
}


.phonebook-table .row-actions{
  flex-wrap:nowrap;
  overflow:hidden;
  max-width:180px;
}
.phonebook-table .row-actions a,
.phonebook-table .row-actions button{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.phonebook-actions-col,
.phonebook-actions-cell{
  width:180px;
  min-width:180px;
  max-width:180px;
  text-align:right!important;
  overflow:hidden;
  white-space:nowrap;
}
.table-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
  white-space:nowrap;
  min-width:150px;
  overflow:hidden;
}
.table-action-btn{
  width:36px;
  height:36px;
  min-width:36px;
  max-width:36px;
  padding:0!important;
  border-radius:9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto;
  border:1px solid #dbe6ee!important;
  background:#fff!important;
  color:#344b5d!important;
  line-height:1;
  cursor:pointer;
  text-decoration:none!important;
  transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;
}
.table-action-btn:hover{
  background:#eef6ff!important;
  border-color:#c8ddf1!important;
  color:#1f6da8!important;
  transform:translateY(-1px);
}
.table-action-form{
  display:inline-flex;
  flex:0 0 auto;
  margin:0;
}
.table-action-btn svg{
  width:16px;
  height:16px;
  stroke-width:2;
  pointer-events:none;
}

.phonebook-empty{
  text-align:center;
  color:var(--muted);
  padding:32px!important;
}
.pagination-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  color:var(--muted);
  font-size:12px;
}
.pagination-row a{
  display:inline-flex;
  margin-left:6px;
  padding:6px 10px;
  border-radius:7px;
  border:1px solid #dbe6ee;
  background:#fff;
  color:#1f6da8;
  font-weight:800;
}
.phonebook-admin-form{
  display:grid;
  gap:9px;
  margin-top:12px;
}
.phonebook-admin-form .form-group{
  margin:0;
}
.phonebook-admin-form label{
  font-size:11px;
}
.phonebook-admin-form .input{
  min-height:34px;
}
.phonebook-admin-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.excel-placeholder{
  margin-top:12px;
  padding:11px;
  border:1px dashed #cbd8e3;
  border-radius:9px;
  background:#f8fbfd;
  color:var(--muted);
  font-size:12px;
}
.excel-placeholder strong{
  display:block;
  color:var(--text);
  margin-bottom:3px;
}
.excel-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.excel-actions .btn:disabled{
  opacity:.62;
  cursor:not-allowed;
}
body.dark-mode .phonebook-table-shell,
body.dark-mode .phonebook-admin-shell,
body.dark-mode .phonebook-header,
body.dark-mode .row-actions a,
body.dark-mode .row-actions button{
  background:var(--panel);
  border-color:var(--border);
}
body.dark-mode .phonebook-toolbar,
body.dark-mode .phonebook-table th,
body.dark-mode .phonebook-table tbody tr:hover,
body.dark-mode .excel-placeholder{
  background:var(--panel2);
}
body.dark-mode .phonebook-table td{
  border-color:var(--border);
  color:var(--text);
}
@media(max-width:1180px){
  .phonebook-admin-page{
    grid-template-columns:1fr;
  }
  .phonebook-admin-shell{
    position:static;
  }
  .phonebook-admin-page .phonebook-toolbar,
  .phonebook-toolbar{
    grid-template-columns:1fr 1fr;
  }
  .phonebook-toolbar .btn{
    justify-content:center;
  }
}
@media(max-width:620px){
  .phonebook-header,
  .pagination-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .phonebook-toolbar,
  .phonebook-admin-page .phonebook-toolbar{
    grid-template-columns:1fr;
  }
  .phonebook-table-shell,
  .phonebook-admin-shell{
    border-radius:8px;
  }
  .table-scroll{
    margin:0;
    -webkit-overflow-scrolling:touch;
  }
  .row-actions{
    min-width:250px;
  }
}

/* Dashboard hero: soft IBG truck background, clean enterprise direction */
.hero.hero-cinematic.dashboard-welcome{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-height:214px;
  padding:22px 24px;
  border-radius:12px;
  overflow:hidden;
  isolation:isolate;
  color:var(--text);
  background:#fff;
  border:1px solid #d8e5ec;
  box-shadow:0 8px 22px rgba(31,45,61,.08);
}
.hero.hero-cinematic.dashboard-welcome::before{
  content:'';
  display:block!important;
  position:absolute;
  inset:0;
  z-index:-2;
  background:url("/static/templates/image/image01.jpeg") center/cover no-repeat;
  opacity:.26;
  filter:blur(1.2px) saturate(.78) contrast(.92);
  transform:scale(1.018);
}
.hero.hero-cinematic.dashboard-welcome::after{
  content:'';
  display:block!important;
  position:absolute;
  inset:0;
  z-index:-1;
  height:auto;
  background:
    linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.86) 48%,rgba(255,255,255,.62) 100%),
    linear-gradient(180deg,rgba(248,250,252,.52),rgba(248,250,252,.84));
}
.dashboard-welcome .hero-content{
  position:relative;
  z-index:1;
}
.dashboard-welcome .hero-floating{
  display:none;
}
body.dark-mode .hero.hero-cinematic.dashboard-welcome{
  background:var(--panel);
  border-color:var(--border);
}
body.dark-mode .hero.hero-cinematic.dashboard-welcome::before{
  opacity:.18;
  filter:blur(1.2px) saturate(.7) brightness(.82);
}
body.dark-mode .hero.hero-cinematic.dashboard-welcome::after{
  background:
    linear-gradient(90deg,rgba(15,23,42,.93) 0%,rgba(15,23,42,.84) 50%,rgba(15,23,42,.68) 100%),
    linear-gradient(180deg,rgba(15,23,42,.22),rgba(15,23,42,.62));
}
@media(max-width:800px){
  .hero.hero-cinematic.dashboard-welcome{
    min-height:232px;
    padding:20px;
  }
  .hero.hero-cinematic.dashboard-welcome::before{
    background-position:center right;
    opacity:.20;
  }
  .hero.hero-cinematic.dashboard-welcome::after{
    background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.84));
  }
}

/* Dashboard simplification: fewer executive cards */
.kpi-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.quick-strip{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:1100px){
  .kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .kpi-grid,
  .quick-strip{
    grid-template-columns:1fr;
  }
}

/* Clean enterprise surfaces for agenda, rooms and service desk */
.card-clean,
.panel-clean,
.metric-card,
.table-card,
.form-card,
.timeline-card,
.calendar-card{
  background:#ffffff;
  border:1px solid #e5e7eb;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
  border-radius:18px;
  color:#0f172a;
}
body:not(.dark-mode) .card,
body:not(.dark-mode) .service-kpi,
body:not(.dark-mode) .status-card,
body:not(.dark-mode) .room-card,
body:not(.dark-mode) .calendar-premium,
body:not(.dark-mode) .agenda-hero-premium,
body:not(.dark-mode) .agenda-panel,
body:not(.dark-mode) .mini-calendar-card,
body:not(.dark-mode) .available-room-card,
body:not(.dark-mode) .ticket-thread-card,
body:not(.dark-mode) .ticket-description,
body:not(.dark-mode) .ticket-brief,
body:not(.dark-mode) .ticket-side-panel,
body:not(.dark-mode) .ticket-composer-shell,
body:not(.dark-mode) .ticket-classification-alert,
body:not(.dark-mode) .category-insight,
body:not(.dark-mode) .meeting-row{
  background:#ffffff!important;
  background-image:none!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 8px 24px rgba(15,23,42,.06)!important;
  border-radius:18px;
  color:#0f172a!important;
  backdrop-filter:none!important;
}
body:not(.dark-mode) .service-list-card,
body:not(.dark-mode) .grid-main2 > .card,
body:not(.dark-mode) .ticket-workspace .ticket-thread,
body:not(.dark-mode) .agenda-side .card{
  color:#0f172a;
}
body:not(.dark-mode) .form-hero,
body:not(.dark-mode) .ticket-category-picker,
body:not(.dark-mode) .category-search,
body:not(.dark-mode) .category-empty,
body:not(.dark-mode) .category-card,
body:not(.dark-mode) .ticket-composer,
body:not(.dark-mode) .composer-textarea,
body:not(.dark-mode) .status-quick,
body:not(.dark-mode) .thread-bubble,
body:not(.dark-mode) .thread-system-event,
body:not(.dark-mode) .agenda-toolbar,
body:not(.dark-mode) .agenda-tab,
body:not(.dark-mode) .agenda-week-board,
body:not(.dark-mode) .agenda-timeline,
body:not(.dark-mode) .agenda-month-cell,
body:not(.dark-mode) .agenda-week-head,
body:not(.dark-mode) .agenda-week-time,
body:not(.dark-mode) .agenda-week-cell,
body:not(.dark-mode) .available-room-row,
body:not(.dark-mode) .room-edit-form,
body:not(.dark-mode) .resource-grid label{
  background:#f8fafc!important;
  background-image:none!important;
  border-color:#e5e7eb!important;
  color:#0f172a!important;
  box-shadow:none!important;
}
body:not(.dark-mode) .filter-menu summary,
body:not(.dark-mode) .filter-menu-panel,
body:not(.dark-mode) .filter-date .input{
  background:#f8fafc!important;
  border-color:#e5e7eb!important;
  color:#0f172a!important;
  box-shadow:none!important;
}
body:not(.dark-mode) .filter-menu[open] summary,
body:not(.dark-mode) .filter-check:hover{
  background:#eef4ff!important;
  border-color:#bfdbfe!important;
}
body:not(.dark-mode) .filter-menu summary strong,
body:not(.dark-mode) .filter-check{
  color:#0f172a!important;
}
body:not(.dark-mode) .category-card:hover,
body:not(.dark-mode) .agenda-month-cell:hover,
body:not(.dark-mode) .agenda-quarter-slot:hover,
body:not(.dark-mode) .room-card:hover,
body:not(.dark-mode) .service-kpi:hover,
body:not(.dark-mode) .meeting-row:hover{
  background:#f1f5f9!important;
  border-color:#cbd5e1!important;
  box-shadow:0 10px 26px rgba(15,23,42,.08)!important;
}
body:not(.dark-mode) .category-card.selected,
body:not(.dark-mode) .agenda-tab.active{
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
  color:#1d4ed8!important;
}
body:not(.dark-mode) .agenda-tab.active{
  background:#1f6da8!important;
  color:#ffffff!important;
  border-color:#1f6da8!important;
}
body:not(.dark-mode) .service-kpi span,
body:not(.dark-mode) .service-kpi small,
body:not(.dark-mode) .status-card span,
body:not(.dark-mode) .ticket-breadcrumb,
body:not(.dark-mode) .ticket-brief-meta,
body:not(.dark-mode) .ticket-side-row span,
body:not(.dark-mode) .thread-meta time,
body:not(.dark-mode) .agenda-event-meta,
body:not(.dark-mode) .room-status,
body:not(.dark-mode) .meeting-body p,
body:not(.dark-mode) .meeting-body small,
body:not(.dark-mode) .calendar-head p,
body:not(.dark-mode) .available-room-row small{
  color:#64748b!important;
}
body:not(.dark-mode) .service-kpi strong,
body:not(.dark-mode) .status-card strong,
body:not(.dark-mode) .ticket-row-title,
body:not(.dark-mode) .ticket-brief h2,
body:not(.dark-mode) .ticket-description p,
body:not(.dark-mode) .thread-message,
body:not(.dark-mode) .thread-meta strong,
body:not(.dark-mode) .room-top strong,
body:not(.dark-mode) .calendar-head h2,
body:not(.dark-mode) .agenda-panel-head h2,
body:not(.dark-mode) .agenda-event-top strong,
body:not(.dark-mode) .meeting-title,
body:not(.dark-mode) .ticket-side-row strong{
  color:#0f172a!important;
}
body:not(.dark-mode) .agenda-event{
  background:#eff6ff!important;
  border:1px solid #dbeafe!important;
  border-left:3px solid #60a5fa!important;
  box-shadow:0 6px 16px rgba(37,99,235,.08)!important;
  color:#0f172a!important;
}
body:not(.dark-mode) .agenda-event.is-cancelled{
  background:#f8fafc!important;
  border-color:#e5e7eb!important;
  opacity:.72;
}
body:not(.dark-mode) .agenda-selection,
body:not(.dark-mode) .agenda-selection-tip{
  background:rgba(31,109,168,.12)!important;
  border-color:rgba(31,109,168,.32)!important;
  color:#1f6da8!important;
}
body:not(.dark-mode) .thread-system-event{
  border-style:dashed!important;
  color:#64748b!important;
}
body:not(.dark-mode) .thread-avatar,
body:not(.dark-mode) .requester-cell span,
body:not(.dark-mode) .item-avatar{
  background:#eef4ff!important;
  color:#1d4ed8!important;
  border:1px solid #dbe8ff!important;
  box-shadow:none!important;
}
body:not(.dark-mode) .ticket-classification-alert{
  background:#fffbeb!important;
  border-color:#fde68a!important;
}
body:not(.dark-mode) .ticket-classification-alert strong{
  color:#92400e!important;
}
body:not(.dark-mode) .ticket-classification-alert span{
  color:#b45309!important;
}
body:not(.dark-mode) .composer-attach,
body:not(.dark-mode) .composer-notify{
  background:#f8fafc!important;
  border-color:#e5e7eb!important;
  color:#334155!important;
}
body:not(.dark-mode) .premium-table,
body:not(.dark-mode) .service-table,
body:not(.dark-mode) .maintenance-table,
body:not(.dark-mode) .table{
  background:#ffffff!important;
  color:#0f172a!important;
}
body:not(.dark-mode) .premium-table th,
body:not(.dark-mode) .service-table th,
body:not(.dark-mode) .maintenance-table th,
body:not(.dark-mode) .table th{
  background:#f8fafc!important;
  color:#64748b!important;
  border-color:#e5e7eb!important;
}
body:not(.dark-mode) .premium-table td,
body:not(.dark-mode) .service-table td,
body:not(.dark-mode) .maintenance-table td,
body:not(.dark-mode) .table td{
  color:#0f172a!important;
  border-color:#edf2f7!important;
}
body:not(.dark-mode) .modal,
body:not(.dark-mode) .agenda-modal{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 24px 70px rgba(15,23,42,.16)!important;
}
body:not(.dark-mode) .modal-header{
  border-color:#e5e7eb!important;
}
body:not(.dark-mode) .room-photo{
  border-bottom:1px solid #e5e7eb!important;
  opacity:.92;
}
@media(max-width:800px){
  body:not(.dark-mode) .agenda-toolbar,
  body:not(.dark-mode) .service-filters,
  body:not(.dark-mode) .calendar-filter{
    background:#ffffff!important;
    border:1px solid #e5e7eb!important;
    border-radius:16px;
    padding:10px;
  }
}

/* Rooms administration: separated list, modal create/edit */
.rooms-admin-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.rooms-admin-head h2{
  margin:2px 0 4px;
  font-size:24px;
  letter-spacing:0;
}
.rooms-admin-head p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.rooms-filter-bar{
  display:grid;
  grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(140px,.8fr)) auto;
  gap:8px;
  align-items:center;
  margin-bottom:14px;
  padding:12px;
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}
.rooms-clean-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(270px,1fr));
  gap:14px;
}
.room-admin-card{
  overflow:hidden;
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
  color:#0f172a;
}
.room-admin-photo{
  position:relative;
  min-height:138px;
  background:
    linear-gradient(135deg,rgba(31,109,168,.08),rgba(15,23,42,.03)),
    url("/static/templates/image/image01.jpeg") center/cover no-repeat;
  border-bottom:1px solid #e5e7eb;
}
.room-status-pill{
  position:absolute;
  top:10px;
  right:10px;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  border:1px solid #e2e8f0;
  font-size:11px;
  font-weight:900;
}
.room-status-pill.is-active{
  background:#ecfdf5;
  color:#047857;
  border-color:#bbf7d0;
}
.room-status-pill.is-inactive{
  background:#f8fafc;
  color:#94a3b8;
}
.room-admin-body{
  padding:14px;
}
.room-admin-title{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin-bottom:10px;
}
.room-admin-title h3{
  margin:0;
  font-size:15px;
  color:#0f172a;
}
.room-admin-title span{
  color:#64748b;
  font-size:12px;
  white-space:nowrap;
}
.room-admin-meta{
  display:grid;
  gap:6px;
  color:#64748b;
  font-size:12px;
  margin-bottom:10px;
}
.room-admin-meta span{
  display:flex;
  align-items:center;
  gap:6px;
}
.room-admin-meta svg{
  width:14px;
  height:14px;
}
.room-resource-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:10px;
}
.room-resource-chips span{
  display:inline-flex;
  min-height:23px;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  color:#475569;
  font-size:11px;
  font-weight:800;
}
.room-admin-body p{
  margin:0 0 12px;
  color:#64748b;
  font-size:12px;
  line-height:1.45;
}
.room-admin-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.danger-soft{
  color:#b91c1c!important;
  border-color:#fecaca!important;
  background:#fff7f7!important;
}
.empty-state-clean{
  grid-column:1/-1;
  padding:28px;
  text-align:center;
  background:#ffffff;
  border:1px dashed #cbd5e1;
  border-radius:18px;
  color:#64748b;
}
.empty-state-clean h3{
  margin:0 0 5px;
  color:#0f172a;
}
.modal-backdrop{
  position:fixed;
  inset:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(15,23,42,.36);
}
.room-admin-modal,
.confirm-modal{
  width:min(720px,100%);
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  box-shadow:0 24px 70px rgba(15,23,42,.18)!important;
}
.confirm-modal{
  width:min(420px,100%);
}
.room-admin-modal form,
.confirm-modal form{
  padding:16px;
}
.room-resource-picker{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-bottom:0;
}
.room-resource-picker label{
  color:#334155!important;
}
.modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:14px;
}
@media(max-width:900px){
  .rooms-admin-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .rooms-admin-head .btn{
    width:100%;
    justify-content:center;
  }
  .rooms-filter-bar{
    grid-template-columns:1fr 1fr;
  }
  .rooms-filter-bar .btn{
    grid-column:1/-1;
    justify-content:center;
  }
}
@media(max-width:560px){
  .rooms-filter-bar,
  .room-resource-picker{
    grid-template-columns:1fr;
  }
  .rooms-clean-grid{
    grid-template-columns:1fr;
  }
  .modal-backdrop{
    align-items:flex-end;
    padding:8px;
  }
  .room-admin-modal,
  .confirm-modal{
    max-height:92vh;
    border-radius:18px 18px 10px 10px!important;
  }
  .modal-actions{
    flex-direction:column;
  }
  .modal-actions .btn{
    width:100%;
    justify-content:center;
  }
}
/* Permissions admin */
.permissions-admin {
  display: grid;
  gap: 22px;
}

.permissions-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 26px;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9)),
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.1), transparent 32%);
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.06);
}

.permissions-hero h2,
.permissions-editor-head h2,
.profiles-panel h3 {
  margin: 4px 0 6px;
  color: #0f172a;
  letter-spacing: 0;
}

.permissions-hero p,
.permissions-editor-head p {
  margin: 0;
  max-width: 680px;
  color: #64748b;
}

.permissions-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.permissions-summary .metric-card {
  min-height: 92px;
  padding: 18px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.permissions-summary .metric-card span {
  display: block;
  margin-bottom: 8px;
  color: #64748b;
  font-size: 0.86rem;
  font-weight: 700;
}

.permissions-summary .metric-card strong {
  color: #0f172a;
  font-size: 1.8rem;
  line-height: 1;
}

.permissions-layout {
  display: grid;
  grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.profiles-panel,
.permissions-editor,
.profile-detail-form {
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.profiles-panel {
  position: sticky;
  top: 92px;
  padding: 16px;
}

.panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.profile-list-modern {
  display: grid;
  gap: 8px;
}

.profile-list-modern a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: #0f172a;
  text-decoration: none;
  transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.profile-list-modern a:hover {
  background: #f8fafc;
  border-color: #e5e7eb;
  transform: translateY(-1px);
}

.profile-list-modern a.active {
  background: #eef4ff;
  border-color: #bfdbfe;
}

.profile-list-modern strong,
.permission-copy strong {
  display: block;
  color: #0f172a;
  font-size: 0.95rem;
}

.profile-list-modern span,
.permission-copy small {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 0.82rem;
  line-height: 1.35;
}

.profile-list-modern small {
  padding: 4px 8px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 0.72rem;
  font-weight: 800;
}

.profile-list-modern small.is-active {
  background: #dcfce7;
  color: #166534;
}

.profile-list-modern small.is-inactive {
  background: #fee2e2;
  color: #991b1b;
}

.permissions-editor {
  padding: 18px;
}

.permissions-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e5e7eb;
}

.permission-actions,
.permissions-footer,
.permission-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.danger-soft {
  color: #b91c1c !important;
}

.profile-detail-form {
  margin: 16px 0;
  padding: 16px;
}

.permission-active-line {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 14px;
  color: #334155;
  font-weight: 700;
}

.permission-toolbar {
  justify-content: space-between;
  margin-bottom: 14px;
}

.permission-toolbar .input {
  flex: 1 1 320px;
}

.permissions-admin .input,
.profile-modal .input {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid #dbe3ea;
  box-shadow: none;
}

.permissions-admin .input:focus,
.profile-modal .input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.permissions-admin .input::placeholder,
.profile-modal .input::placeholder {
  color: #94a3b8;
}

.profile-modal form {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.permission-modules {
  display: grid;
  gap: 12px;
}

.permission-module {
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.permission-module summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 16px;
  cursor: pointer;
  list-style: none;
}

.permission-module summary::-webkit-details-marker {
  display: none;
}

.permission-module summary strong {
  color: #0f172a;
}

.permission-module summary span {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 0.82rem;
}

.permission-module summary small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 28px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-weight: 800;
}

.permission-list {
  display: grid;
  border-top: 1px solid #e5e7eb;
}

.permission-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 72px;
  padding: 12px 16px;
  border-bottom: 1px solid #f1f5f9;
  cursor: pointer;
  transition: background 0.16s ease;
}

.permission-row:last-child {
  border-bottom: 0;
}

.permission-row:hover {
  background: #f8fafc;
}

.permission-row input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.switch-ui {
  position: relative;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: #cbd5e1;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
  transition: background 0.16s ease;
}

.switch-ui::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.18);
  transition: transform 0.16s ease;
}

.permission-row input:checked + .switch-ui {
  background: #2563eb;
}

.permission-row input:checked + .switch-ui::after {
  transform: translateX(20px);
}

.permissions-footer {
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}

.profile-modal {
  max-width: 520px;
}

@media (max-width: 920px) {
  .permissions-hero,
  .permissions-editor-head {
    align-items: stretch;
    flex-direction: column;
  }

  .permissions-summary,
  .permissions-layout {
    grid-template-columns: 1fr;
  }

  .profiles-panel {
    position: static;
  }

  .permission-actions,
  .permissions-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .permission-actions form,
  .permission-actions button,
  .permissions-footer button {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .permissions-hero,
  .permissions-editor,
  .profiles-panel,
  .profile-detail-form {
    padding: 14px;
    border-radius: 16px;
  }

  .permissions-summary .metric-card {
    min-height: auto;
  }

  .permission-row {
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 12px;
  }
}

/* Social integrations and IBG News cache */
.social-admin {
  display: grid;
  gap: 18px;
}

.social-admin-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px;
}

.social-admin-hero h2,
.social-config-panel h3,
.social-cache-panel h3,
.feed-aside-head h2 {
  margin: 4px 0 6px;
  color: #0f172a;
  letter-spacing: 0;
}

.social-admin-hero p {
  margin: 0;
  color: #64748b;
  max-width: 720px;
}

.social-admin-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.social-admin-metrics .metric-card {
  min-height: 88px;
  padding: 18px;
}

.social-admin-metrics span {
  display: block;
  margin-bottom: 8px;
  color: #64748b;
  font-size: 0.84rem;
  font-weight: 800;
}

.social-admin-metrics strong {
  color: #0f172a;
  font-size: 1.35rem;
}

.social-admin-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 18px;
  align-items: start;
}

.social-config-panel,
.social-cache-panel {
  padding: 18px;
}

.social-config-form {
  display: grid;
  gap: 16px;
}

.integration-block {
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #f8fafc;
}

.integration-block h4 {
  margin: 0 0 12px;
  color: #0f172a;
  font-size: 0.95rem;
}

.integration-json {
  max-height: 360px;
  margin: 0;
  padding: 14px;
  overflow: auto;
  border-radius: 10px;
  background: #0f172a;
  color: #e2e8f0;
  font-size: 12px;
  white-space: pre-wrap;
  word-break: break-word;
}

.integration-alert {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #fde68a;
  border-radius: 14px;
  background: #fffbeb;
  color: #92400e;
}

.integration-alert strong,
.integration-alert span {
  font-size: 0.86rem;
}

.whatsapp-admin .social-admin-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.whatsapp-config-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.whatsapp-config-summary div {
  min-width: 0;
  padding: 11px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #f8fafc;
}

.whatsapp-config-summary span {
  display: block;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.whatsapp-config-summary strong {
  display: block;
  margin-top: 4px;
  color: #0f172a;
  font-size: 0.86rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whatsapp-group-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.whatsapp-group-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 11px;
  border: 1px solid #e5e7eb;
  border-radius: 13px;
  background: #ffffff;
}

.whatsapp-group-list strong,
.whatsapp-group-list span,
.whatsapp-group-list small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whatsapp-group-list strong {
  color: #0f172a;
  font-size: 0.9rem;
}

.whatsapp-group-list span,
.whatsapp-group-list small {
  color: #64748b;
  font-size: 0.78rem;
}

.whatsapp-log-panel {
  padding: 18px;
}

.social-admin .input {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid #dbe3ea;
}

.social-form-actions,
.social-test-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.social-test-actions {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}

.social-cache-list {
  display: grid;
  gap: 10px;
}

.social-cache-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #ffffff;
}

.social-cache-row strong {
  display: block;
  color: #0f172a;
  font-size: 0.9rem;
}

.social-cache-row span,
.social-cache-row small {
  display: block;
  color: #64748b;
  font-size: 0.8rem;
  line-height: 1.35;
}

.social-source-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #eef4ff;
  color: #1d4ed8;
  border: 1px solid #dbe8ff;
  font-size: 0.72rem;
  font-weight: 900;
}

.social-source-pill.instagram {
  background: #fff1f2;
  color: #be123c;
  border-color: #ffe4e6;
}

.social-source-pill.linkedin {
  background: #eff6ff;
  color: #075985;
  border-color: #dbeafe;
}

.feed-aside-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.social-filter-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 12px;
}

.social-filter-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #ffffff;
  color: #475569;
  font-size: 0.78rem;
  font-weight: 800;
}

.social-filter-tabs a.active {
  background: #eef4ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}

.social-news-card {
  overflow: hidden;
  margin-bottom: 10px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.social-news-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #f1f5f9;
}

.social-news-body {
  padding: 12px;
}

.social-news-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.social-news-meta small,
.social-news-empty span {
  color: #64748b;
  font-size: 0.78rem;
}

.social-news-card h3 {
  margin: 0 0 6px;
  color: #0f172a;
  font-size: 0.94rem;
}

.social-news-card p {
  margin: 0 0 10px;
  color: #475569;
  font-size: 0.84rem;
  line-height: 1.45;
}

.social-news-empty {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  color: #0f172a;
  background: #f8fafc;
}

@media (max-width: 980px) {
  .social-admin-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .social-admin-metrics,
  .social-admin-grid {
    grid-template-columns: 1fr;
  }

  .whatsapp-admin .social-admin-metrics,
  .whatsapp-config-summary {
    grid-template-columns: 1fr;
  }

  .social-cache-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .social-form-actions,
  .social-test-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .social-form-actions .btn,
  .social-test-actions form,
  .social-test-actions .btn {
    width: 100%;
  }
}

/* Bulletins */
.bulletins-page,
.bulletins-admin {
  display: grid;
  gap: 18px;
}

.bulletins-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px;
}

.bulletins-hero h2 {
  margin: 4px 0 6px;
  color: #0f172a;
  letter-spacing: 0;
}

.bulletins-hero p {
  margin: 0;
  color: #64748b;
  max-width: 720px;
}

.bulletins-filter {
  display: grid;
  grid-template-columns: minmax(160px, 220px) minmax(140px, 180px) auto auto;
  gap: 10px;
  align-items: center;
  padding: 14px;
}

.bulletins-filter .input,
.bulletin-form .input {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid #dbe3ea;
}

.bulletins-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
  gap: 14px;
}

.bulletin-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  overflow: hidden;
  min-height: 260px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.bulletin-card:hover {
  transform: translateY(-2px);
  border-color: #dbeafe;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.1);
}

.bulletin-pdf-mark {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(180deg, #eff6ff, #f8fafc);
  border-right: 1px solid #e5e7eb;
  color: #1d4ed8;
  font-weight: 900;
  width: 180px;
  min-height: 260px;
}

.bulletin-cover {
  width: 180px;
  height: 260px;
  object-fit: cover;
  object-position: center;
  border-radius: 16px 0 0 16px;
  background: #f1f5f9;
  align-self: stretch;
}

.bulletin-cover-sm {
  width: 72px;
  height: 96px;
  border-radius: 12px;
  flex: 0 0 auto;
  align-self: flex-start;
}

.bulletin-pdf-mark-sm {
  width: 72px;
  height: 96px;
  min-height: 96px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  flex: 0 0 auto;
}

.bulletin-viewer-title {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
}

.bulletin-pdf-mark svg {
  width: 34px;
  height: 34px;
}

.bulletin-card-body {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 16px;
}

.bulletin-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.bulletin-meta small,
.bulletin-file-info,
.bulletins-table small {
  color: #64748b;
  font-size: 0.8rem;
}

.bulletin-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1rem;
}

.bulletin-card p {
  margin: 0;
  color: #475569;
  font-size: 0.86rem;
  line-height: 1.45;
}

.bulletin-actions,
.bulletin-row-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.bulletins-table-card {
  overflow-x: auto;
}

.bulletins-table td strong {
  display: block;
  color: #0f172a;
}

.bulletin-modal {
  max-width: 820px;
}

.bulletin-admin-cover {
  display: block;
  width: 42px;
  height: 58px;
  object-fit: cover;
  border-radius: 8px;
  background: #f1f5f9;
  border: 1px solid #e5e7eb;
  margin-bottom: 4px;
}

.bulletin-upload-row {
  align-items: start;
}

.bulletin-cover-editor {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #f8fafc;
}

.bulletin-cover-preview {
  position: relative;
  width: 88px;
  height: 122px;
  overflow: hidden;
  border-radius: 12px;
  background: #eef4ff;
  border: 1px solid #dbe8ff;
}

.bulletin-cover-preview img {
  display: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.bulletin-cover-empty {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  width: 100%;
  height: 100%;
  color: #1d4ed8;
  font-size: 0.76rem;
  font-weight: 900;
}

.bulletin-cover-empty svg {
  width: 28px;
  height: 28px;
}

.bulletin-cover-editor-actions {
  display: grid;
  gap: 6px;
  justify-items: start;
  min-width: 0;
}

.bulletin-cover-editor-actions strong {
  color: #0f172a;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.bulletin-form {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.dashboard-bulletin {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 0 0 18px;
  padding: 16px;
}

.dashboard-bulletin-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #eef4ff;
  color: #1d4ed8;
  border: 1px solid #dbe8ff;
}

.dashboard-bulletin h2 {
  margin: 3px 0 4px;
  color: #0f172a;
  font-size: 1rem;
}

.dashboard-bulletin p {
  margin: 0;
  color: #64748b;
  font-size: 0.86rem;
}

.bulletin-viewer-page {
  display: grid;
  gap: 14px;
}

.bulletin-viewer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
}

.bulletin-viewer-head h2 {
  margin: 4px 0 6px;
  color: #0f172a;
  letter-spacing: 0;
}

.bulletin-viewer-head p {
  margin: 0;
  color: #64748b;
}

.bulletin-viewer-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.bulletin-viewer-shell {
  overflow: hidden;
  padding: 0;
  min-height: 78vh;
}

.bulletin-pdf-frame {
  display: block;
  width: 100%;
  height: 78vh;
  min-height: 620px;
  border: 0;
  background: #f8fafc;
}

@media (max-width: 760px) {
  .bulletins-hero,
  .bulletin-viewer-head,
  .dashboard-bulletin {
    align-items: stretch;
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .bulletins-filter {
    grid-template-columns: 1fr;
  }

  .bulletins-grid {
    grid-template-columns: 1fr;
  }

  .bulletin-card {
    grid-template-columns: 96px minmax(0, 1fr);
    min-height: 148px;
  }

  .bulletin-cover,
  .bulletin-pdf-mark {
    width: 96px;
    height: 148px;
    min-height: 148px;
    border-radius: 12px;
  }

  .bulletin-cover-sm,
  .bulletin-pdf-mark-sm {
    width: 72px;
    height: 96px;
    min-height: 96px;
  }

  .bulletin-card-body {
    padding: 14px;
  }

  .bulletin-cover-editor {
    grid-template-columns: 1fr;
  }

  .dashboard-bulletin .btn,
  .bulletins-hero .btn,
  .bulletin-viewer-actions .btn,
  .bulletins-filter .btn {
    width: 100%;
    justify-content: center;
  }

  .bulletin-viewer-shell {
    min-height: 72vh;
    border-radius: 14px;
  }

  .bulletin-pdf-frame {
    height: 72vh;
    min-height: 520px;
  }
}


/* Users: Protheus linking */
.users-grid{grid-template-columns:minmax(360px,1fr) minmax(0,2.2fr)}
.users-card-header{gap:12px;align-items:flex-start}
.users-search-form{display:flex;gap:8px;align-items:center}
.users-search-form .input{width:210px;padding:8px 12px}
.users-table{min-width:1120px}
.protheus-link-box{border:1px solid var(--border);background:rgba(7,14,28,.45);border-radius:14px;padding:12px;margin:4px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.protheus-link-box label{display:block;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}
.protheus-link-summary{font-size:12px;color:var(--text);line-height:1.35}
.protheus-link-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.protheus-suggestion{margin-top:8px;border:1px solid rgba(34,197,94,.24);background:rgba(34,197,94,.08);border-radius:12px;padding:8px 10px;color:var(--text);font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.protheus-search-modal,.user-edit-modal{width:min(860px,100%)}
.protheus-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.protheus-results{display:grid;gap:8px;max-height:52vh;overflow:auto;padding-right:2px}
.protheus-result{width:100%;text-align:left;border:1px solid var(--border);background:rgba(7,14,28,.48);color:var(--text);border-radius:12px;padding:12px;display:grid;gap:4px;cursor:pointer;transition:background .16s,border-color .16s,transform .16s}
.protheus-result:hover{background:rgba(59,130,246,.10);border-color:rgba(59,130,246,.35);transform:translateY(-1px)}
.protheus-result strong{font-size:13px}
.protheus-result span,.protheus-result small{color:var(--muted);font-size:12px;line-height:1.35}
@media(max-width:800px){.users-card-header,.users-search-form,.protheus-link-box{display:block}.users-search-form .input{width:100%;margin-bottom:8px}.protheus-link-actions{justify-content:flex-start;margin-top:10px}.protheus-search-row{grid-template-columns:1fr}}


/* People center: Protheus onboarding */
.people-ops-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.people-ops-hero h2{font-size:24px;margin:4px 0 6px;letter-spacing:0}
.people-ops-hero p{max-width:760px;color:var(--muted);line-height:1.55}
.people-filters-compact{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(6,minmax(120px,1fr)) auto;gap:10px;align-items:center}
.people-directory-header{align-items:flex-start;gap:12px}
.people-table{min-width:1280px}
.people-table td{font-size:12px}
.people-table td strong{font-size:13px}
.people-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:280px}
.people-access-modal{width:min(880px,100%)}
.people-link-summary{border:1px solid var(--border);background:rgba(7,14,28,.48);border-radius:12px;padding:12px;margin-bottom:14px;color:var(--text);font-size:13px;font-weight:700}
body:not(.dark-mode) .people-link-summary{background:#f8fbff}
@media(max-width:1100px){.people-filters-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.people-filters-compact .btn{justify-content:center}.people-ops-hero{display:block}.people-hero-actions{margin-top:14px}}
@media(max-width:640px){.people-filters-compact{grid-template-columns:1fr}.people-actions{min-width:0}.people-access-modal{max-height:94vh}}


/* Phonebook import and modal editing */
.phonebook-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.phonebook-edit-modal{width:min(820px,100%)}
.phonebook-import-form{padding:14px 16px;border-bottom:1px solid var(--ibg-line);background:#f8fbfd}
.phonebook-import-summary{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--ibg-line)}
.phonebook-confirm-import{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-top:1px solid var(--ibg-line);background:#f8fbfd}
body.dark-mode .phonebook-import-form,
body.dark-mode .phonebook-confirm-import{background:var(--panel2);border-color:var(--border)}
@media(max-width:620px){.phonebook-header-actions{justify-content:flex-start}.phonebook-confirm-import{align-items:flex-start;flex-direction:column}.phonebook-edit-modal{max-height:94vh}}

/* Central de Arquivos / Documentos */
.doc-center{display:grid;gap:16px}.doc-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:24px;border-radius:18px;background:linear-gradient(135deg,rgba(14,30,52,.94),rgba(17,94,89,.72));border:1px solid var(--border2);box-shadow:var(--shadow)}.doc-hero h2{font-size:34px;line-height:1;margin:8px 0;letter-spacing:0}.doc-hero p{color:#c6d6e8;max-width:720px}.doc-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.doc-toolbar{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(260px,1.8fr) minmax(128px,.7fr) minmax(118px,.55fr) minmax(160px,.8fr) auto auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:16px;background:rgba(12,22,40,.78)}.doc-breadcrumbs{display:flex;gap:8px;align-items:center;min-width:0;overflow:auto;white-space:nowrap}.doc-breadcrumbs a{display:inline-flex;gap:6px;align-items:center;color:#bfdbfe;font-weight:800;font-size:12px}.doc-searchbar{display:flex;align-items:center;gap:8px;border:1px solid var(--border2);border-radius:12px;background:rgba(7,14,28,.58);padding:0 10px}.doc-searchbar input{width:100%;height:42px;border:0;background:transparent;color:var(--text);outline:0}.doc-view-toggle{display:flex;gap:6px}.doc-view-toggle button,.doc-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border);border-radius:10px;background:rgba(7,14,28,.54);color:var(--muted);cursor:pointer}.doc-view-toggle button.active,.doc-icon-btn.active{color:#facc15;border-color:rgba(250,204,21,.42);background:rgba(250,204,21,.12)}.doc-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}.doc-side{padding:14px;align-self:start;display:grid;gap:8px}.doc-side-link{display:flex;align-items:center;gap:9px;padding:10px;border-radius:12px;color:var(--text);font-weight:800}.doc-side-link:hover,.doc-side-link.active{background:rgba(59,130,246,.14);color:#bfdbfe}.doc-side-title{margin-top:10px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.doc-tags{display:flex;gap:6px;flex-wrap:wrap}.tag-chip{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.18);color:#d8e5f6;font-size:11px;font-weight:800}.doc-mini{display:flex;gap:9px;align-items:center;padding:9px;border-radius:12px;color:var(--text)}.doc-mini:hover{background:rgba(255,255,255,.06)}.doc-mini span{display:grid;font-size:12px;font-weight:800}.doc-mini small{color:var(--muted);font-weight:600}.doc-main{min-width:0}.doc-section-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 10px}.doc-section-head h3{margin:0;font-size:16px}.doc-section-head span{color:var(--muted);font-size:12px;font-weight:900}.doc-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-bottom:18px}.doc-folder{display:grid;gap:8px;min-height:128px;padding:14px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));color:var(--text);transition:transform .16s,border-color .16s,background .16s}.doc-folder:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--folder-color) 55%,transparent);background:color-mix(in srgb,var(--folder-color) 12%,rgba(7,14,28,.58))}.doc-folder-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--folder-color) 20%,transparent);color:var(--folder-color)}.doc-folder strong{font-size:15px}.doc-folder small{color:var(--muted);line-height:1.35}.doc-items.is-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.doc-items.is-list{display:grid;gap:8px}.doc-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;padding:13px;border:1px solid var(--border);border-radius:16px;background:rgba(12,22,40,.66);box-shadow:0 12px 34px rgba(0,0,0,.12)}.doc-items.is-list .doc-card{grid-template-columns:46px minmax(0,1fr) auto;align-items:center}.doc-file-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:rgba(59,130,246,.14);color:#93c5fd}.doc-file-icon.pdf{background:rgba(220,38,38,.14);color:#fca5a5}.doc-file-icon.xlsx,.doc-file-icon.xls{background:rgba(22,163,74,.14);color:#86efac}.doc-file-icon.docx,.doc-file-icon.doc{background:rgba(37,99,235,.16);color:#93c5fd}.doc-file-icon.pptx,.doc-file-icon.ppt{background:rgba(234,88,12,.16);color:#fdba74}.doc-file-icon.png,.doc-file-icon.jpg,.doc-file-icon.jpeg,.doc-file-icon.webp{background:rgba(168,85,247,.14);color:#d8b4fe}.doc-card-body{min-width:0}.doc-card-top{display:flex;justify-content:space-between;gap:8px}.doc-card h3{margin:1px 0 5px;font-size:15px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.35;min-height:32px}.doc-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;color:#9eb9d8;font-size:11px;font-weight:800}.doc-actions{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap;align-items:center}.doc-actions form{display:inline-flex}.doc-empty{grid-column:1/-1;display:grid;place-items:center;gap:7px;padding:38px;color:var(--muted);text-align:center}.doc-dropzone{display:grid;place-items:center;gap:8px;min-height:190px;padding:22px;border:1px dashed rgba(125,211,252,.45);border-radius:18px;background:rgba(59,130,246,.08);cursor:pointer}.doc-dropzone input{display:none}.doc-dropzone.is-drag{background:rgba(56,189,248,.16);border-color:#7dd3fc}.upload-progress{height:8px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden}.upload-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:width .4s}.share-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.share-submit{align-self:end}.doc-viewer-page{display:grid;gap:14px}.doc-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border-radius:16px}.doc-viewer-title{display:flex;gap:12px;align-items:center;min-width:0}.doc-viewer-title h2{margin:0;font-size:20px}.doc-viewer-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.doc-viewer-actions{display:flex;gap:8px;flex-wrap:wrap}.doc-viewer-shell{min-height:70vh;border:1px solid var(--border);border-radius:18px;background:rgba(7,14,28,.62);overflow:hidden}.doc-frame{width:100%;height:78vh;border:0;background:#111827}.doc-image-preview{display:grid;place-items:center;min-height:70vh;padding:16px}.doc-image-preview img{max-width:100%;max-height:75vh;border-radius:12px;box-shadow:0 22px 60px rgba(0,0,0,.35)}.doc-office-preview{display:grid;place-items:center;gap:12px;min-height:60vh;padding:28px;text-align:center;color:var(--muted)}.doc-office-preview svg{width:64px;height:64px;color:#93c5fd}.doc-viewer-info{padding:14px}.doc-pagination{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
@media(max-width:1100px){.doc-toolbar{grid-template-columns:1fr 1fr}.doc-breadcrumbs,.doc-searchbar{grid-column:1/-1}.doc-layout{grid-template-columns:1fr}.doc-side{order:2}.doc-main{order:1}}
@media(max-width:720px){.doc-hero{display:grid;padding:18px}.doc-hero h2{font-size:28px}.doc-hero-actions .btn{width:100%;justify-content:center}.doc-toolbar{grid-template-columns:1fr}.doc-folder-grid,.doc-items.is-grid{grid-template-columns:1fr}.doc-items.is-list .doc-card,.doc-card{grid-template-columns:42px minmax(0,1fr)}.doc-actions{grid-column:1/-1}.doc-viewer-head{display:grid}.doc-viewer-actions .btn{flex:1;justify-content:center}.doc-frame{height:70vh}}
.doc-expiration-filters{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px}
.doc-expiration-box{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel2)}
.doc-expiration-head,.doc-expiration-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.doc-expiration-head h4,.doc-expiration-panel-head h3{margin:0;color:var(--text)}
.doc-expiration-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.doc-expiration-fields{display:grid;gap:12px;transition:opacity .16s}
.doc-expiration-fields.is-disabled{opacity:.52}
.doc-expiration-fields.is-disabled input:not([type="hidden"]),.doc-expiration-fields.is-disabled select,.doc-expiration-fields.is-disabled button{pointer-events:none}
.doc-alert-list{display:grid;gap:10px}
.doc-alert-row{display:grid;grid-template-columns:minmax(130px,.75fr) minmax(240px,1.4fr) auto;gap:10px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.doc-alert-row select[multiple]{min-height:76px}
.doc-toggle{display:flex;align-items:center;gap:8px;color:var(--text);font-size:12px;font-weight:900;cursor:pointer}
.doc-toggle input{display:none}
.doc-toggle span{position:relative;display:inline-flex;width:42px;height:24px;border-radius:999px;background:rgba(148,163,184,.28);border:1px solid var(--border);transition:background .16s,border .16s}
.doc-toggle span::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--panel);box-shadow:0 2px 6px rgba(15,23,42,.2);transition:transform .16s}
.doc-toggle input:checked + span{background:rgba(59,130,246,.22);border-color:rgba(59,130,246,.38)}
.doc-toggle input:checked + span::after{transform:translateX(18px);background:var(--blue)}
.doc-toggle.compact{align-self:center;white-space:nowrap}
.doc-expiration-panel{display:grid;gap:14px;padding:16px;border-radius:16px;background:var(--panel);border:1px solid var(--border);box-shadow:0 10px 28px rgba(15,23,42,.06)}
.doc-expiration-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.doc-expiration-summary article{display:grid;gap:4px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}
.doc-expiration-summary span,.doc-alert-summary small{color:var(--muted);font-size:11px;font-weight:800}
.doc-expiration-summary strong{color:var(--text);font-size:14px}
.doc-alert-summary{display:grid;gap:8px}
.doc-alert-summary article{display:grid;gap:4px;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}
.doc-alert-summary article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.doc-alert-summary strong{color:var(--text);font-size:13px}
.doc-alert-summary span,.doc-alert-summary p{margin:0;color:var(--muted);font-size:12px}
@media(max-width:720px){.doc-expiration-filters,.doc-expiration-summary{grid-template-columns:1fr}.doc-expiration-head,.doc-expiration-panel-head{display:grid}.doc-alert-row{grid-template-columns:1fr}.doc-toggle.compact{justify-content:flex-start}}
.dashboard-documents{padding:16px;margin-bottom:18px}.dashboard-doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.dashboard-doc-item{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:14px;background:rgba(7,14,28,.38);color:var(--text)}.dashboard-doc-item:hover{border-color:rgba(125,211,252,.35);background:rgba(59,130,246,.1)}.dashboard-doc-item span:last-child{min-width:0;display:grid}.dashboard-doc-item strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-doc-item small{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-doc-empty{grid-column:1/-1;color:var(--muted);text-align:center;padding:18px}

/* Central Documental - padrão clean IBG */
.doc-center,.doc-permissions-page{gap:18px}.doc-center .doc-hero,.doc-admin-hero{background:var(--panel);border:1px solid var(--border);box-shadow:0 12px 34px rgba(15,23,42,.08);color:var(--text)}.doc-center .doc-hero h2,.doc-admin-hero h2{font-size:30px;line-height:1.05;margin:8px 0;color:var(--text)}.doc-center .doc-hero p,.doc-admin-hero p{color:var(--muted)}.doc-center .live-pill{background:rgba(59,130,246,.12);color:var(--blue2);border:1px solid rgba(59,130,246,.2)}.doc-center .doc-toolbar{background:var(--panel);border:1px solid var(--border);box-shadow:0 10px 28px rgba(15,23,42,.06)}.doc-center .doc-searchbar{background:var(--panel2);border:1px solid var(--border)}.doc-center .doc-searchbar input{color:var(--text)}.doc-center .doc-view-toggle button,.doc-center .doc-icon-btn{background:var(--panel2);border-color:var(--border);color:var(--muted)}.doc-center .doc-view-toggle button.active,.doc-center .doc-icon-btn.active{color:var(--blue2);border-color:rgba(59,130,246,.28);background:rgba(59,130,246,.1)}.doc-center .doc-side,.doc-center .doc-card,.doc-center .doc-folder,.doc-permission-folders,.doc-permission-main{background:var(--panel);border:1px solid var(--border);box-shadow:0 10px 28px rgba(15,23,42,.06)}.doc-center .doc-folder{background:var(--panel);border-radius:14px}.doc-center .doc-folder:hover{border-color:rgba(59,130,246,.28);background:var(--panel2)}.doc-center .doc-folder-icon{background:rgba(59,130,246,.1);color:var(--blue2)}.doc-center .doc-card{background:var(--panel);border-radius:14px}.doc-center .doc-card p,.doc-center .doc-folder small,.doc-center .doc-meta,.doc-center .doc-mini small{color:var(--muted)}.doc-center .tag-chip{background:var(--panel2);border-color:var(--border);color:var(--muted)}.doc-center .doc-side-link:hover,.doc-center .doc-side-link.active{background:rgba(59,130,246,.1);color:var(--blue2)}.doc-center .doc-file-icon{background:rgba(59,130,246,.1);color:var(--blue2)}.doc-center .doc-dropzone{background:var(--panel2);border-color:rgba(59,130,246,.28);color:var(--muted)}.doc-center .doc-dropzone strong{color:var(--text)}.doc-viewer-head,.doc-viewer-info{background:var(--panel);border:1px solid var(--border);box-shadow:0 10px 28px rgba(15,23,42,.06)}.doc-viewer-shell{background:var(--panel);border-color:var(--border)}.doc-office-preview{color:var(--muted)}.doc-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px;border-radius:18px;margin-bottom:16px}.doc-permission-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px}.doc-permission-folders,.doc-permission-main{border-radius:18px;padding:16px}.doc-permission-folders h3{font-size:15px;margin:0 0 12px}.permission-folder-link{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;color:var(--text);margin-bottom:4px}.permission-folder-link:hover,.permission-folder-link.active{background:rgba(59,130,246,.1);color:var(--blue2)}.permission-folder-link span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(59,130,246,.1);color:var(--blue2)}.doc-permission-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.doc-permission-head h3{font-size:20px;margin:0 0 4px}.doc-permission-head p{color:var(--muted);font-size:13px}.permission-form{display:grid;gap:8px}.permission-grid-head,.permission-row{display:grid;grid-template-columns:minmax(190px,1.4fr) repeat(5,minmax(92px,1fr));gap:8px;align-items:center}.permission-grid-head{padding:0 10px 8px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.permission-row{padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--panel2)}.permission-profile{display:flex;align-items:center;gap:10px;min-width:0}.permission-profile input{width:17px;height:17px;accent-color:var(--blue)}.permission-profile span{display:grid;min-width:0}.permission-profile strong{font-size:13px}.permission-profile small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.switch{display:flex;justify-content:center}.switch input{display:none}.switch span{position:relative;width:46px;height:26px;border-radius:999px;background:rgba(148,163,184,.28);border:1px solid var(--border);cursor:pointer;transition:background .18s,border .18s}.switch span::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--panel);box-shadow:0 2px 6px rgba(15,23,42,.22);transition:transform .18s}.switch input:checked + span{background:rgba(59,130,246,.22);border-color:rgba(59,130,246,.42)}.switch input:checked + span::after{transform:translateX(20px);background:var(--blue)}.permission-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.permission-footer p{color:var(--muted);font-size:12px;max-width:620px}.light-mode .doc-center .doc-hero,.light-mode .doc-admin-hero,.light-mode .doc-center .doc-toolbar,.light-mode .doc-center .doc-side,.light-mode .doc-center .doc-card,.light-mode .doc-center .doc-folder,.light-mode .doc-permission-folders,.light-mode .doc-permission-main,.light-mode .doc-viewer-head,.light-mode .doc-viewer-info{box-shadow:0 10px 30px rgba(15,23,42,.08)}.light-mode .doc-center .doc-searchbar,.light-mode .permission-row,.light-mode .doc-center .doc-dropzone{background:var(--panel2)}
@media(max-width:980px){.doc-permission-layout{grid-template-columns:1fr}.permission-grid-head{display:none}.permission-row{grid-template-columns:1fr repeat(5,52px);overflow:auto}.permission-profile small{display:none}}
@media(max-width:640px){.doc-admin-hero{display:grid}.permission-row{grid-template-columns:1fr 1fr 1fr;gap:10px}.permission-profile{grid-column:1/-1}.switch{justify-content:flex-start}.permission-footer{display:grid}.doc-center .doc-hero h2,.doc-admin-hero h2{font-size:25px}}


.doc-folder-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:8px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:0 10px 28px rgba(15,23,42,.05)}
.doc-folder-tabs a{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 13px;border-radius:11px;color:var(--muted);font-size:13px;font-weight:800}
.doc-folder-tabs a:hover,.doc-folder-tabs a.active{background:rgba(59,130,246,.1);color:var(--blue2)}
.doc-hub-overview{display:grid;gap:8px}
.doc-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.doc-hub-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:start;min-height:154px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel);color:var(--text);box-shadow:0 10px 28px rgba(15,23,42,.06);text-decoration:none;transition:transform .16s,border-color .16s,background .16s}
.doc-hub-card:hover{transform:translateY(-2px);border-color:rgba(59,130,246,.28);background:var(--panel2)}
.doc-hub-card-wide{grid-column:span 2}
.doc-hub-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(59,130,246,.1);color:var(--blue2)}
.doc-hub-card strong{font-size:15px;line-height:1.25;color:var(--text)}
.doc-hub-card small{grid-column:2;color:var(--muted);font-size:12px;line-height:1.4}
.doc-hub-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:4px}
.doc-hub-metrics span{display:grid;gap:2px;min-height:48px;padding:9px;border:1px solid var(--border);border-radius:11px;background:var(--panel2);color:var(--muted);font-size:11px;font-weight:800}
.doc-hub-metrics b{color:var(--text);font-size:18px;line-height:1}
.doc-access-panel,.doc-history-panel{padding:18px;border-radius:18px;background:var(--panel);border:1px solid var(--border);box-shadow:0 10px 28px rgba(15,23,42,.06)}
.doc-access-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.doc-access-head h3{margin:0 0 5px;font-size:20px;color:var(--text)}
.doc-access-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.doc-access-warning{display:flex;align-items:center;gap:9px;margin-bottom:14px;padding:11px 13px;border-radius:13px;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.18);color:var(--blue2);font-size:13px;font-weight:800}
.doc-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.doc-access-card{display:grid;gap:13px;padding:15px;border:1px solid var(--border);border-radius:16px;background:var(--panel2)}
.doc-access-card-head h4{margin:0 0 4px;font-size:16px;color:var(--text)}
.doc-access-card-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
.doc-access-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.doc-access-users{display:grid;gap:8px}
.doc-access-user{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid var(--border);border-radius:13px;background:var(--panel)}
.doc-access-user span:not(.avatar){display:grid;min-width:0}
.doc-access-user strong{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doc-access-user small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doc-access-user form{display:flex}
.avatar.mini{width:34px;height:34px;font-size:13px}
.doc-access-empty{padding:16px;border:1px dashed var(--border);border-radius:13px;color:var(--muted);font-size:13px;text-align:center;background:var(--panel)}
.doc-history-list{display:grid;gap:8px}
.doc-history-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:13px;background:var(--panel2)}
.doc-history-item>svg{color:var(--blue2)}
.doc-history-item span{display:grid;gap:2px;min-width:0}
.doc-history-item strong{font-size:13px;color:var(--text)}
.doc-history-item small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge-blue{background:rgba(59,130,246,.1);color:var(--blue2);border:1px solid rgba(59,130,246,.18)}
@media(max-width:900px){.doc-layout{grid-template-columns:1fr}.doc-access-grid{grid-template-columns:1fr}.doc-access-add{grid-template-columns:1fr}.doc-access-add .btn{justify-content:center}.doc-folder-tabs{overflow:auto;flex-wrap:nowrap}.doc-folder-tabs a{white-space:nowrap}.doc-hub-card-wide{grid-column:auto}}

/* Documentação Regulatória */
.anvisa-page{display:grid;gap:16px}
.anvisa-hero .hero-kicker{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.regulatory-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.regulatory-summary-grid article{padding:13px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:0 10px 28px rgba(15,23,42,.06)}
.regulatory-summary-grid span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}
.regulatory-summary-grid strong{display:block;margin-top:5px;color:var(--text);font-size:24px;line-height:1}
.anvisa-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}
.anvisa-tree{display:grid;gap:14px;padding:14px;border-radius:16px;background:var(--panel);border:1px solid var(--border);box-shadow:0 10px 28px rgba(15,23,42,.06)}
.anvisa-company{display:grid;gap:8px}
.anvisa-company-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px;border-radius:12px;background:var(--panel2);border:1px solid var(--border)}
.anvisa-company-head span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(37,99,235,.1);color:var(--blue2)}
.anvisa-company-head strong{font-size:14px;color:var(--text)}
.anvisa-company-head small{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:rgba(15,118,110,.1);color:#0f766e;font-weight:900}
.anvisa-branch-list{display:grid;gap:5px;padding-left:8px;border-left:2px solid rgba(148,163,184,.18)}
.anvisa-branch-link{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;align-items:center;padding:9px 10px;border-radius:11px;color:var(--text);border:1px solid transparent}
.anvisa-branch-link:hover,.anvisa-branch-link.active{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.18);color:var(--blue2)}
.anvisa-branch-link span{color:var(--muted);font-size:11px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anvisa-branch-link strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anvisa-empty-line{padding:10px;color:var(--muted);font-size:12px}
.anvisa-main{display:grid;gap:14px;min-width:0}
.anvisa-branch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px;border-radius:16px;background:var(--panel);border:1px solid var(--border);box-shadow:0 10px 28px rgba(15,23,42,.06)}
.anvisa-branch-head h3{margin:3px 0 4px;color:var(--text);font-size:24px}
.anvisa-branch-head p{margin:0;color:var(--muted);font-size:13px}
.anvisa-branch-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.anvisa-doc-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
.anvisa-doc-card .doc-card-top{align-items:flex-start}
.anvisa-doc-card .badge{white-space:nowrap}
.anvisa-start{display:grid;place-items:center;text-align:center;gap:9px;min-height:360px;padding:34px;border-radius:16px;background:var(--panel);border:1px solid var(--border);box-shadow:0 10px 28px rgba(15,23,42,.06);color:var(--muted)}
.anvisa-start svg{width:54px;height:54px;color:var(--blue2)}
.anvisa-start h3{margin:0;color:var(--text);font-size:24px}
.anvisa-start p{margin:0}
.anvisa-modal{width:min(900px,100%)}
@media(max-width:1000px){.anvisa-layout{grid-template-columns:1fr}.anvisa-tree{order:2}.anvisa-main{order:1}.regulatory-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.anvisa-branch-head{display:grid}.anvisa-branch-actions{justify-content:flex-start}.anvisa-doc-grid{grid-template-columns:1fr}.anvisa-company-head{grid-template-columns:30px minmax(0,1fr) auto}.anvisa-branch-link{grid-template-columns:44px minmax(0,1fr)}.regulatory-summary-grid{grid-template-columns:1fr}}

.forbidden-page{display:grid;place-items:center;text-align:center;gap:12px;max-width:620px;margin:60px auto;padding:36px;border-radius:20px;background:var(--panel);border:1px solid var(--border);box-shadow:0 14px 40px rgba(15,23,42,.08)}
.forbidden-page h2{margin:0;font-size:28px;color:var(--text)}
.forbidden-page p{margin:0 0 8px;color:var(--muted);line-height:1.5}
.forbidden-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:rgba(59,130,246,.1);color:var(--blue2)}
.forbidden-icon svg{width:30px;height:30px}


/* Presença corporativa */
.presence-menu{position:relative;display:inline-flex}
.presence-trigger{gap:8px}
.presence-trigger svg{width:14px;height:14px;color:var(--muted)}
.presence-avatar{position:relative}
.presence-avatar>.presence-dot{position:absolute;right:-2px;bottom:-2px;border:2px solid var(--panel);width:11px;height:11px}
.presence-dot{width:9px;height:9px;border-radius:999px;display:inline-block;flex:0 0 auto;background:#94a3b8;box-shadow:0 0 0 2px rgba(148,163,184,.10)}
.presence-dot.is-available{background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.14)}
.presence-dot.is-away{background:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.14)}
.presence-dot.is-busy{background:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.14)}
.presence-dot.is-meeting{background:#6366f1;box-shadow:0 0 0 2px rgba(99,102,241,.14)}
.presence-dot.is-offline{background:#94a3b8;box-shadow:0 0 0 2px rgba(148,163,184,.12)}
.presence-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:230px;padding:10px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:0 20px 50px rgba(15,23,42,.16);opacity:0;pointer-events:none;transform:translateY(-6px);transition:.16s;z-index:120}
.presence-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)}
.presence-dropdown-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;padding:4px 4px 9px;border-bottom:1px solid var(--border)}
.presence-dropdown-head strong{font-size:13px;color:var(--text)}
.presence-dropdown-head small{font-size:11px;color:var(--muted);text-align:right}
.presence-option{width:100%;display:grid;grid-template-columns:12px minmax(0,1fr) 16px;align-items:center;gap:9px;padding:9px;border:0;border-radius:11px;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:700;text-align:left;cursor:pointer}
.presence-option:hover,.presence-option.active{background:rgba(59,130,246,.09);color:var(--blue2)}
.presence-option svg{width:15px;height:15px}
.presence-pill,.presence-inline,.presence-mini{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}
.presence-pill{min-height:24px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:var(--panel2);color:var(--text);font-size:11px;font-weight:800;white-space:nowrap}
.presence-pill.compact{font-size:10px;padding:3px 6px;color:var(--muted)}
.presence-inline{font-size:12px;color:var(--muted);font-weight:700}
.presence-mini{font-size:11px;color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.presence-mini-counts{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:11px;font-weight:700}
.presence-mini-counts span{display:inline-flex;align-items:center;gap:5px}
.agenda-event-participants{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.participant-results .presence-inline,.participant-chip .presence-inline{font-size:11px}
body.dark-mode .presence-avatar>.presence-dot{border-color:#0f172a}
@media(max-width:720px){.presence-dropdown{right:-6px;width:min(250px,calc(100vw - 28px))}.presence-trigger .user-chip-name{display:none}.presence-trigger small{display:inline!important}}

/* Chat notifications and unread badges */
.chat-channel-item{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px}
.chat-channel-item .ch-name{min-width:0}.chat-channel-item .ch-name span,.chat-channel-item .ch-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-channel-item.has-unread{font-weight:900;border-color:rgba(37,99,235,.28);background:rgba(37,99,235,.07)}
.chat-unread-badge,.chat-nav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#2563eb;color:#fff;font-size:11px;font-weight:900;line-height:1}
.chat-nav-badge{margin-left:auto;background:#ef4444;min-width:19px;height:19px;font-size:10px}
.nav a{position:relative}.topbar-chat-btn{position:relative;text-decoration:none}.topbar-chat-btn .notif-count.hidden,.chat-nav-badge.hidden,.chat-unread-badge.hidden{display:none!important}
.chat-toast-stack{position:fixed;right:22px;top:82px;z-index:3500;display:grid;gap:10px;width:min(360px,calc(100vw - 28px));pointer-events:none}
.chat-toast{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:start;width:100%;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:0 22px 55px rgba(15,23,42,.18);padding:12px;color:var(--text);text-align:left;cursor:pointer;pointer-events:auto;opacity:0;transform:translateY(-8px);transition:opacity .18s,transform .18s,border-color .18s}
.chat-toast.show{opacity:1;transform:translateY(0)}.chat-toast:hover{border-color:#bfdbfe}
.chat-toast-avatar{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef4ff;color:#1d4ed8;font-weight:900}
.chat-toast-body{min-width:0;display:grid;gap:3px}.chat-toast-body strong{font-size:13px}.chat-toast-body span{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-toast-body small{font-size:11px;color:var(--muted)}.chat-toast-body em{margin-top:3px;color:#2563eb;font-size:12px;font-style:normal;font-weight:900}
body.dark-mode .chat-toast-avatar{background:#172554;color:#bfdbfe}body.dark-mode .chat-toast{box-shadow:0 22px 55px rgba(0,0,0,.36)}
@media(max-width:720px){.chat-toast-stack{top:70px;right:10px;left:10px;width:auto}.chat-toast{grid-template-columns:36px minmax(0,1fr);padding:10px}.chat-toast-avatar{width:36px;height:36px}.chat-channel-item{grid-template-columns:32px minmax(0,1fr) auto}}

.dashboard-chat-item{color:inherit;text-decoration:none}
.dashboard-chat-item .item-header span{display:flex;align-items:center;gap:8px;flex-shrink:0}


/* Gestão de Chamados */
.mgmt-dashboard{display:grid;gap:16px}.mgmt-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:22px;border-radius:18px;background:linear-gradient(135deg,#f8fafc,#eef6ff);border:1px solid var(--border);box-shadow:0 12px 34px rgba(15,23,42,.08)}.mgmt-hero h2{font-size:30px;line-height:1.05;margin:6px 0;color:var(--text)}.mgmt-hero p{color:var(--muted);font-size:14px;max-width:720px}.mgmt-hero-stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.mgmt-hero-stats span{min-width:118px;padding:12px 14px;border:1px solid rgba(37,99,235,.14);border-radius:14px;background:rgba(255,255,255,.72);color:var(--muted);font-size:12px;font-weight:800}.mgmt-hero-stats strong{display:block;color:#1d4ed8;font-size:24px;line-height:1}.mgmt-filters{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;padding:14px;border-radius:18px}.mgmt-filters .form-group{margin:0}.mgmt-filters label{font-size:11px}.mgmt-filter-actions{display:flex;align-items:end;gap:8px}.mgmt-filter-actions .btn{min-height:42px}.mgmt-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.mgmt-kpi,.mgmt-exec-card{padding:15px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:0 10px 24px rgba(15,23,42,.06)}.mgmt-kpi span,.mgmt-exec-card span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.mgmt-kpi strong,.mgmt-exec-card strong{display:block;margin-top:5px;font-size:27px;color:var(--text);line-height:1}.mgmt-kpi small,.mgmt-exec-card small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.mgmt-kpi.danger{border-color:rgba(239,68,68,.26);background:linear-gradient(180deg,#fff,#fff5f5)}.mgmt-kpi.danger strong{color:#dc2626}.mgmt-kpi.warn{border-color:rgba(245,158,11,.28);background:linear-gradient(180deg,#fff,#fffbeb)}.mgmt-kpi.warn strong{color:#b45309}.mgmt-kpi.success{border-color:rgba(34,197,94,.24);background:linear-gradient(180deg,#fff,#f0fdf4)}.mgmt-kpi.success strong{color:#16a34a}.mgmt-exec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mgmt-alert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.mgmt-alert{display:grid;gap:3px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--panel);font-size:13px}.mgmt-alert span{color:var(--muted)}.mgmt-alert.danger{border-color:rgba(239,68,68,.28);background:#fff5f5}.mgmt-alert.warn{border-color:rgba(245,158,11,.3);background:#fffbeb}.mgmt-alert.ok{border-color:rgba(34,197,94,.24);background:#f0fdf4}.mgmt-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.mgmt-chart-card,.mgmt-lower-grid>.panel-clean,.mgmt-table-card{padding:16px;border-radius:18px;border:1px solid var(--border);box-shadow:0 10px 28px rgba(15,23,42,.06);background:var(--panel)}.mgmt-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.mgmt-card-head h3{font-size:17px;margin:2px 0 0;color:var(--text)}.mgmt-card-head>strong{font-size:28px;color:#1d4ed8}.donut-list{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:center}.donut{--p:0;display:grid;place-items:center;width:124px;height:124px;border-radius:50%;background:conic-gradient(#2563eb calc(var(--p)*1%),#e5e7eb 0);position:relative}.donut:after{content:"";position:absolute;inset:16px;border-radius:50%;background:var(--panel)}.donut span{position:relative;z-index:1;font-size:22px;font-weight:900;color:#1d4ed8}.bar-list{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:center;position:relative;padding-bottom:9px}.bar-row span{font-size:12px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-row strong{font-size:12px;color:var(--muted);text-align:right}.bar-row i{position:absolute;left:0;right:auto;bottom:0;height:5px;border-radius:999px;background:linear-gradient(90deg,#1d4ed8,#38bdf8);min-width:4px}.timeline-bars{height:210px;display:grid;grid-template-columns:repeat(14,minmax(22px,1fr));gap:8px;align-items:end}.timeline-bars div{height:100%;display:grid;grid-template-rows:1fr auto auto;gap:5px;text-align:center;color:var(--muted);font-size:10px}.timeline-bars span{align-self:end;display:block;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#2563eb,#06b6d4);min-height:5px}.timeline-bars strong{font-size:11px;color:var(--text)}.mgmt-lower-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.tech-ranking{display:grid;gap:8px}.tech-ranking article{display:grid;grid-template-columns:minmax(0,1fr) 86px 74px 64px;gap:8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--panel2)}.tech-ranking strong{display:block;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tech-ranking span,.tech-ranking small{font-size:11px;color:var(--muted);font-weight:800}.critical-list{display:grid;gap:8px}.critical-list a{display:grid;grid-template-columns:12px minmax(0,1fr);gap:8px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--panel2);color:var(--text)}.critical-list strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.critical-list small{grid-column:2;color:var(--muted);font-size:11px;font-weight:800}.sla-dot,.sla-pill i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#16a34a}.sla-dot.warn,.sla-pill.warn i{background:#f59e0b}.sla-dot.danger,.sla-pill.danger i{background:#dc2626}.sla-pill{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;border:1px solid var(--border);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;background:var(--panel2);white-space:nowrap}.sla-pill small{color:var(--muted);font-size:10px}.sla-pill.warn{border-color:rgba(245,158,11,.35);background:#fffbeb}.sla-pill.danger{border-color:rgba(239,68,68,.32);background:#fff5f5}.mgmt-table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mgmt-table{min-width:1320px}.mgmt-table td{vertical-align:middle}.mgmt-table td small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.mgmt-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}.mgmt-pagination span{font-size:12px;color:var(--muted);font-weight:800}.btn.disabled{pointer-events:none;opacity:.48}.dark-mode .mgmt-hero,.dark-mode .mgmt-kpi,.dark-mode .mgmt-exec-card,.dark-mode .mgmt-chart-card,.dark-mode .mgmt-lower-grid>.panel-clean,.dark-mode .mgmt-table-card,.dark-mode .mgmt-alert{background:rgba(12,22,40,.84);box-shadow:0 14px 38px rgba(0,11,24,.24)}.dark-mode .mgmt-kpi.danger,.dark-mode .mgmt-alert.danger{background:rgba(127,29,29,.18)}.dark-mode .mgmt-kpi.warn,.dark-mode .mgmt-alert.warn{background:rgba(120,53,15,.18)}.dark-mode .mgmt-kpi.success,.dark-mode .mgmt-alert.ok{background:rgba(20,83,45,.18)}.dark-mode .mgmt-hero-stats span,.dark-mode .tech-ranking article,.dark-mode .critical-list a,.dark-mode .sla-pill{background:rgba(255,255,255,.04)}@media(max-width:1180px){.mgmt-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.mgmt-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mgmt-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mgmt-lower-grid{grid-template-columns:1fr}}@media(max-width:760px){.mgmt-dashboard{gap:12px}.mgmt-hero{display:grid;padding:18px}.mgmt-hero h2{font-size:24px}.mgmt-hero-stats{justify-content:stretch}.mgmt-hero-stats span{flex:1;min-width:92px}.mgmt-filters{grid-template-columns:1fr;padding:12px}.mgmt-filter-actions{display:grid;grid-template-columns:1fr 1fr}.mgmt-filter-actions .btn{justify-content:center}.mgmt-kpi-grid,.mgmt-exec-grid,.mgmt-chart-grid{grid-template-columns:1fr}.donut-list{grid-template-columns:1fr}.donut{margin:auto}.timeline-bars{overflow-x:auto;grid-template-columns:repeat(14,34px)}.tech-ranking article{grid-template-columns:1fr 1fr}.tech-ranking article div{grid-column:1/-1}.mgmt-card-head{display:grid}.mgmt-pagination{justify-content:center}.mgmt-table-actions{justify-content:flex-start}}


/* Cockpit operacional de chamados */
.mgmt-cockpit .mgmt-hero{align-items:center}.mgmt-kpi-grid.compact{grid-template-columns:repeat(8,minmax(0,1fr))}.mgmt-kpi{position:relative;overflow:hidden;transition:transform .16s,box-shadow .16s,border-color .16s}.mgmt-kpi:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,23,42,.1);border-color:rgba(37,99,235,.22)}.mgmt-kpi>i{display:block;position:absolute;left:14px;right:14px;bottom:9px;height:3px;border-radius:999px;background:linear-gradient(90deg,#2563eb,#22c55e);opacity:.18}.mgmt-ops-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.mgmt-queue-card{min-width:0}.mgmt-side-panel{display:grid;gap:12px;position:sticky;top:86px}.mgmt-side-card{padding:14px;border-radius:18px;border:1px solid var(--border);background:var(--panel);box-shadow:0 10px 28px rgba(15,23,42,.06)}.online-tech-list{display:grid;gap:8px}.online-tech-list a{display:grid;grid-template-columns:12px minmax(0,1fr);gap:4px 8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--panel2);color:var(--text)}.online-tech-list strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-tech-list small{grid-column:2;color:var(--muted);font-size:11px;font-weight:800}.critical-list.compact a{padding:9px}.critical-list.compact strong{font-size:12px}.mgmt-queue-table{min-width:1520px}.row-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.row-actions a,.row-actions button,.action-menu summary{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);color:var(--muted);cursor:pointer}.row-actions a:hover,.row-actions button:hover,.action-menu summary:hover{border-color:rgba(37,99,235,.3);color:#1d4ed8;background:rgba(37,99,235,.08)}.row-actions form{margin:0}.row-actions button{font:inherit;padding:0}.action-menu{position:relative}.action-menu summary{list-style:none}.action-menu summary::-webkit-details-marker{display:none}.action-menu form{position:absolute;right:0;top:34px;z-index:10;display:flex;gap:6px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 14px 30px rgba(15,23,42,.16)}.action-menu select{height:32px;min-width:150px;border:1px solid var(--border);border-radius:9px;background:var(--panel2);color:var(--text);font-size:12px}.action-menu form button{width:34px;height:32px;border-radius:9px;background:#2563eb;color:#fff;border-color:#2563eb}.mgmt-team-card{padding:16px;border-radius:18px;border:1px solid var(--border);background:var(--panel);box-shadow:0 10px 28px rgba(15,23,42,.06)}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.team-grid article{display:grid;grid-template-columns:12px minmax(0,1fr) 44px 30px;gap:4px 9px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel2)}.team-grid strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-grid small{grid-column:2;color:var(--muted);font-size:11px;font-weight:800}.team-grid b{grid-row:1/3;grid-column:3;font-size:24px;color:#1d4ed8;text-align:right}.team-grid em{grid-row:2;grid-column:3;font-size:10px;color:var(--muted);font-style:normal;text-align:right;text-transform:uppercase;font-weight:900}.team-grid a{grid-row:1/3;grid-column:4;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;border:1px solid var(--border);color:var(--muted);background:var(--panel)}.dark-mode .mgmt-side-card,.dark-mode .mgmt-team-card{background:rgba(12,22,40,.84);box-shadow:0 14px 38px rgba(0,11,24,.24)}.dark-mode .online-tech-list a,.dark-mode .team-grid article,.dark-mode .row-actions a,.dark-mode .row-actions button,.dark-mode .action-menu summary,.dark-mode .action-menu select{background:rgba(255,255,255,.04)}@media(max-width:1320px){.mgmt-kpi-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.mgmt-ops-layout{grid-template-columns:1fr}.mgmt-side-panel{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.mgmt-kpi-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.mgmt-side-panel{grid-template-columns:1fr}.row-actions a,.row-actions button,.action-menu summary{width:34px;height:34px}.mgmt-hero-stats{display:grid;grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr}.mgmt-filters{max-height:360px;overflow:auto}.mgmt-filters:before{content:'Filtros avançados';grid-column:1/-1;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}}


/* Agenda invites */
.agenda-invite-box{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:8px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--panel2)}.agenda-invite-box span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.agenda-invite-box strong{display:block;color:var(--text);font-size:14px;margin-top:3px}.agenda-invite-box small{max-width:420px;color:var(--muted);font-size:12px;line-height:1.35}.agenda-modal-actions{flex-wrap:wrap}.btn.danger{color:#b91c1c;border-color:rgba(239,68,68,.32);background:rgba(239,68,68,.08)}.btn.danger:hover{background:rgba(239,68,68,.14)}@media(max-width:640px){.agenda-invite-box{display:grid}.agenda-modal-actions{display:grid;grid-template-columns:1fr}.agenda-modal-actions .btn{width:100%;justify-content:center}}


/* Branch admin: clean enterprise surface */
.branch-admin-page,.branch-edit-page{display:grid;gap:16px;color:#172033}
.branch-admin-hero,.branch-edit-hero,.branch-admin-panel{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:14px;box-shadow:0 10px 28px rgba(15,23,42,.06)!important}
.branch-admin-hero,.branch-edit-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px}
.branch-admin-hero h2,.branch-edit-hero h2{margin:4px 0;font-size:28px;line-height:1.08;color:#0f172a;letter-spacing:0}
.branch-admin-hero p,.branch-edit-hero p,.branch-section-head p,.branch-sync-info span{margin:0;color:#64748b;font-size:13px;line-height:1.4}
.branch-admin-actions,.branch-edit-actions,.branch-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.branch-row-actions form,.branch-admin-actions form,.branch-edit-actions form{margin:0;display:inline-flex}
.branch-admin-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.branch-admin-metrics article,.branch-history-grid article{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.branch-admin-metrics span,.branch-history-grid span{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}
.branch-admin-metrics strong,.branch-history-grid strong{display:block;margin-top:4px;color:#1d4ed8;font-size:24px;line-height:1}
.branch-admin-panel{padding:14px}
.branch-admin-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(130px,1fr)) auto;gap:10px;align-items:end}
.branch-admin-filters .form-group{margin:0}
.branch-filter-actions{display:flex;gap:8px;align-items:end}.branch-filter-actions .btn{min-height:42px}
.branch-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.branch-section-head h3{margin:2px 0 0;color:#0f172a;font-size:18px}
.branch-admin-table{min-width:1120px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}
.branch-admin-table th{background:#f8fafc!important;color:#64748b!important;border-bottom:1px solid #e2e8f0!important;font-size:11px;letter-spacing:0;text-transform:uppercase}
.branch-admin-table td{background:#fff!important;color:#172033!important;border-bottom:1px solid #eef2f7!important;font-size:12px;vertical-align:middle}
.branch-admin-table tr:hover td{background:#f8fbff!important}.branch-admin-table td small{display:block;color:#64748b;margin-top:3px;font-size:11px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.empty-cell{text-align:center;color:#64748b!important;padding:24px!important}
.branch-edit-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.branch-sync-info{text-align:right;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px}.branch-sync-info strong{display:block;color:#0f172a;font-size:14px;margin-top:3px}
.branch-tabs{display:flex;gap:8px;overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:8px;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.branch-tabs button{border:0;border-radius:10px;background:transparent;color:#64748b;font-weight:900;font-size:12px;padding:10px 14px;cursor:pointer;white-space:nowrap}.branch-tabs button.active{background:#eaf3ff;color:#1d4ed8}
.branch-tab-panel{display:none}.branch-tab-panel.active{display:block}.branch-edit-form{display:grid;gap:14px}
.branch-readonly-grid,.branch-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.branch-readonly-grid label{display:grid;gap:6px;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}.span-2{grid-column:1/-1}
.branch-readonly-grid .input[readonly]{background:#f8fafc!important;color:#334155!important;border-color:#e2e8f0!important}
.branch-switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.branch-switch{display:grid;grid-template-columns:48px minmax(0,1fr);gap:2px 12px;align-items:center;padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.branch-switch input{display:none}.branch-switch span{grid-row:1/3;position:relative;width:46px;height:26px;border-radius:999px;background:#cbd5e1;transition:.18s}.branch-switch span:after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.18);transition:.18s}.branch-switch input:checked+span{background:#2563eb}.branch-switch input:checked+span:after{transform:translateX(20px)}.branch-switch strong{color:#0f172a;font-size:13px}.branch-switch small{color:#64748b;font-size:12px}.branch-history-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.branch-savebar{position:sticky;bottom:12px;display:flex;justify-content:flex-end;padding:10px;border:1px solid #dbeafe;border-radius:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);box-shadow:0 12px 34px rgba(15,23,42,.12)}
body.dark-mode .branch-admin-page,body.dark-mode .branch-edit-page{color:#172033}body.dark-mode .branch-admin-hero,body.dark-mode .branch-edit-hero,body.dark-mode .branch-admin-panel,body.dark-mode .branch-tabs,body.dark-mode .branch-admin-metrics article,body.dark-mode .branch-history-grid article,body.dark-mode .branch-switch{background:#fff!important;border-color:#e2e8f0!important;color:#172033!important}body.dark-mode .branch-admin-hero h2,body.dark-mode .branch-edit-hero h2,body.dark-mode .branch-section-head h3,body.dark-mode .branch-switch strong{color:#0f172a!important}
@media(max-width:1100px){.branch-admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.branch-filter-actions{grid-column:1/-1}.branch-admin-metrics,.branch-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.branch-admin-hero,.branch-edit-hero{display:grid}.branch-sync-info{text-align:left}}
@media(max-width:720px){.branch-admin-filters,.branch-readonly-grid,.branch-form-grid,.branch-switch-grid{grid-template-columns:1fr}.branch-admin-metrics,.branch-history-grid{grid-template-columns:1fr}.branch-row-actions .btn{width:100%;justify-content:center}.branch-row-actions{display:grid}.branch-savebar .btn{width:100%;justify-content:center}}

.ticket-time-form{display:grid;gap:10px;margin-top:12px}.ticket-time-list{display:grid;gap:8px;margin-top:14px}.ticket-time-list article{padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.ticket-time-list strong{display:block;font-size:12px;color:var(--text)}.ticket-time-list small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.ticket-time-list p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.35}


/* Dashboard interactive cards and aligned quick shortcuts */
.dashboard-kpi-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important;margin-bottom:14px!important}
.dashboard-kpi-link{display:grid!important;align-content:start!important;min-height:128px!important;height:100%!important;text-decoration:none!important;color:inherit!important;cursor:pointer!important;border-radius:14px!important;position:relative!important;overflow:hidden!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease!important}
.dashboard-kpi-link:hover{transform:translateY(-3px)!important;box-shadow:0 16px 34px rgba(15,23,42,.12)!important;border-color:rgba(31,109,168,.34)!important;background:#fff!important}
.dashboard-kpi-link:active{transform:translateY(-1px) scale(.995)!important}
.dashboard-kpi-link:focus-visible{outline:3px solid rgba(37,99,235,.22)!important;outline-offset:3px!important}
.dashboard-kpi-link::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,#1f6da8,#38bdf8);opacity:0;transition:opacity .18s ease}.dashboard-kpi-link:hover::before,.dashboard-kpi-link:focus-visible::before{opacity:1}
.dashboard-kpi-link .kpi-icon{transition:transform .18s ease,background .18s ease}.dashboard-kpi-link:hover .kpi-icon{transform:translateY(-1px);background:#e8f3fb}
.dashboard-quick-strip{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important;margin-bottom:18px!important}
.dashboard-quick-strip a{min-width:0!important;min-height:76px!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:14px 16px!important;border-radius:14px!important;font-size:13px!important;font-weight:900!important;line-height:1.2!important;white-space:normal!important;text-decoration:none!important;box-sizing:border-box!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease!important}
.dashboard-quick-strip a:hover{transform:translateY(-2px)!important;box-shadow:0 14px 28px rgba(15,23,42,.1)!important;border-color:rgba(31,109,168,.32)!important}
.dashboard-quick-strip svg{flex:0 0 auto!important}
@media(max-width:900px){.dashboard-kpi-grid,.dashboard-quick-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-kpi-link{min-height:122px!important}.dashboard-quick-strip a{min-height:72px!important}}
@media(max-width:420px){.dashboard-kpi-grid,.dashboard-quick-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.dashboard-quick-strip a{padding:12px 10px!important;font-size:12px!important}.dashboard-kpi-link{padding:11px!important}}


@media(max-width:760px){
  .phonebook-actions-col,
  .phonebook-actions-cell{
    width:150px;
    min-width:150px;
  }
  .table-actions{
    min-width:126px;
    gap:6px;
    justify-content:flex-start;
  }
  .table-action-btn{
    width:34px;
    height:34px;
    min-width:34px;
    max-width:34px;
    border-radius:8px!important;
  }
}

.ticket-dropzone{display:grid;place-items:center;gap:6px;min-height:132px;border:1px dashed rgba(59,130,246,.38);border-radius:14px;background:var(--panel2);color:var(--muted);cursor:pointer;text-align:center;padding:18px;transition:border-color .16s,background .16s}
.ticket-dropzone input{display:none}.ticket-dropzone strong{color:var(--text);font-size:13px}.ticket-dropzone small{font-size:12px}.ticket-dropzone.is-drag{border-color:var(--blue);background:rgba(59,130,246,.1)}
.ticket-upload-preview{display:grid;gap:8px;margin-top:10px}.ticket-upload-preview div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.ticket-upload-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800}.ticket-upload-preview small{color:var(--muted);font-size:11px}.ticket-upload-preview button,.composer-preview button{border:0;background:transparent;color:#ef4444;font-weight:900;cursor:pointer}
.ticket-attachment-list.rich{display:grid;gap:8px}.ticket-attachment-list.rich.compact{margin-top:10px}.ticket-attachment-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--panel2);color:var(--text)}.ticket-attachment-item strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-attachment-item small{grid-column:2;color:var(--muted);font-size:11px;font-weight:700}.ticket-attachment-item em{grid-column:3;grid-row:1/3;font-style:normal;color:var(--blue2);font-size:11px;font-weight:900}.file-type{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:rgba(59,130,246,.12);color:var(--blue2);font-size:10px;font-weight:900}.file-type.pdf{background:rgba(220,38,38,.12);color:#ef4444}.file-type.xls,.file-type.xlsx{background:rgba(22,163,74,.12);color:#16a34a}.file-type.doc,.file-type.docx{background:rgba(37,99,235,.12);color:#2563eb}.file-type.jpg,.file-type.jpeg,.file-type.png{background:rgba(168,85,247,.12);color:#9333ea}.file-type.zip{background:rgba(245,158,11,.14);color:#b45309}
.ticket-danger-panel{display:grid;gap:10px}.ticket-danger-panel h2{margin-bottom:2px}.ticket-composer.is-drag{outline:2px dashed rgba(59,130,246,.55);outline-offset:4px}.composer-preview span{display:inline-flex;align-items:center;gap:7px}.composer-preview button{color:#f87171}

.composer-time-grid{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(220px,1fr);gap:10px}.composer-time-grid .form-group{margin:0}.composer-time-grid label{font-size:11px}.composer-internal-toggle{width:max-content;margin-right:0}.ticket-composer.is-internal{border:1px solid rgba(245,158,11,.24)}.ticket-time-summary .ticket-time-list.compact article{padding:9px 0;border-bottom:1px solid var(--border)}.ticket-time-summary .ticket-time-list.compact article:last-child{border-bottom:0}.ticket-time-summary .ticket-time-list.compact p{margin:0}.ticket-time-summary .ticket-time-list.compact strong{display:block;font-size:12px}.ticket-time-summary .ticket-time-list.compact small{color:var(--muted);font-size:11px}
@media(max-width:620px){.composer-time-grid{grid-template-columns:1fr}.composer-internal-toggle{width:100%}}


/* Birthday cards: light mode contrast and readable hierarchy */
body:not(.dark-mode) .birthday-person-card{
  background:#ffffff!important;
  border-color:#e5e7eb!important;
  box-shadow:0 8px 22px rgba(15,23,42,.06)!important;
  color:#0f172a!important;
}
body:not(.dark-mode) .birthday-person-card:hover{
  background:#f8fafc!important;
  border-color:#cbd5e1!important;
  box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
}
body:not(.dark-mode) .birthday-person-card.today{
  background:#fffdf7!important;
  border-color:#fde68a!important;
}
body:not(.dark-mode) .birthday-person-card h3{
  color:#0f172a!important;
  font-weight:800;
  line-height:1.24;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
body:not(.dark-mode) .birthday-person-card p{
  color:#475569!important;
  font-weight:600;
  white-space:normal;
  overflow-wrap:anywhere;
  max-width:none;
}
body:not(.dark-mode) .birthday-person-meta{
  color:#64748b!important;
}
body:not(.dark-mode) .birthday-person-meta span{
  color:#64748b!important;
  overflow-wrap:anywhere;
}
body:not(.dark-mode) .birthday-wall{
  background:#f8fafc!important;
  border-color:#e5e7eb!important;
  color:#0f172a!important;
}
body:not(.dark-mode) .birthday-wall strong{
  color:#0f172a!important;
  font-weight:800;
}
body:not(.dark-mode) .birthday-wall p{
  color:#64748b!important;
}
body:not(.dark-mode) .birthday-wall p span{
  color:#334155!important;
}
body:not(.dark-mode) .birthday-stat-chip{
  background:#ffffff!important;
  border-color:#e5e7eb!important;
  color:#0f172a!important;
}
body:not(.dark-mode) .birthday-stat-chip strong,
body:not(.dark-mode) .birthday-tab.active{
  color:#0f172a!important;
}
body:not(.dark-mode) .birthday-stat-chip span,
body:not(.dark-mode) .birthday-tab,
body:not(.dark-mode) .birthday-empty{
  color:#64748b!important;
}
body:not(.dark-mode) .birthday-tab.active{
  border-bottom-color:#1f6da8!important;
}
@media(max-width:620px){
  .birthday-person-card h3{font-size:13px;line-height:1.28}
  .birthday-person-top{align-items:flex-start}
}
.agenda-toggle-cancelled{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 10px;border:1px solid var(--border);border-radius:12px;background:var(--panel2);color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.agenda-toggle-cancelled input{accent-color:var(--blue)}
body:not(.dark-mode) .agenda-toggle-cancelled{background:#f8fafc!important;border-color:#e5e7eb!important;color:#475569!important}
.agenda-toolbar{grid-template-columns:auto 170px minmax(180px,1fr) minmax(160px,1fr) minmax(180px,1fr) auto auto}
@media(max-width:980px){.agenda-toolbar{grid-template-columns:1fr 1fr}.agenda-toggle-cancelled{justify-content:center}}
@media(max-width:640px){.agenda-toolbar{grid-template-columns:1fr}}

/* Rooms photo upload: clean enterprise uploader */
.room-photo-upload{
  position:relative;
  display:grid;
  grid-template-columns:136px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px dashed #cbd5e1;
  border-radius:14px;
  background:#f8fafc;
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.room-photo-upload.is-dragging{
  border-color:#2563eb;
  background:#eff6ff;
  box-shadow:0 10px 24px rgba(37,99,235,.12);
}
.room-photo-preview{
  width:136px;
  aspect-ratio:16/10;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid #e2e8f0;
  background:linear-gradient(135deg,rgba(31,109,168,.1),rgba(15,23,42,.04)),url("/static/templates/image/image01.jpeg") center/cover no-repeat;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  overflow:hidden;
}
.room-photo-preview.has-image{
  background-size:cover;
  background-position:center;
}
.room-photo-upload-body{
  display:grid;
  gap:5px;
  min-width:0;
}
.room-photo-upload-body strong{
  color:#0f172a;
  font-size:13px;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.room-photo-upload-body small{
  color:#64748b;
  font-size:12px;
  font-weight:700;
}
.room-photo-upload-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:5px;
}
.room-photo-file{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
@media(max-width:560px){
  .room-photo-upload{
    grid-template-columns:1fr;
  }
  .room-photo-preview{
    width:100%;
  }
  .room-photo-upload-actions .btn{
    flex:1 1 auto;
    justify-content:center;
  }
}

/* Room cards: stable 16:9 thumbnails without distortion */
.room-admin-photo{
  position:relative!important;
  width:100%!important;
  height:160px!important;
  min-height:160px!important;
  overflow:hidden!important;
  background:#f1f5f9 url("/static/templates/image/image01.jpeg") center/cover no-repeat!important;
  border-radius:16px 16px 0 0!important;
  border-bottom:1px solid #e5e7eb!important;
}
.room-card-image{
  display:block;
  width:100%;
  height:160px;
  object-fit:cover;
  object-position:center;
  border-radius:16px 16px 0 0;
  background:#f1f5f9;
}
.room-thumb-preview-wrap{
  display:grid;
  gap:5px;
  margin-top:4px;
}
.room-thumb-preview-wrap > span{
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
.room-thumb-preview{
  width:150px;
  aspect-ratio:16/9;
  display:grid;
  place-items:center;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#f1f5f9 url("/static/templates/image/image01.jpeg") center/cover no-repeat;
  color:#64748b;
  font-size:11px;
  font-weight:900;
  overflow:hidden;
}
.room-thumb-preview.has-image{
  background-size:cover;
  background-position:center;
}
@media(max-width:560px){
  .room-thumb-preview{width:100%}
}

/* Dashboard home: enterprise operational hub */
.home-shell{display:grid;gap:16px}.home-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:18px;min-height:360px;padding:28px;border:1px solid var(--border);border-radius:22px;overflow:hidden;background:linear-gradient(105deg,rgba(255,255,255,.92),rgba(240,247,252,.78)),url('/static/templates/image/image01.jpeg');background-size:cover;background-position:center right;box-shadow:0 18px 44px rgba(15,23,42,.09)}.home-hero:before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.28);pointer-events:none}.home-hero-main,.home-hero-side{position:relative;z-index:1}.home-hero h1{max-width:820px;margin:4px 0 6px;font-size:clamp(32px,4.3vw,56px);line-height:1.02;color:#0f172a;letter-spacing:0}.home-hero .hero-subtitle{margin:0 0 8px!important;color:#1f6da8!important;font-size:20px!important;font-weight:900}.home-hero .hero-copy{max-width:620px;color:#475569!important;font-size:15px!important;line-height:1.65}.home-hero-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.home-hero-meta span{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid rgba(31,109,168,.16);border-radius:999px;background:rgba(255,255,255,.72);color:#475569;font-size:12px;font-weight:900}.home-hero-meta svg{width:15px;height:15px;color:#1f6da8}.home-hero-side{display:grid;gap:10px;align-content:start}.hero-status-card,.hero-next-card,.hero-mini-list{border:1px solid rgba(31,109,168,.14);border-radius:16px;background:rgba(255,255,255,.78);box-shadow:0 12px 28px rgba(15,23,42,.06);backdrop-filter:blur(10px)}.hero-status-card,.hero-next-card{padding:14px}.hero-status-card span,.hero-next-card span{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}.hero-status-card strong{display:block;margin:4px 0;color:#1d4ed8;font-size:38px;line-height:1}.hero-next-card strong{display:block;margin:6px 0;color:#0f172a;font-size:15px}.hero-status-card small,.hero-next-card small{color:#64748b;font-size:12px;line-height:1.4}.hero-mini-list{display:grid;gap:2px;padding:8px}.hero-mini-list div{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:center;padding:8px;border-radius:12px}.hero-mini-list svg{width:18px;height:18px;color:#1f6da8}.hero-mini-list span{color:#475569;font-size:12px}.hero-mini-list strong{color:#0f172a}.home-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.home-kpi{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;min-height:148px;padding:15px;border:1px solid var(--border);border-radius:18px;background:var(--panel);color:var(--text);box-shadow:0 10px 28px rgba(15,23,42,.06);overflow:hidden;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s}.home-kpi:hover{transform:translateY(-3px);border-color:rgba(31,109,168,.3);box-shadow:0 18px 34px rgba(15,23,42,.11)}.home-kpi-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#eef6ff;color:#1d4ed8}.home-kpi strong{display:block;color:var(--text);font-size:30px;line-height:1}.home-kpi small{color:var(--muted);font-size:12px;font-weight:900}.home-kpi p{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;line-height:1.35;min-height:34px}.mini-bars{grid-column:1/-1;display:flex;align-items:end;gap:5px;height:28px}.mini-bars b{display:block;width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#2563eb,#38bdf8);opacity:.72}.mini-bars.accent b{background:linear-gradient(180deg,#0ea5e9,#14b8a6)}.mini-bars.green b{background:linear-gradient(180deg,#22c55e,#84cc16)}.mini-bars.warm b{background:linear-gradient(180deg,#f59e0b,#fb7185)}.home-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.home-shortcuts a{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;min-height:82px;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--panel);color:var(--text);box-shadow:0 10px 24px rgba(15,23,42,.055);text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s}.home-shortcuts a:hover{transform:translateY(-2px);border-color:rgba(31,109,168,.28);box-shadow:0 15px 30px rgba(15,23,42,.1)}.home-shortcuts span{grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#eef6ff;color:#1d4ed8}.home-shortcuts strong{font-size:14px}.home-shortcuts small{color:var(--muted);font-size:12px}.home-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.home-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-feed,.home-widget,.bulletin-feature{padding:16px;border-radius:18px}.home-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.home-section-head h2{margin:2px 0 0;color:var(--text);font-size:18px;letter-spacing:0}.home-section-head.compact{align-items:center}.home-section-head.compact h2{display:flex;align-items:center;gap:8px;font-size:15px}.home-section-head a{font-size:12px;font-weight:900;color:#1d4ed8}.feed-timeline{display:grid;gap:10px}.feed-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:12px;border:1px solid var(--border);border-radius:15px;background:var(--panel2);color:var(--text);text-decoration:none;transition:background .18s,border-color .18s,transform .18s}.feed-card:hover{transform:translateY(-1px);border-color:rgba(31,109,168,.24);background:var(--panel)}.feed-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#eef6ff;color:#1d4ed8}.feed-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.feed-card strong{font-size:14px}.feed-card small,.feed-card p{color:var(--muted);font-size:12px}.feed-card p{margin:5px 0 0;line-height:1.45}.home-side-stack{display:grid;gap:16px}.teams-list,.online-list,.doc-live-list,.ticket-mini-list{display:grid;gap:8px}.teams-list a,.doc-live-list a,.ticket-mini-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--panel2);color:var(--text);text-decoration:none}.teams-list strong,.online-list strong,.doc-live-list strong,.ticket-mini-list strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teams-list small,.online-list small,.doc-live-list small,.ticket-mini-list small{display:block;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teams-list b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:#2563eb;color:#fff;font-size:11px}.avatar-mini{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:linear-gradient(135deg,#1d4ed8,#06b6d4);color:#fff;font-size:12px;font-weight:900;text-transform:uppercase}.online-list article{display:grid;grid-template-columns:36px minmax(0,1fr) 10px 32px;gap:8px;align-items:center;padding:9px;border:1px solid var(--border);border-radius:14px;background:var(--panel2)}.online-list article>a{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:#1d4ed8}.agenda-mini-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.agenda-mini-columns>div{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:15px;background:var(--panel2)}.agenda-mini-columns>div>strong{font-size:13px;color:var(--text)}.agenda-mini-columns a{display:grid;grid-template-columns:48px minmax(0,1fr);gap:9px;align-items:start;padding:9px;border-radius:12px;color:var(--text);text-decoration:none;background:var(--panel)}.agenda-mini-columns time{color:#1d4ed8;font-size:13px;font-weight:900}.agenda-mini-columns span{font-size:13px;font-weight:900}.agenda-mini-columns small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.agenda-mini-columns p{margin:0;color:var(--muted);font-size:12px}.doc-live-list a{grid-template-columns:44px minmax(0,1fr)}.ticket-mini-list a{grid-template-columns:1fr}.bulletin-feature{display:grid;grid-template-columns:128px minmax(0,1fr);gap:16px;align-items:center}.bulletin-feature-cover,.bulletin-feature-fallback{width:128px;height:176px;border-radius:16px;background:#f1f5f9;border:1px solid var(--border)}.bulletin-feature-cover{object-fit:cover;object-position:center}.bulletin-feature-fallback{display:grid;place-items:center;align-content:center;gap:7px;color:#1d4ed8;font-weight:900}.bulletin-feature h2{margin:4px 0 7px;color:var(--text);font-size:22px}.bulletin-feature p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.bulletin-feature-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.home-empty{padding:20px;text-align:center;color:var(--muted);font-size:13px}.home-empty.compact{padding:12px}.dark-mode .home-hero{background:linear-gradient(105deg,rgba(12,22,40,.94),rgba(15,23,42,.82)),url('/static/templates/image/image01.jpeg');background-size:cover;background-position:center right}.dark-mode .home-hero:before{background:rgba(2,6,23,.16)}.dark-mode .home-hero h1{color:#f8fafc}.dark-mode .home-hero .hero-copy{color:#cbd5e1!important}.dark-mode .hero-status-card,.dark-mode .hero-next-card,.dark-mode .hero-mini-list,.dark-mode .home-hero-meta span{background:rgba(15,23,42,.74);border-color:rgba(148,163,184,.18)}.dark-mode .hero-next-card strong,.dark-mode .hero-mini-list strong{color:#f8fafc}.dark-mode .home-kpi-icon,.dark-mode .home-shortcuts span,.dark-mode .feed-icon{background:rgba(59,130,246,.16);color:#93c5fd}@media(max-width:1180px){.home-hero,.home-main-grid{grid-template-columns:1fr}.home-hero-side{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-mini-list{align-content:start}.home-kpi-grid,.home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.home-shell{gap:12px}.home-hero{min-height:auto;padding:20px;border-radius:18px}.home-hero h1{font-size:30px}.home-hero-side,.home-lower-grid,.agenda-mini-columns{grid-template-columns:1fr}.home-kpi-grid,.home-shortcuts{grid-template-columns:1fr}.home-shortcuts a{min-height:72px}.home-section-head{align-items:flex-start;display:grid}.feed-card-top{display:grid}.bulletin-feature{grid-template-columns:92px minmax(0,1fr);padding:14px}.bulletin-feature-cover,.bulletin-feature-fallback{width:92px;height:126px;border-radius:13px}.bulletin-feature h2{font-size:17px}.online-list article{grid-template-columns:36px minmax(0,1fr) 10px 32px}.global-search{display:none!important}}

/* Sidebar and notification polish */
.sidebar{box-shadow:18px 0 48px rgba(15,23,42,.18)}.nav a{border-radius:12px;margin:2px 8px;padding:10px 12px;transition:background .16s,transform .16s,color .16s}.nav a:hover{transform:translateX(2px)}.nav a.active{box-shadow:inset 3px 0 0 rgba(125,211,252,.9)}.nav-section{margin:12px 14px 6px}.notif-menu{position:relative}.notif-dropdown{right:0;top:48px;width:min(360px,calc(100vw - 28px));padding:10px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:0 22px 56px rgba(15,23,42,.18);overflow:hidden}.notif-dropdown-head{padding:7px 8px 11px;border-bottom:1px solid var(--border);margin-bottom:6px}.notif-dropdown-head strong{color:var(--text);font-size:14px}.notif-dropdown-head a{color:#1d4ed8;font-size:12px;font-weight:900}.notif-preview{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;padding:10px;border-radius:12px;color:var(--text);text-decoration:none}.notif-preview:hover{background:var(--panel2)}.notif-preview-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#eef6ff;color:#1d4ed8;font-weight:900}.notif-preview strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-preview small{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.35}.notif-preview.empty{display:block;text-align:center;color:var(--muted);font-size:12px}.notif-count{box-shadow:0 0 0 2px var(--panel)}.dark-mode .notif-preview-icon{background:rgba(59,130,246,.16);color:#93c5fd}@media(max-width:760px){.nav a{margin-left:10px;margin-right:10px}.notif-dropdown{position:fixed;right:14px;top:66px}}

/* User avatars */
.ibg-avatar{--avatar-color:#2563eb;display:inline-grid;place-items:center;position:relative;flex:0 0 auto;width:38px;height:38px;border-radius:999px;overflow:hidden;background:linear-gradient(135deg,var(--avatar-color),color-mix(in srgb,var(--avatar-color) 58%,#38bdf8));color:#fff;font-weight:900;letter-spacing:0;border:1px solid rgba(255,255,255,.28);box-shadow:0 6px 16px rgba(15,23,42,.12);line-height:1}.ibg-avatar>span{font-size:.78rem;color:#fff!important;line-height:1}.ibg-avatar img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.avatar-wrap{position:relative;display:inline-grid;place-items:center;flex:0 0 auto}.avatar-wrap>.presence-dot{position:absolute;right:-1px;bottom:-1px;border:2px solid var(--panel);z-index:2}.sidebar-user .ibg-avatar.avatar,.user-chip .ibg-avatar.avatar{width:36px;height:36px;border-radius:999px}.user-chip .avatar-wrap{margin-left:-1px}.presence-avatar-wrap .presence-dot{right:0;bottom:0}.ch-avatar-wrap .ibg-avatar{width:30px;height:30px;border-radius:10px}.channel-avatar-wrap .ibg-avatar,.channel-avatar-wrap .channel-avatar{width:42px;height:42px;border-radius:15px}.msg-avatar-wrap .ibg-avatar{border-radius:9px}.avatar-mini.ibg-avatar{width:36px;height:36px}.phonebook-person{grid-template-columns:auto minmax(0,1fr)!important}.phonebook-person .phonebook-avatar{grid-row:1/3;width:38px;height:38px;border-radius:12px}.phonebook-person .phonebook-avatar span{width:auto;height:auto;background:transparent}.user-table-avatar{width:32px;height:32px;border-radius:10px}.people-name-cell{display:flex;align-items:center;gap:10px;min-width:190px}.people-avatar{width:34px;height:34px;border-radius:12px}.birthday-avatar.ibg-avatar{width:46px;height:46px}.birthday-avatar.ibg-avatar span{font-size:14px;font-weight:900}.avatar-modal{max-width:720px}.avatar-profile-panel{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center;padding:16px;border-bottom:1px solid var(--border)}.avatar-preview-current{width:72px;height:72px;border-radius:22px}.avatar-profile-panel h4{margin:4px 0;color:var(--text);font-size:18px}.avatar-profile-panel p{margin:0;color:var(--muted);font-size:13px}.avatar-form{display:grid;gap:14px;padding:16px}.avatar-upload-box{display:grid;gap:8px}.avatar-upload-box label{color:var(--text);font-size:13px;font-weight:900}.avatar-upload-box small{color:var(--muted);font-size:12px}.avatar-crop-preview{display:grid;place-items:center;width:112px;height:112px;border:1px dashed rgba(37,99,235,.3);border-radius:26px;background:var(--panel2);overflow:hidden;color:var(--muted);font-size:12px;font-weight:900}.avatar-crop-preview img{display:none;width:100%;height:100%;object-fit:cover;object-position:center}.avatar-choice-grid{display:grid;grid-template-columns:repeat(8,44px);gap:9px}.avatar-choice{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;border:2px solid transparent;background:linear-gradient(135deg,var(--avatar-color),color-mix(in srgb,var(--avatar-color) 56%,#38bdf8));color:#fff;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.12);transition:transform .16s,border-color .16s}.avatar-choice:hover,.avatar-choice.active{transform:translateY(-2px);border-color:#fff}.avatar-actions{justify-content:flex-start;flex-wrap:wrap}.avatar-change-option svg{width:15px;height:15px}.chat-toast-avatar.ibg-avatar{width:38px;height:38px;border-radius:13px}@media(max-width:760px){.avatar-modal{width:min(94vw,720px)}.avatar-profile-panel{grid-template-columns:56px minmax(0,1fr);padding:14px}.avatar-preview-current{width:56px;height:56px;border-radius:18px}.avatar-choice-grid{grid-template-columns:repeat(4,44px)}.avatar-actions .btn{width:100%;justify-content:center}.people-name-cell{min-width:0}.phonebook-person .phonebook-avatar{width:34px;height:34px}}

.email-history-trigger{margin-top:10px;align-self:flex-start}
.ticket-email-history-modal{width:min(900px,100%);border-radius:18px}
.email-history-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.email-history-meta div{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel2);min-width:0}
.email-history-meta span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;margin-bottom:4px}
.email-history-meta strong{display:block;color:var(--text);font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.email-history-text{max-height:46vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:14px;border:1px solid var(--border);border-radius:12px;background:rgba(2,6,23,.34);color:var(--text);font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.email-history-attachments{margin-top:14px}.email-history-attachments h4{margin:0 0 8px;color:var(--text);font-size:13px}
@media(max-width:680px){.email-history-meta{grid-template-columns:1fr}.ticket-email-history-modal{max-height:94vh}.email-history-text{max-height:42vh}}
.category-admin{display:grid;gap:14px}.category-admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.category-admin-filters{display:grid;grid-template-columns:minmax(260px,1fr) 160px auto;gap:8px;flex:1}.category-admin-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}.category-tree-panel,.category-table-panel{padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:0 10px 28px rgba(15,23,42,.06)}.category-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.category-panel-head h2{margin:0;color:var(--text);font-size:16px}.category-panel-head span{color:var(--muted);font-size:12px;font-weight:800}.category-tree-list{display:grid;gap:5px;max-height:72vh;overflow:auto}.category-tree-node{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 9px 8px calc(9px + (var(--level,0) * 14px));border:1px solid var(--border);border-radius:10px;background:var(--panel2)}.category-tree-node span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:12px;font-weight:800}.category-tree-node small{color:var(--muted);font-size:10px;text-transform:uppercase}.category-admin-table td>strong{display:block;color:var(--text);font-size:13px;line-height:1.35}.category-admin-table td>small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}.category-row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.category-row-actions form{margin:0}.category-admin-modal{width:min(760px,100%)}.category-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.category-form-grid .wide{grid-column:1/-1}@media(max-width:980px){.category-admin-toolbar{display:grid}.category-admin-filters,.category-admin-layout{grid-template-columns:1fr}.category-tree-list{max-height:320px}.category-form-grid{grid-template-columns:1fr}}
.ticket-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ticket-side-head h2{margin:0}.ticket-side-head span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:var(--panel2);color:var(--muted);font-size:11px;font-weight:900}.related-ticket-list{display:grid;gap:8px;margin-top:10px}.related-ticket-list article{display:grid;gap:5px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.related-ticket-list a{color:var(--text);font-size:12px;line-height:1.35}.related-ticket-list a strong{color:var(--blue2)}.related-ticket-list small{color:var(--muted);font-size:11px}.related-ticket-list form{margin:0}.related-ticket-actions{display:grid;gap:8px;margin-top:12px}.link-form{display:grid;gap:10px}
.email-attachment-block{display:grid;gap:10px;margin-top:14px}.email-attachment-block h3{margin:0;color:var(--text);font-size:13px;letter-spacing:0}.email-attachment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.email-attachment-block.compact .email-attachment-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.email-attachment-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.email-attachment-thumb{width:58px;height:58px;border-radius:10px;overflow:hidden;background:#eef2f7;border:1px solid var(--border);display:grid;place-items:center}.email-attachment-thumb button{width:100%;height:100%;border:0;background:transparent;padding:0;cursor:pointer}.email-attachment-thumb img{display:block;width:100%;height:100%;object-fit:cover}.email-attachment-thumb span{font-size:11px;font-weight:900;color:#1d4ed8}.email-attachment-info{min-width:0;display:grid;gap:5px}.email-attachment-info strong{display:block;color:var(--text);font-size:12px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-attachment-info small{color:var(--muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}.email-attachment-actions{display:flex;gap:6px;flex-wrap:wrap}.attachment-preview-shell{width:min(1040px,100%)}.attachment-preview-body{display:grid;place-items:center;background:#0f172a;border-radius:0 0 16px 16px}.attachment-preview-body img{display:block;max-width:100%;max-height:78vh;object-fit:contain;border-radius:8px}@media(max-width:680px){.email-attachment-grid,.email-attachment-block.compact .email-attachment-grid{grid-template-columns:1fr}.email-attachment-card{grid-template-columns:52px minmax(0,1fr)}.email-attachment-thumb{width:52px;height:52px}.attachment-preview-body img{max-height:70vh}}

/* Agenda room-aware scheduling */
.agenda-room-filter{
  position:relative;
  min-width:220px;
}
.agenda-room-filter summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:42px;
  padding:0 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel2);
  color:var(--text);
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  list-style:none;
}
.agenda-room-filter summary::-webkit-details-marker{display:none}
.agenda-room-filter summary strong{
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:24px;
  border-radius:999px;
  background:rgba(59,130,246,.12);
  color:var(--blue2);
  font-size:11px;
}
.agenda-room-filter-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 8px);
  z-index:60;
  display:grid;
  gap:4px;
  max-height:320px;
  overflow:auto;
  padding:8px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel);
  box-shadow:0 18px 44px rgba(15,23,42,.18);
}
.agenda-room-filter-menu label{
  display:grid;
  grid-template-columns:18px 12px minmax(0,1fr);
  gap:8px;
  align-items:center;
  min-height:34px;
  padding:7px 8px;
  border-radius:9px;
  color:var(--text);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.agenda-room-filter-menu label:hover{background:var(--panel2)}
.agenda-room-filter-menu input{accent-color:#2563eb}
.agenda-room-filter-menu label span{
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--room-color,#3b82f6);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--room-color,#3b82f6) 18%,transparent);
}
.agenda-day-room-board{
  display:grid;
  grid-template-columns:74px repeat(var(--agenda-room-columns,1),minmax(220px,1fr));
  gap:8px;
  overflow:auto;
  padding-bottom:8px;
}
.agenda-day-corner,
.agenda-day-room-head{
  position:sticky;
  top:0;
  z-index:8;
  min-height:52px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel2);
}
.agenda-day-corner{
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}
.agenda-day-room-head{
  display:grid;
  grid-template-columns:12px minmax(0,1fr);
  gap:4px 8px;
  align-content:center;
  min-width:220px;
  padding:9px 10px;
}
.agenda-day-room-head span{
  grid-row:1/3;
  align-self:center;
  width:10px;
  height:34px;
  border-radius:999px;
  background:var(--room-color,#3b82f6);
}
.agenda-day-room-head strong,
.agenda-day-room-head small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.agenda-day-room-head strong{color:var(--text);font-size:13px}
.agenda-day-room-head small{color:var(--muted);font-size:11px;font-weight:800}
.agenda-day-time{
  min-width:74px;
  border-radius:12px;
}
.agenda-room-timeline{
  min-width:220px;
  height:calc(var(--agenda-slots,68) * 24px);
  border-radius:12px;
}
.agenda-room-timeline .agenda-slot-layer{left:0}
.agenda-room-timeline .agenda-event,
.agenda-week-cell .agenda-event{
  left:8px;
  right:8px;
}
.agenda-room-timeline .agenda-selection,
.agenda-week-cell .agenda-selection{
  left:8px;
  right:8px;
}
.agenda-room-timeline .agenda-selection-tip,
.agenda-week-cell .agenda-selection-tip{
  right:8px;
}
.agenda-event{
  --room-color:#3b82f6;
  background:color-mix(in srgb,var(--room-color) 12%,#ffffff)!important;
  border-color:color-mix(in srgb,var(--room-color) 28%,#e5e7eb)!important;
  border-left-color:var(--room-color)!important;
  color:#0f172a!important;
}
.agenda-event:hover{
  border-color:color-mix(in srgb,var(--room-color) 42%,#dbeafe)!important;
}
body.dark-mode .agenda-event{
  background:color-mix(in srgb,var(--room-color) 22%,#111827)!important;
  border-color:color-mix(in srgb,var(--room-color) 34%,#334155)!important;
  border-left-color:var(--room-color)!important;
  color:#e5edf7!important;
}
.agenda-event-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
}
.agenda-event-top strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.agenda-room-chip{
  display:inline-flex;
  align-items:center;
  max-width:132px;
  min-height:22px;
  padding:3px 7px;
  border:1px solid color-mix(in srgb,var(--room-color) 30%,#dbeafe);
  border-radius:999px;
  background:color-mix(in srgb,var(--room-color) 10%,#ffffff);
  color:#334155;
  font-size:10px;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.dark-mode .agenda-room-chip{
  background:color-mix(in srgb,var(--room-color) 16%,#0f172a);
  border-color:color-mix(in srgb,var(--room-color) 34%,#334155);
  color:#dbeafe;
}
.agenda-week-cell .agenda-event.compact{
  min-width:0;
}
.agenda-week-cell .agenda-event.compact .agenda-room-chip{
  max-width:78px;
}
.agenda-week-cell .agenda-event.compact .agenda-event-meta:nth-of-type(2){
  display:none;
}
.agenda-empty-board{
  grid-column:2/-1;
  min-width:260px;
  padding:24px;
  border:1px dashed var(--border);
  border-radius:12px;
  background:var(--panel2);
  color:var(--muted);
  font-size:13px;
  font-weight:800;
  text-align:center;
}
.room-calendar-color{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}
.room-calendar-color span{
  width:28px;
  height:12px;
  border-radius:999px;
  background:var(--room-color,#3b82f6);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--room-color,#3b82f6) 14%,transparent);
}
@media(max-width:980px){
  .agenda-room-filter{min-width:0}
  .agenda-room-filter-menu{position:static;margin-top:8px}
}
@media(max-width:760px){
  .agenda-day-room-board{
    grid-template-columns:58px repeat(var(--agenda-room-columns,1),minmax(210px,78vw));
  }
  .agenda-day-corner,
  .agenda-day-time{min-width:58px}
  .agenda-day-room-head,
  .agenda-room-timeline{min-width:210px}
  .agenda-week-board{grid-template-columns:58px repeat(7,220px)}
  .agenda-week-cell .agenda-event.compact .agenda-room-chip{max-width:64px}
}
