:root{--ciee-blue:#004891;--ciee-blue-dark:#0f224d;--ciee-blue-hover:#003a75;--ciee-blue-light:#60ade1;--ciee-blue-soft:#eff5fb;--ciee-green:#61a229;--ciee-green-hover:#4f851f;--bg:#f4f7fb;--surface:#fff;--text:#1a2433;--muted:#5b6b7c;--border:#d5e0ec;--primary:var(--ciee-blue);--primary-hover:var(--ciee-blue-hover);--accent:var(--ciee-green);--accent-hover:var(--ciee-green-hover);--danger:#9b2c2c;--danger-bg:#fdecec;--success:var(--ciee-blue);--success-bg:#e8f1fa;--info:#4054b2;--info-bg:#eceffc;--shadow:0 10px 28px #00489114;color:var(--text);background:radial-gradient(circle at top left, #60ade138, transparent 42%), radial-gradient(circle at top right, #00489114, transparent 36%), var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Segoe UI,Trebuchet MS,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.app-shell{flex-direction:column;min-height:100vh;display:flex}.container{width:min(1100px,100% - 2rem);margin:0 auto}.app-header{background:linear-gradient(90deg, var(--ciee-blue-dark) 0%, var(--ciee-blue) 55%, #0059a8 100%);border-bottom:3px solid var(--ciee-blue-light);z-index:10;position:sticky;top:0;box-shadow:0 4px 18px #0f224d40}.header-content{justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.brand{color:#fff;align-items:center;gap:.85rem;display:flex}.brand-logo{object-fit:contain;width:auto;height:48px;display:block}.brand-text{flex-direction:column;gap:.1rem;line-height:1.2;display:flex}.brand-text strong{font-size:1.05rem;font-weight:700}.brand-text small{opacity:.85;letter-spacing:.02em;font-size:.78rem}.nav{align-items:center;gap:.85rem;display:flex}.nav-link{color:#fff;border-radius:8px;padding:.45rem .65rem;font-weight:600}.nav-link:hover{background:#ffffff1f}.main-content{flex:1;padding:2rem 0 2.5rem}.app-footer{background:var(--ciee-blue-dark);color:#ffffffe0;margin-top:auto;padding:1rem 0}.footer-content{justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem;display:flex}.footer-content a{color:var(--ciee-blue-light);font-weight:600}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1{color:var(--ciee-blue-dark);margin:0 0 .35rem;font-size:1.85rem}.page-header p,.muted{color:var(--muted);margin:0}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:1.5rem}.pdf-import{background:var(--ciee-blue-soft);border:1px solid #c9daf0;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin:-.25rem -.25rem 1.25rem;padding:1rem 1.1rem;display:flex}.pdf-import h2{color:var(--ciee-blue);margin:0 0 .35rem;font-size:1.1rem}.pdf-import p{color:var(--muted);margin:0}.form{gap:1rem;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.field{gap:.4rem;display:grid}.field span{font-size:.95rem;font-weight:600}.field input,.field textarea{border:1px solid var(--border);background:#fbfdff;border-radius:10px;width:100%;padding:.75rem .9rem}.field input:focus,.field textarea:focus{border-color:var(--primary);outline:2px solid #00489138}.field-error{color:var(--danger)}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;padding:.7rem 1rem;font-weight:600;transition:background .15s,opacity .15s,transform .15s;display:inline-flex}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{color:var(--ciee-blue-dark);background:#e7eef6}.btn-link{color:var(--primary);background:0 0;padding:.35rem .5rem}.file-button{white-space:nowrap}.alerta{border-radius:12px;margin-bottom:1rem;padding:.9rem 1rem;font-weight:500}.alerta-sucesso{background:var(--success-bg);color:var(--success)}.alerta-erro{background:var(--danger-bg);color:var(--danger)}.alerta-info{background:var(--info-bg);color:var(--info)}.table-wrapper{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.95rem 1rem}.table th{text-transform:uppercase;letter-spacing:.03em;color:var(--ciee-blue);background:var(--ciee-blue-soft);font-size:.85rem}.table tr:last-child td{border-bottom:none}.empty-state{background:var(--surface);border:1px dashed var(--border);text-align:center;border-radius:16px;justify-items:center;gap:1rem;padding:2.5rem 1.5rem;display:grid}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.25rem;display:grid}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.curriculum-header{border-bottom:2px solid var(--ciee-blue);align-items:center;gap:1rem;margin-bottom:.35rem;padding:.35rem 0 .85rem;display:flex}.curriculum-logo{object-fit:contain;background:var(--ciee-blue);border-radius:8px;width:auto;height:52px;padding:.35rem .55rem}.curriculum-kicker{text-transform:uppercase;letter-spacing:.04em;color:var(--ciee-blue);margin:0 0 .15rem;font-size:.75rem;font-weight:700;line-height:1.2}.curriculum-name{color:var(--ciee-blue-dark);margin:0;font-size:1.35rem;line-height:1.25}.curriculum-subtitle{color:var(--muted);margin:.2rem 0 0;font-size:.9rem;line-height:1.3}.curriculum-footer{border-top:1px solid var(--border);color:var(--muted);margin:.5rem 0 0;padding-top:.55rem;font-size:.8rem}.print-only{display:none}.detail-panel{gap:.85rem;padding:1.15rem 1.25rem;display:grid}.detail-meta{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.25rem;padding-bottom:.85rem;display:grid}.detail-item{min-width:0}.detail-item-full{grid-column:1/-1}.detail-label{color:var(--ciee-blue);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem;font-size:.72rem;font-weight:700;line-height:1.2;display:block}.detail-value{white-space:pre-wrap;margin:0;font-size:.98rem;line-height:1.35}.detail-section{border-top:1px solid var(--border);padding:.45rem 0 .05rem}.detail-section:first-of-type{border-top:none}.detail-section-title{color:#fff;background:linear-gradient(90deg, var(--ciee-blue) 0%, #0059a8 100%);letter-spacing:.02em;border-radius:6px;margin:0 0 .25rem;padding:.3rem .55rem;font-size:.92rem;font-weight:700;line-height:1.2}.detail-section-body{white-space:pre-line;color:var(--text);margin:0;padding:0;font-size:.95rem;line-height:1.3}@media print{@page{size:A4;margin:8mm 10mm}html,body{color:#111!important;background:#fff!important;font-size:10.5pt!important}.no-print,.app-header,.app-footer,.page-header{display:none!important}.print-only{display:block!important}.main-content,.container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.curriculum-export,.panel,.detail-panel{box-shadow:none!important;border:none!important;border-radius:0!important;gap:.35rem!important;padding:0!important}.curriculum-header{border-bottom-width:1.5px!important;flex-direction:row!important;align-items:center!important;gap:.55rem!important;margin-bottom:.25rem!important;padding:0 0 .35rem!important}.curriculum-logo{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:4px!important;height:34px!important;padding:.15rem .35rem!important}.curriculum-kicker{margin:0!important;font-size:8pt!important}.curriculum-name{font-size:14pt!important;line-height:1.15!important}.curriculum-subtitle{margin:.05rem 0 0!important;font-size:9pt!important;line-height:1.2!important}.detail-meta{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.25rem .75rem!important;margin-bottom:.15rem!important;padding-bottom:.35rem!important}.detail-meta .detail-item:first-child{display:none!important}.detail-label{margin-bottom:.05rem!important;font-size:7.5pt!important}.detail-value{font-size:9.5pt!important;line-height:1.2!important}.detail-section{break-inside:avoid;page-break-inside:avoid;padding:.2rem 0 0!important}.detail-section-title{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#fff!important;background:#004891!important;border-radius:3px!important;margin:0 0 .1rem!important;padding:.15rem .35rem!important;font-size:9pt!important;line-height:1.1!important}.detail-section-body{white-space:pre-line!important;margin:0!important;padding:0!important;font-size:9.5pt!important;line-height:1.15!important}.curriculum-footer{margin-top:.35rem!important;padding-top:.25rem!important;font-size:7.5pt!important}}@media (width<=768px){.header-content,.page-header,.pdf-import,.form-actions,.footer-content,.page-actions{flex-direction:column;align-items:stretch}.brand-text small{display:none}.nav{justify-content:space-between}.form-grid,.detail-grid,.detail-meta{grid-template-columns:1fr}.brand-logo{height:40px}.curriculum-header{flex-direction:column;align-items:flex-start}}
