*,*:before,*:after{box-sizing:border-box}:root{--bg: #f4f7fb;--surface: #ffffff;--text: #1a2332;--muted: #5c6b7f;--primary: #2563eb;--primary-hover: #1d4ed8;--accent: #f97316;--border: #dbe3ef;--danger: #dc2626;--radius: 14px;--shadow: 0 10px 30px rgba(26, 35, 50, .08)}html,body,#app{margin:0;min-height:100%}body{font-family:DM Sans,system-ui,sans-serif;background:radial-gradient(circle at top left,#e8f0ff,transparent 40%),radial-gradient(circle at bottom right,#fff4e6,transparent 35%),var(--bg);color:var(--text)}.app-shell{min-height:100vh}.app-top{position:sticky;top:0;z-index:10}.demo-banner{display:flex;align-items:center;justify-content:center;gap:.65rem;flex-wrap:wrap;padding:.55rem 1rem;background:linear-gradient(90deg,#fff7ed,#ffedd5);border-bottom:1px solid #fdba74;color:#9a3412;text-align:center}.demo-banner__badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;background:#f97316;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.demo-banner__text{margin:0;font-size:.85rem;line-height:1.4}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.app-header__brand{display:flex;align-items:center;gap:.85rem}.app-header__logo{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:12px;background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff;font-size:1.25rem}.app-header__title{margin:0;font-weight:700;font-size:1rem}.app-header__subtitle{margin:0;color:var(--muted);font-size:.85rem}.app-header__user{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.9rem}.app-main{max-width:1100px;margin:0 auto;padding:1.5rem}.page{animation:fadeIn .25s ease}.page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page__title{margin:0 0 .35rem;font-size:1.75rem}.page__description{margin:0;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card--narrow{max-width:420px;margin:3rem auto;padding:2rem}.card--form{padding:1.5rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:10px;padding:.65rem 1rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s}.btn:active{transform:scale(.98)}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-hover)}.btn--ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn--danger{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}.btn--block{width:100%}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field label{font-size:.9rem;font-weight:600}.field input,.field textarea,.select{width:100%;border:1px solid var(--border);border-radius:10px;padding:.7rem .85rem;font:inherit;background:#fbfdff}.select{cursor:pointer}.filters{padding:1.25rem;margin-bottom:1.25rem}.filters__title{font-weight:700;margin-bottom:.85rem}.filters__row{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:end}.filters__field{margin-bottom:0}.filters__actions{display:flex;gap:.5rem;flex-wrap:wrap}.filters__summary{margin:.85rem 0 0;font-size:.85rem;color:var(--muted)}.activity-card__badges{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.badge--theme{background:#fff7ed;color:#c2410c}.field textarea{min-height:120px;resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.alert{padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem}.alert--error{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}.alert--info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.grid{display:grid;gap:1rem}.activity-card{padding:1.25rem;display:grid;gap:.75rem}.activity-card__meta{padding:.65rem .75rem;border-radius:10px;background:#f8fafc;border:1px solid var(--border)}.activity-card__meta .activity-card__text{color:var(--muted);font-size:.9rem}.activity-card__photo{width:100%;max-height:220px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.photo-preview{display:grid;gap:.75rem;margin-top:.75rem}.photo-preview img{width:100%;max-height:280px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.field__hint{margin:.35rem 0 0;font-size:.85rem;color:var(--muted)}.field__hint--loading{color:var(--primary)}.field__hint--success{color:#15803d}.file-input{width:100%;font:inherit}.btn--small{justify-self:start;padding:.45rem .85rem;font-size:.85rem}.evaluations{display:grid;gap:1rem;margin-top:.5rem}.evaluations__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.evaluations__title{margin:0;font-size:1.1rem}.evaluations__subtitle{margin:.35rem 0 0;color:var(--muted);font-size:.9rem}.evaluations__empty{padding:1rem;color:var(--muted);text-align:center}.evaluation-card{display:grid;gap:1rem;padding:1.25rem;background:#fbfdff}.evaluation-card__header,.evaluation-card__section-header,.objective-block__header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.evaluation-card__title{margin:0;font-size:1rem}.evaluation-card__section h4{margin:0;font-size:.95rem}.evaluation-card__lists{align-items:start}.objective-block{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:10px;background:#fff}.list-item-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.list-item-row input{flex:1}.evaluation-summary{display:grid;gap:.5rem;padding:.75rem 0;border-top:1px solid var(--border)}.evaluation-summary:first-of-type{border-top:none;padding-top:0}.evaluation-summary__photo{width:100%;max-height:160px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.evaluation-summary__list{margin:0;padding-left:1.1rem;font-size:.9rem}.evaluation-summary__list--pros{color:#15803d}.evaluation-summary__list--cons{color:#b45309}.activity-card__evaluations{margin-top:.25rem}.activity-card__top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.activity-card__name{margin:0;font-size:1.15rem}.badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.8rem;font-weight:600;white-space:nowrap}.activity-card__section-title{margin:0 0 .25rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.activity-card__text{margin:0;color:var(--text);line-height:1.5;white-space:pre-wrap}.activity-card__actions{display:flex;gap:.5rem;flex-wrap:wrap}.empty{text-align:center;padding:3rem 1.5rem;color:var(--muted)}.tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.tab{flex:1;padding:.65rem;border-radius:10px;border:1px solid var(--border);background:#fff;cursor:pointer;font:inherit;font-weight:600}.tab--active{background:var(--primary);border-color:var(--primary);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.app-header{flex-direction:column;align-items:stretch}.page__header{flex-direction:column}.field-row,.filters__row{grid-template-columns:1fr}}
