:root { --sidebar-width:240px; --sidebar-bg:#1e293b; --sidebar-text:#cbd5e1; --sidebar-active:#3b82f6; --topbar-height:52px; }
* { box-sizing:border-box; }
body { margin:0; font-family:'Segoe UI',system-ui,sans-serif; background:#f1f5f9; color:#1e293b; }
.sidebar { position:fixed; top:0; left:0; width:var(--sidebar-width); height:100vh; background:var(--sidebar-bg); display:flex; flex-direction:column; overflow-y:auto; z-index:1000; transition:width .25s; }
.sidebar.collapsed { width:60px; }
.sidebar.collapsed .sidebar-brand span, .sidebar.collapsed .sidebar-nav a span, .sidebar.collapsed .nav-section, .sidebar.collapsed .sidebar-footer span { display:none; }
.sidebar-brand { display:flex; align-items:center; gap:10px; padding:18px 16px; font-size:1.15rem; font-weight:700; color:#fff; white-space:nowrap; }
.sidebar-brand i { font-size:1.4rem; color:var(--sidebar-active); flex-shrink:0; }
.sidebar-nav { list-style:none; margin:0; padding:0 8px; flex:1; }
.sidebar-nav li a { display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:7px; color:var(--sidebar-text); text-decoration:none; font-size:.9rem; white-space:nowrap; transition:background .15s,color .15s; }
.sidebar-nav li a:hover { background:rgba(255,255,255,.07); color:#fff; }
.sidebar-nav li a.active { background:var(--sidebar-active); color:#fff; }
.sidebar-nav li a i { font-size:1rem; flex-shrink:0; width:18px; text-align:center; }
.nav-section { font-size:.7rem; font-weight:700; letter-spacing:.08em; color:#64748b; text-transform:uppercase; padding:14px 10px 4px; }
.sidebar-footer { padding:12px 16px; border-top:1px solid rgba(255,255,255,.07); }
.sidebar-footer a { color:var(--sidebar-text); text-decoration:none; font-size:.88rem; }
.sidebar-footer a:hover { color:#ef4444; }
.main-content { margin-left:var(--sidebar-width); min-height:100vh; transition:margin-left .25s; }
.main-content.expanded { margin-left:60px; }
.topbar { position:sticky; top:0; z-index:100; height:var(--topbar-height); background:#fff; border-bottom:1px solid #e2e8f0; display:flex; align-items:center; padding:0 20px; gap:8px; }
.content-area { padding:24px; }
.card { border:none; border-radius:12px; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.card-header { background:transparent; border-bottom:1px solid #e2e8f0; font-weight:600; }
.stat-card { background:#fff; border-radius:12px; padding:20px 24px; box-shadow:0 1px 4px rgba(0,0,0,.08); display:flex; align-items:center; gap:16px; }
.stat-card .icon { width:48px; height:48px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
.stat-card .label { font-size:.8rem; color:#64748b; }
.stat-card .value { font-size:1.4rem; font-weight:700; line-height:1.1; }
.table-wrapper { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.table { margin:0; }
.table thead th { background:#f8fafc; border-bottom:2px solid #e2e8f0; font-size:.8rem; text-transform:uppercase; letter-spacing:.05em; color:#64748b; white-space:nowrap; }
.table tbody tr:hover { background:#f8fafc; }
.table td, .table th { vertical-align:middle; padding:.6rem .8rem; }
.form-card { background:#fff; border-radius:12px; padding:28px; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.form-section { font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#64748b; margin-bottom:12px; padding-bottom:6px; border-bottom:1px solid #e2e8f0; }
.form-control:focus, .form-select:focus { border-color:#3b82f6; box-shadow:0 0 0 3px rgba(59,130,246,.15); }
.login-page { min-height:100vh; background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%); display:flex; align-items:center; justify-content:center; }
.login-card { background:#fff; border-radius:16px; padding:40px 36px; width:100%; max-width:380px; box-shadow:0 20px 60px rgba(0,0,0,.4); }
.login-logo { text-align:center; margin-bottom:28px; }
.login-logo i { font-size:2.5rem; color:#3b82f6; }
.login-logo h1 { font-size:1.5rem; font-weight:700; margin:4px 0 0; }

.nota-card {
    border-radius: 10px;
    padding: 16px;
    box-shadow: 0 2px 6px rgba(0,0,0,.08);
    position: relative;
    height: 200px;
    max-height: 200px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.nota-card .nota-actions {
    position: absolute;
    top: 8px;
    right: 8px;
    display: none;
    gap: 4px;
}
.nota-card:hover .nota-actions { display: flex; }
.nota-conteudo {
    flex: 1;
    overflow: hidden;
    font-size: .875rem;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: break-word;
    mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
}
.nota-ver-mais {
    font-size: .75rem;
    color: rgba(0,0,0,.5);
    text-decoration: none;
    margin-top: 4px;
    flex-shrink: 0;
}
.nota-ver-mais:hover { text-decoration: underline; }

.agenda-row-alta { border-left:4px solid #ef4444; }
.agenda-row-normal { border-left:4px solid #3b82f6; }
.agenda-row-baixa { border-left:4px solid #94a3b8; }
.badge { font-weight:500; font-size:.75rem; }
@media(max-width:768px) { .sidebar{width:0;} .sidebar.open{width:var(--sidebar-width);} .main-content{margin-left:0;} .content-area{padding:16px;} }
