/* MIDLEX LLP - dashboard styles */
.midlex-dashboard{display:grid;grid-template-columns:260px 1fr;min-height:70vh;}
@media (max-width:900px){.midlex-dashboard{grid-template-columns:1fr;}}

.midlex-dash-sidebar{background:var(--midlex-green);color:var(--midlex-white);padding:28px 18px;}
.midlex-dash-user{display:flex;align-items:center;gap:12px;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.15);}
.midlex-dash-user img{border-radius:50%;}
.midlex-role-badge{display:block;font-size:.75rem;color:var(--midlex-yellow);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;}
.midlex-dash-nav{display:flex;flex-direction:column;gap:4px;}
.midlex-dash-nav a{color:#dcebe3;padding:10px 12px;border-radius:6px;font-weight:600;display:flex;gap:10px;align-items:center;}
.midlex-dash-nav a:hover{background:rgba(255,255,255,.08);color:var(--midlex-white);}
.midlex-dash-nav a.is-active{background:var(--midlex-yellow);color:var(--midlex-green-dark);}

.midlex-dash-main{padding:36px 40px;background:var(--midlex-offwhite);}
.midlex-dash-sub{color:#666;margin-top:-8px;margin-bottom:24px;}

.midlex-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:30px;}
.midlex-stat-card{background:var(--midlex-white);border-radius:var(--midlex-radius);padding:20px;text-align:center;border:1px solid #e6e6e0;}
.midlex-stat-num{display:block;font-size:2rem;font-weight:700;color:var(--midlex-green);}

.midlex-panel{background:var(--midlex-white);border:1px solid #e6e6e0;border-radius:var(--midlex-radius);padding:26px;margin-bottom:26px;}
.midlex-panel h2{margin-top:0;font-size:1.2rem;}

.midlex-table{width:100%;border-collapse:collapse;}
.midlex-table th, .midlex-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #eee;font-size:.92rem;}
.midlex-table th{color:#666;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.03em;}

.midlex-badge{padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:600;}
.midlex-badge-pending{background:#f1f1e6;color:#7a7a5c;}
.midlex-badge-in-progress{background:#fff3cd;color:#8a6d1a;}
.midlex-badge-completed{background:#dcf3e6;color:var(--midlex-green);}
.midlex-badge-blocked{background:#fbe1e1;color:#a33;}

.midlex-task-item{border:1px solid #eee;border-radius:8px;padding:16px 18px;margin-bottom:14px;}
.midlex-task-head{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.midlex-task-head h3{margin:0;font-size:1.05rem;}
.midlex-task-meta{color:#777;font-size:.82rem;}
.midlex-task-reports{background:var(--midlex-offwhite);border-radius:6px;padding:10px 12px;margin:10px 0;}
.midlex-report-entry{border-top:1px solid #e6e6e0;padding-top:6px;margin-top:6px;font-size:.9rem;}
.midlex-report-entry:first-child{border-top:none;margin-top:0;padding-top:0;}
.midlex-report-form{margin-top:10px;flex-direction:row;flex-wrap:wrap;align-items:center;}
.midlex-report-form select{max-width:160px;}
.midlex-report-form textarea{min-width:220px;}

.midlex-message-item{border-bottom:1px solid #eee;padding:14px 0;}
.midlex-message-item.is-unread{background:#fffdf3;border-left:3px solid var(--midlex-yellow);padding-left:12px;}

/* File room table row actions */
.midlex-file-actions a, .midlex-file-actions button{margin-right:6px;}

/* Modal */
.midlex-modal{position:fixed;inset:0;background:rgba(7,42,32,.6);display:flex;align-items:center;justify-content:center;z-index:999;padding:20px;}
.midlex-modal[hidden]{display:none;}
.midlex-modal-inner{background:var(--midlex-white);border-radius:10px;max-width:760px;width:100%;max-height:85vh;overflow:auto;padding:30px;position:relative;}
.midlex-modal-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.6rem;cursor:pointer;color:#666;}
#midlex-modal-body [contenteditable="true"]{border:1px solid #ddd;border-radius:6px;padding:16px;min-height:300px;background:#fff;}

/* Library grid extras */
.midlex-ebook-cover{aspect-ratio:3/4;background:var(--midlex-green);border-radius:6px;overflow:hidden;margin-bottom:10px;}
.midlex-ebook-cover img{width:100%;height:100%;object-fit:cover;}
