:root{
  --blue-950:#082449;--blue-900:#0b2f63;--blue-800:#10447f;--blue-700:#1459a6;--blue-600:#1e6bc3;--blue-500:#2f7ed8;--blue-100:#eaf3ff;--blue-50:#f5f9ff;
  --ink:#19324d;--muted:#63788e;--line:#dbe5ef;--surface:#fff;--bg:#f3f7fb;--danger:#c73c4c;--danger-bg:#fff0f2;--success:#19724d;--success-bg:#e9f8ef;--success-border:#a9dec0;--warning:#a56b00;--warning-bg:#fff7df;--warning-border:#efcf79;--shadow:0 14px 40px rgba(29,64,103,.10)
}
*{box-sizing:border-box}html{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink)}body{margin:0;min-height:100vh;background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}a{color:var(--blue-700)}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at top left,rgba(47,126,216,.20),transparent 34%),linear-gradient(135deg,#f7fbff,#edf4fc)}
.login-shell{width:min(1080px,100%);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);background:#fff;border:1px solid rgba(219,229,239,.8);border-radius:28px;box-shadow:0 28px 80px rgba(19,55,91,.14);overflow:hidden}.login-card{padding:44px 48px}.login-info{padding:52px 46px;background:linear-gradient(145deg,var(--blue-900),#13579e);color:#fff;display:flex;flex-direction:column;justify-content:center}.login-copy{margin:48px 0 30px}.login-copy h1{font-size:34px;line-height:1.1;margin:8px 0 14px}.login-copy p{color:var(--muted);line-height:1.6}.feature-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#b9dcff}.login-info h2{font-size:31px;line-height:1.18;margin:12px 0 30px}.feature-list{display:grid;gap:25px}.feature-list>div{display:flex;gap:16px}.feature-list b{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.12);font-size:12px;flex:0 0 auto}.feature-list span{display:grid;gap:5px}.feature-list small{color:#d4e7fa;line-height:1.45}.demo-access{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);display:grid;gap:8px}.demo-access>strong{font-size:13px}.demo-access>p{font-size:12px;color:var(--muted);margin:3px 0 0}.demo-user{border:1px solid var(--line);background:var(--blue-50);border-radius:11px;text-align:left;padding:10px 12px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:12px}.demo-user:hover{border-color:#aacaf0}.demo-user span{font-size:13px;font-weight:700}.demo-user small{color:var(--muted);font-size:11px}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue-700),var(--blue-500));color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(30,107,195,.22)}.brand>div:last-child{display:grid;gap:3px}.brand strong{font-size:15px}.brand span{font-size:12px;color:var(--muted)}.brand-login .brand-mark{width:48px;height:48px}.brand-login strong{font-size:16px}
.form-stack,.form-field{display:grid;gap:8px}.form-stack{gap:18px}.form-stack label,.filters-card label{display:grid;gap:7px}.form-stack label>span,.form-field>span,.filters-card label>span{font-size:13px;font-weight:650}.form-field b,.source-selector b,.checkbox-fieldset b{color:var(--danger)}input,textarea,select{width:100%;border:1px solid #cddae7;border-radius:11px;background:#fff;color:var(--ink);padding:12px 13px;outline:none;transition:.16s}textarea{resize:vertical;line-height:1.5}input:focus,textarea:focus,select:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(47,126,216,.12)}.form-field small{color:var(--muted);line-height:1.4}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:700;font-size:13px;transition:.16s}.btn-primary{background:var(--blue-700);color:#fff;box-shadow:0 6px 14px rgba(20,89,166,.16)}.btn-primary:hover{background:var(--blue-800)}.btn-secondary{background:var(--blue-100);color:var(--blue-800)}.btn-secondary:hover{background:#dcecff}.btn-ghost{background:transparent;color:var(--blue-800);border:1px solid var(--line)}.btn-full{width:100%}.prototype-note{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.45}
.app{min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(30px,calc((100vw - 1240px)/2));position:sticky;top:0;z-index:20}.topbar-actions{display:flex;align-items:center;gap:15px}.user-chip{display:flex;align-items:center;gap:10px}.user-chip>div:last-child{display:grid;gap:2px}.user-chip strong{font-size:13px}.user-chip span{font-size:11px;color:var(--muted)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--blue-100);color:var(--blue-800);font-weight:800;font-size:11px;display:grid;place-items:center}.main-content{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:38px 0 64px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.page-heading h1{font-size:30px;margin:5px 0 8px}.page-heading>div>p:last-of-type{margin:0;color:var(--muted);line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px!important;font-weight:800;color:var(--blue-600)!important;margin:0}.course-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.course-chip{font-size:11px;font-weight:700;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--blue-800)}.summary-strip{display:flex;gap:10px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px 18px;min-width:130px;box-shadow:0 7px 20px rgba(29,64,103,.05)}.summary-card span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.summary-card strong{font-size:25px;color:var(--blue-900)}
.calendar-card,.day-panel,.filters-card,.manager-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.calendar-card{padding:22px}.calendar-toolbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:12px}.calendar-title{text-align:center;display:flex;align-items:center;justify-content:center;gap:13px}.calendar-title h2{margin:0;text-transform:capitalize;font-size:21px}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--blue-800);font-size:28px;line-height:1}.icon-btn:hover{background:var(--blue-50)}.calendar-legend{display:flex;justify-content:flex-end;gap:18px;border-top:1px solid #edf2f7;padding:11px 2px 15px;color:var(--muted);font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:9px;height:9px;border-radius:50%}.legend-dot.green{background:#48a978}.legend-dot.amber{background:#d69925}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays{border-bottom:1px solid var(--line)}.weekdays span{text-align:center;padding:10px 4px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.calendar-grid{border-left:1px solid var(--line)}.calendar-day{position:relative;min-height:118px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;text-align:left;padding:11px;overflow:hidden;color:var(--ink)}.calendar-day:hover{background:var(--blue-50)}.calendar-day.other-month{background:#fafcfe;color:#9caaba}.calendar-day.today .day-number{background:var(--blue-700);color:#fff}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--blue-600);z-index:2}.calendar-day.has-activity{background:var(--success-bg)}.calendar-day.has-activity:hover{background:#dff3e7}.calendar-day.no-evidence{background:linear-gradient(135deg,var(--success-bg),#fff9e8)}.calendar-day.no-evidence::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#d69a28}.day-number{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;font-size:12px;font-weight:750}.day-status{margin-top:14px;display:grid;gap:5px}.status-pill,.evidence-dot{display:block;width:max-content;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:700;border-radius:999px;padding:4px 7px}.status-pill{background:rgba(25,114,77,.10);color:var(--success)}.no-evidence .status-pill{background:var(--warning-bg);color:var(--warning)}.evidence-dot{padding-left:0;color:var(--muted)}
.day-panel{margin-top:22px;padding:24px}.empty-state-panel{text-align:center;padding:42px}.empty-icon{width:44px;height:44px;margin:0 auto 12px;border-radius:14px;background:var(--blue-100);display:grid;place-items:center;color:var(--blue-700);font-weight:800}.empty-state-panel h2{font-size:19px;margin:0 0 6px}.empty-state-panel p{margin:0;color:var(--muted)}.day-panel-header,.section-title-row,.card-title{display:flex;justify-content:space-between;align-items:center;gap:18px}.day-panel-header h2,.card-title h2{margin:4px 0 0;font-size:20px}.activity-box{margin-top:20px;padding:18px;border-radius:14px;background:var(--blue-50);border:1px solid #d8e9fc}.activity-box p{margin:10px 0 0;line-height:1.65;white-space:pre-wrap}.activity-headline{display:flex;gap:7px;flex-wrap:wrap}.goal-tag{background:#dfefff;color:var(--blue-800);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:750}.activity-actions,.item-actions{display:flex;gap:7px;justify-content:flex-end}.mini-btn{border:1px solid var(--line);background:#fff;color:var(--blue-800);border-radius:8px;padding:7px 10px;font-size:11px;font-weight:700}.mini-btn.danger{color:var(--danger);background:var(--danger-bg);border-color:#ffd4da}.mini-btn:disabled{opacity:.45;cursor:not-allowed}.section-title-row{margin:24px 0 10px}.section-title-row h3{margin:0;font-size:15px}.evidence-list{display:grid;gap:10px}.evidence-item{border:1px solid var(--line);border-radius:13px;padding:15px 16px;display:flex;justify-content:space-between;gap:18px}.evidence-item p{margin:9px 0;line-height:1.55}.evidence-meta{display:flex;gap:6px;flex-wrap:wrap}.meta-tag{font-size:10px;padding:4px 7px;border-radius:999px;background:#f0f4f8;color:#4c6379;font-weight:700}.course-meta{background:var(--success-bg);color:var(--success)}.evidence-source{font-size:11px;color:var(--muted);word-break:break-word}.empty-evidence{border:1px dashed #cfdce8;background:#fafcff;border-radius:13px;padding:20px;text-align:center;color:var(--muted);font-size:13px}
.modal-backdrop{position:fixed;inset:0;background:rgba(7,26,48,.56);z-index:100;display:grid;place-items:center;padding:20px;backdrop-filter:blur(3px)}.modal{width:min(620px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 26px 90px rgba(0,0,0,.23);padding:24px}.modal-large{width:min(780px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.modal-header h2{margin:5px 0 4px;font-size:22px}.modal-date{color:var(--muted);font-size:12px;margin:0}.modal-close{border:0;background:#eef3f8;color:#567085;border-radius:10px;width:35px;height:35px;font-size:22px}.form-grid{display:grid;gap:14px}.two-columns{grid-template-columns:1fr 1fr}.modal form{display:grid;gap:18px}.modal-actions{display:flex;justify-content:flex-end;padding-top:3px}.split-actions{gap:9px}.checkbox-fieldset,.source-selector{border:1px solid var(--line);border-radius:13px;padding:13px;margin:0}.checkbox-fieldset legend,.source-selector legend{font-size:13px;font-weight:700;padding:0 5px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}.check-option{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;cursor:pointer}.check-option:has(input:checked){border-color:#91bbe9;background:var(--blue-50)}.check-option input{width:auto;margin:2px 0 0}.check-option span{display:grid;gap:2px;font-size:11px}.check-option strong{font-size:11px}.check-option small{color:var(--muted)}.radio-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:7px}.radio-card{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;gap:9px;cursor:pointer}.radio-card:has(input:checked){background:var(--blue-50);border-color:#9cc3ed}.radio-card input{width:auto;margin:3px 0 0}.radio-card span{display:grid;gap:3px}.radio-card strong{font-size:12px}.radio-card small{font-size:10px;color:var(--muted)}.upload-box{border:1.5px dashed #abc5df;border-radius:13px;background:#f8fbff;display:grid;place-items:center;padding:20px;text-align:center;cursor:pointer;gap:5px}.upload-box input{display:none}.upload-icon{width:35px;height:35px;border-radius:10px;background:var(--blue-100);color:var(--blue-700);display:grid;place-items:center;font-size:22px}.upload-box strong{font-size:12px}.upload-box small{font-size:10px;color:var(--muted)}
.management-heading{align-items:center}.filters-card{padding:16px;display:grid;grid-template-columns:1fr 1.5fr 1.5fr auto;gap:12px;align-items:end;margin-bottom:18px}.management-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.management-stats article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 7px 20px rgba(29,64,103,.05)}.management-stats span{display:block;font-size:11px;color:var(--muted);font-weight:650}.management-stats strong{font-size:29px;display:block;margin:7px 0 2px;color:var(--blue-900)}.management-stats small{font-size:10px;color:#8a9aab}.management-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-bottom:18px}.manager-card{padding:20px}.card-title{margin-bottom:16px}.course-summary{display:grid;gap:12px}.course-row{display:grid;grid-template-columns:minmax(150px,1fr) 2fr 42px;align-items:center;gap:10px}.course-row-label{font-size:11px}.course-row-label strong{display:block}.course-row-label small{color:var(--muted)}.progress{height:8px;background:#edf2f6;border-radius:999px;overflow:hidden}.progress span{height:100%;display:block;background:linear-gradient(90deg,var(--blue-600),#59a0e8);border-radius:999px}.course-row>strong{text-align:right;font-size:12px}.pending-summary{display:grid;gap:9px;max-height:260px;overflow:auto}.pending-item{padding:11px;border:1px solid var(--warning-border);background:var(--warning-bg);border-radius:11px}.pending-item strong{font-size:11px}.pending-item span{display:block;color:#7c6740;font-size:10px;margin-top:4px}.result-count{font-size:11px;color:var(--muted);background:#f0f4f8;padding:6px 8px;border-radius:999px}.table-wrap{overflow:auto}.records-table{width:100%;border-collapse:collapse;font-size:11px}.records-table th{text-align:left;padding:10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.records-table td{padding:12px 10px;border-bottom:1px solid #eef2f6;vertical-align:top;line-height:1.45}.records-table tr:last-child td{border-bottom:0}.records-table .table-courses{display:flex;gap:4px;flex-wrap:wrap}.records-table .meta-tag{white-space:nowrap}.empty-table{text-align:center;color:var(--muted);padding:28px!important}.report-preview{border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff}.report-head{border-bottom:2px solid var(--blue-800);padding-bottom:14px;margin-bottom:16px}.report-head h3{margin:0 0 5px}.report-head p{margin:0;color:var(--muted);font-size:11px}.report-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.report-kpis div{padding:10px;background:#f4f8fc;border-radius:8px}.report-kpis span{display:block;font-size:9px;color:var(--muted)}.report-kpis strong{font-size:18px}.report-row{padding:11px 0;border-top:1px solid #edf1f5;font-size:10px;line-height:1.5}.report-row:first-of-type{border-top:0}.report-row strong{display:block;font-size:11px;margin-bottom:3px}.toast{position:fixed;right:20px;bottom:20px;z-index:300;background:#163b61;color:#fff;padding:12px 15px;border-radius:10px;font-size:12px;font-weight:650;box-shadow:0 10px 28px rgba(0,0,0,.18);opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#9f3140}
@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-info{display:none}.page-heading{align-items:flex-start;flex-direction:column}.summary-strip{width:100%;overflow:auto}.calendar-day{min-height:92px;padding:7px}.status-pill{font-size:0;padding:0;width:8px;height:8px}.evidence-dot{font-size:9px}.filters-card{grid-template-columns:1fr 1fr}.management-stats{grid-template-columns:1fr 1fr}.management-grid{grid-template-columns:1fr}.topbar{padding:0 18px}.user-chip>div:last-child{display:none}}
@media(max-width:620px){.login-card{padding:30px 24px}.main-content{width:min(100% - 22px,1240px);padding-top:24px}.topbar .brand span{display:none}.calendar-card{padding:10px}.calendar-day{min-height:66px}.day-status{margin-top:5px}.evidence-dot{display:none}.weekdays span{font-size:9px}.two-columns,.checkbox-grid,.radio-cards,.filters-card{grid-template-columns:1fr}.management-stats{grid-template-columns:1fr 1fr}.day-panel-header,.evidence-item{align-items:flex-start;flex-direction:column}.item-actions{width:100%}.course-row{grid-template-columns:1fr 1.2fr 32px}}
@media print{body>*{display:none!important}#reportModal{display:block!important;position:static;background:#fff;padding:0}.report-modal{display:block;box-shadow:none;max-height:none;width:100%;padding:0}.report-modal .modal-header,.report-modal .modal-actions{display:none}.report-preview{border:0;padding:0}}

/* Visão gerencial - auditoria detalhada */
.modal-xl{width:min(980px,100%)}
.audit-modal{padding:0;overflow:hidden}.audit-modal-header{padding:24px 26px 20px;margin:0;border-bottom:1px solid var(--line)}.audit-content{padding:24px 26px 28px;display:grid;gap:20px;max-height:calc(92vh - 105px);overflow:auto}
.audit-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.audit-stat{border:1px solid var(--line);border-radius:13px;padding:13px;background:#f9fbfd}.audit-stat span{display:block;font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.audit-stat strong{font-size:12px;line-height:1.45}.audit-section{border:1px solid var(--line);border-radius:15px;padding:17px 18px}.audit-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.audit-section-head h3{font-size:15px;margin:0}.audit-section-head small{color:var(--muted)}.audit-description{margin:0;line-height:1.7;white-space:pre-wrap;font-size:13px}.audit-goal{padding:12px 13px;border-radius:11px;background:var(--blue-50);color:var(--blue-900);font-size:12px;font-weight:650;line-height:1.5}.audit-course-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.audit-evidence-list{display:grid;gap:12px}.audit-evidence{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.audit-evidence-top{padding:14px 15px;background:#f8fafc;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.audit-evidence-title{display:flex;gap:11px;align-items:flex-start}.evidence-type-icon{width:38px;height:38px;flex:0 0 auto;border-radius:11px;background:var(--blue-100);color:var(--blue-800);display:grid;place-items:center;font-size:17px;font-weight:800}.audit-evidence-title strong{font-size:12px;display:block;margin-bottom:4px}.audit-evidence-title small{color:var(--muted);font-size:10px}.audit-evidence-body{padding:15px;display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:18px}.audit-evidence-caption p{font-size:12px;line-height:1.65;margin:7px 0 12px}.audit-label{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:750}.audit-file-preview{border:1px dashed #b9c9d8;border-radius:12px;background:#f7fafc;min-height:126px;display:grid;place-items:center;text-align:center;padding:14px}.audit-file-preview .preview-icon{font-size:28px;margin-bottom:6px}.audit-file-preview strong{font-size:11px;word-break:break-word}.audit-file-preview small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.audit-source-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.audit-empty{border:1px dashed var(--warning-border);background:var(--warning-bg);color:#786237;border-radius:13px;padding:18px;line-height:1.55;font-size:12px}.audit-status{font-size:10px;font-weight:750;border-radius:999px;padding:5px 8px;white-space:nowrap}.audit-status.ok{background:var(--success-bg);color:var(--success)}.audit-status.pending{background:var(--warning-bg);color:var(--warning)}
.details-btn{white-space:nowrap}.records-table tbody tr:has(.details-btn):hover{background:#f8fbff}.pending-item.is-clickable{cursor:pointer;transition:.15s}.pending-item.is-clickable:hover{border-color:#d9ae46;transform:translateY(-1px)}
@media(max-width:760px){.audit-overview{grid-template-columns:1fr 1fr}.audit-evidence-body{grid-template-columns:1fr}.audit-file-preview{min-height:100px}.audit-content{padding:18px}.audit-modal-header{padding:20px 18px}}
