
.page{max-width:1200px;margin:auto}.source-panel{display:block;padding:28px;margin-top:24px;min-width:0}.block-title{font-size:1.2rem;color:#514078;margin:0 0 20px;padding:12px 16px;background:#eee7f8;border-radius:12px}.quick-grid{gap:20px 24px}.quick-grid label{min-width:0}.quick-grid input,.quick-grid select,.quick-grid textarea{box-sizing:border-box;width:100%;font:inherit;padding:12px 14px;border:1px solid #ddd4ea;border-radius:12px;background:#fdfcff;color:#303044}.quick-grid textarea{min-height:120px;resize:vertical}.quick-grid #groups{min-height:154px}.quick-grid input:focus,.quick-grid select:focus,.quick-grid textarea:focus,#annualMatrix select:focus{outline:2px solid #9a80c5;outline-offset:2px}#annualForm>.block-title:not(:first-child){margin-top:32px;background:#e2f1f7}.source-panel p{font-size:.85rem;line-height:1.6}#annualMatrix{width:100%;margin:20px 0 24px;overflow-x:auto}#annualMatrix table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:720px;border:1px solid #e1d8ed;border-radius:12px;overflow:hidden}#annualMatrix th,#annualMatrix td{padding:14px;text-align:left;vertical-align:middle;border-bottom:1px solid #e7e0ef;font-size:.82rem;line-height:1.5}#annualMatrix th{background:#eee7f8;color:#514078}#annualMatrix th:first-child{width:30%}#annualMatrix tr:nth-child(odd) td{background:#f8fafd}#annualMatrix tr:last-child td{border-bottom:0}#annualMatrix select{box-sizing:border-box;width:100%;padding:10px 8px;border:1px solid #ddd4ea;border-radius:9px;background:white;font:inherit}#prepareAnnual{padding:14px 22px;background:#66508c;color:white;border:0;border-radius:12px;font:inherit;font-weight:600;cursor:pointer}#prepareAnnual:disabled{opacity:.5;cursor:wait}.source-actions{gap:12px;margin-bottom:16px}.source-actions button,.file-button{font-size:.8rem;padding:12px 16px}.source-actions a{align-self:center;font-size:.8rem}.document-preview{margin-top:24px;overflow:auto}header>a{display:inline-block;padding:10px 0;color:#66508c;text-decoration:none}@media(max-width:650px){.source-panel{padding:18px}.quick-grid{grid-template-columns:1fr}.hero h1{font-size:1.5rem}#prepareAnnual{width:100%}}@media print{.source-panel{display:block}#annualForm,.source-actions,.block-title{display:none}}

#annualMatrix .annual-area th{background:#e2f1ed;color:#365e55;font-size:.9rem;padding:12px 14px}

.annual-help{background:#f2f8f5;border:1px solid #dcebe2;border-radius:16px;padding:20px;margin-bottom:24px}.annual-help h3{margin:0;color:#365e55}.annual-help textarea{box-sizing:border-box;display:block;width:100%;font:inherit;padding:14px;border:1px solid #ddd4ea;border-radius:12px;margin:10px 0}.annual-help button{font:inherit;padding:10px 16px;border:1px solid #d2c3e4;border-radius:10px;background:#eee7f8;color:#514078;cursor:pointer}.annual-proposal{background:white;border:1px solid #e1e8e3;border-radius:12px;padding:16px;margin-top:14px}.annual-proposal h4{margin:0}.annual-proposal p{white-space:pre-line}

.annual-calendar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.annual-period,.annual-experience{padding:18px;border:1px solid #ddd4ea;border-radius:14px;background:#faf7fd;margin-bottom:16px}.annual-period h3,.annual-experience h3{margin:0 0 12px;color:#514078}.annual-period label,.annual-experience label{display:block;font-size:.85rem;margin:10px 0}.annual-period input,.annual-experience input,.annual-experience textarea,.annual-experience select{display:block;box-sizing:border-box;width:100%;font:inherit;border:1px solid #ddd4ea;border-radius:10px;padding:10px;background:white}.annual-experience textarea{min-height:80px}#suggestExperiences{font:inherit;border:0;border-radius:12px;background:#66508c;color:white;padding:12px 18px}details.curricular-ref{margin:20px 0;padding:16px;border:1px solid #ddd4ea;border-radius:12px}details.curricular-ref summary{cursor:pointer;font-weight:600}@media(max-width:650px){.annual-calendar{grid-template-columns:1fr}}

#optionalExperiences[hidden]{display:none!important}.optional-projection{display:flex;align-items:center;gap:12px;padding:16px;background:#f2f8f5;border-radius:12px;font-weight:600}.optional-projection input{width:20px;height:20px;accent-color:#66508c}
