@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{color:#122033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f0e7;font-family:Manrope,Segoe UI,sans-serif;font-weight:500;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{min-width:320px}a,button,input,select,textarea{font-family:inherit}code{font-family:IBM Plex Mono,monospace}.shell{grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{color:#f4efe8;background:radial-gradient(circle at 100% 0,#d681232e,#0000 32%),linear-gradient(#122033 0%,#0d1726 100%);flex-direction:column;gap:1.5rem;height:100vh;padding:1.75rem;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:.9rem;display:flex}.brand-mark{color:#0d1726;letter-spacing:.08em;background:#f0b36c;border-radius:16px;place-items:center;width:52px;height:52px;font-weight:800;text-decoration:none;display:grid}.sidebar-brand h1,.topbar h2,.panel h3,.panel h4,.login-panel h1,.login-panel h2,.entity-card h4{margin:0}.sidebar-nav{flex-direction:column;gap:.35rem;display:flex}.sidebar-link{color:#f4efe8cc;border-radius:16px;justify-content:space-between;align-items:center;gap:.75rem;padding:.95rem 1rem;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:flex}.sidebar-link:hover,.sidebar-link.active{color:#fff7ee;background:#ffffff14;transform:translate(4px)}.pill{color:#ffe0b7;background:#f0b36c33;border-radius:999px;justify-content:center;align-items:center;min-width:1.8rem;height:1.8rem;padding:0 .5rem;font-size:.78rem;font-weight:700;display:inline-flex}.sidebar-user{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:18px;margin-top:auto;padding:1rem}.sidebar-user p{color:#f4efe8b8;margin:.2rem 0 0}.sidebar-user .secondary-button{color:#fff7ee;background:#ffffff29;width:100%;margin-top:1rem}.main-content{background:radial-gradient(circle at 0 0,#f0b36c29,#0000 30%),linear-gradient(#f7f2ea 0%,#f2ece1 100%);padding:1.8rem}.topbar{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.topbar-metrics{flex-wrap:wrap;gap:.75rem;display:flex}.topbar-chip{color:#22324b;background:#0d172614;border-radius:999px;padding:.75rem 1rem;font-weight:700}.page-grid{gap:1.25rem;display:grid}.panel,.login-panel,.stat-card,.entity-card,.subpanel,.accordion-card,.week-card,.month-cell,.topic-card{background:#fffcf8e0;border:1px solid #22324b17;border-radius:24px;box-shadow:0 16px 40px #1522340f}.panel{padding:1.4rem}.section-header,.thread-header,.week-card-header,.calendar-panel-header,.entity-footer,.button-row,.inline-form,.table-actions,.tag-row,.communications-layout{display:flex}.section-header,.thread-header,.calendar-panel-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#9a6e3b;margin:0 0 .25rem;font-size:.72rem;font-weight:700}.muted{color:#6a7485}.success-text{color:#1d7d49;margin:0}.danger-text{color:#b3463f;margin:0}small.muted{display:block}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.stats-grid-compact{margin-bottom:1rem}.stat-card{padding:1.1rem 1.2rem}.stat-card span{color:#6a7485;font-size:.92rem;display:block}.stat-card strong,.big-number{color:#11233a;margin-top:.45rem;font-size:1.8rem;display:block}.dual-grid,.cards-grid,.info-grid,.login-shell,.form-grid{gap:1rem;display:grid}.dual-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.info-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.subpanel{padding:1.1rem}.table-card{overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #22324b14;padding:.95rem .9rem}th{color:#526078;text-transform:uppercase;letter-spacing:.08em;font-size:.84rem}tfoot td{color:#11233a;font-weight:800}.list-grid,.simple-list,.entry-list,.message-list{margin:0;padding:0;list-style:none}.list-item,.entity-footer{justify-content:space-between;align-items:center}.list-item{border-bottom:1px solid #22324b14;gap:1rem;padding:.9rem 0;display:flex}.simple-list{gap:.65rem;display:grid}.simple-list li{background:#11233a0d;border-radius:16px;padding:.8rem .95rem}.schema-split,.project-schema-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.95fr);gap:1rem;display:grid}.project-creation-flow{gap:1.25rem;display:grid}.schema-split:has(.assignment-list-head){grid-template-columns:1fr}.schema-stack,.project-list-shell,.project-list{gap:.85rem;display:grid}.schema-field-list{gap:.75rem;display:grid}.schema-field-row{border-bottom:1px solid #22324b14;justify-content:space-between;gap:1rem;padding-bottom:.75rem;display:flex}.schema-field-row span{color:#6a7485}.schema-field-row strong{color:#11233a;text-align:right}.project-list-head,.project-row{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:1rem;display:grid}.resource-profile-grid{grid-template-columns:minmax(0,1.3fr) minmax(300px,.95fr);gap:1rem;display:grid}.project-list-head{color:#6a7485;text-transform:uppercase;letter-spacing:.08em;margin-top:.4rem;padding:0 .2rem;font-size:.82rem}.project-list-head-tight{margin-bottom:.35rem}.project-row{background:#ffffffb8;border:1px solid #22324b14;border-radius:18px;padding:1rem 1.1rem}.resource-list-head,.resource-row{grid-template-columns:minmax(0,1.7fr) auto auto auto auto auto;align-items:center;gap:1rem;display:grid}.resource-list-head{color:#6a7485;text-transform:uppercase;letter-spacing:.08em;margin-top:.4rem;padding:0 .2rem;font-size:.82rem}.resource-list-shell,.resource-list,.vendor-list-shell,.vendor-list,.course-list-shell,.course-list,.attendance-list-shell,.attendance-list,.request-list-shell,.request-list{gap:.85rem;display:grid}.form-grid+.project-list-shell,.form-grid+.resource-list-shell,.form-grid+.vendor-list-shell,.form-grid+.course-list-shell,.form-grid+.attendance-list-shell,.form-grid+.request-list-shell{margin-top:1.5rem}.vendor-list-head,.vendor-row{grid-template-columns:minmax(0,1.7fr) auto auto auto auto auto;align-items:center;gap:1rem;display:grid}.course-list-head,.course-row{grid-template-columns:minmax(0,1.7fr) auto auto auto auto;align-items:center;gap:1rem;display:grid}.attendance-list-head,.attendance-row{grid-template-columns:minmax(0,1.6fr) minmax(150px,.9fr) auto auto;align-items:center;gap:1rem;display:grid}.request-list-head,.request-row{grid-template-columns:minmax(0,1.7fr) auto auto;align-items:center;gap:1rem;display:grid}.repository-list-head,.repository-row{grid-template-columns:minmax(0,1.8fr) auto auto auto;align-items:center;gap:1rem;display:grid}.vendor-list-head,.course-list-head,.attendance-list-head,.request-list-head,.repository-list-head{color:#6a7485;text-transform:uppercase;letter-spacing:.08em;margin-top:.4rem;padding:0 .2rem;font-size:.82rem}.assignment-list{gap:.75rem;display:grid}.assignment-list-head,.assignment-row{grid-template-columns:minmax(0,1fr) minmax(96px,120px) auto;align-items:center;gap:.85rem;display:grid}.assignment-list-head{color:#6a7485;text-transform:uppercase;letter-spacing:.08em;margin-top:.4rem;padding:0 .2rem;font-size:.82rem}.assignment-row{background:#ffffffb8;border:1px solid #22324b14;border-radius:18px;padding:.95rem 1rem}.assignment-row input{max-width:100%}.project-form-actions,.project-form-actions-group,.project-row-status,.resource-row-status,.vendor-row-status,.course-row-status,.attendance-row-status,.request-row-status,.request-detail-actions{align-items:center;gap:.85rem;display:flex}.project-form-actions{justify-content:space-between}.project-form-actions-group,.project-row-status,.resource-row-status,.vendor-row-status,.course-row-status,.attendance-row-status,.request-row-status,.request-detail-actions{justify-content:flex-end}.resource-row,.vendor-row,.course-row,.attendance-row,.request-row,.repository-row{background:#ffffffb8;border:1px solid #22324b14;border-radius:18px;padding:1rem 1.1rem}.project-row.compact{grid-template-columns:minmax(0,1fr) auto}.attendance-row.compact{grid-template-columns:minmax(0,1.2fr) auto auto auto}.project-row-main h4,.resource-row-main h4,.vendor-row-main h4,.course-row-main h4,.attendance-row-main h4,.request-row-main h4{margin:0 0 .35rem}.project-meta,.project-row-actions,.resource-row-actions,.vendor-row-actions,.course-row-actions,.attendance-row-actions,.request-row-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.attendance-row.is-selected,.request-row.is-selected{border-color:#9a6e3b73;box-shadow:0 14px 30px #11233a14}.attendance-layout,.request-layout{align-items:start}.admin-detail-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);align-items:start;gap:1.25rem}.admin-side-panel{background:linear-gradient(#fffcf8fa,#f7f1e8eb);border:1px solid #22324b1a;padding:1.2rem;position:sticky;top:1rem;box-shadow:0 18px 36px #11233a0f}.admin-side-panel .eyebrow+h4{margin-top:0}.admin-side-panel .schema-field-list{margin-top:.15rem}.admin-side-panel .schema-field-row:last-child{border-bottom:none;padding-bottom:0}.attendance-flow{gap:1.25rem;display:grid}.attendance-title{margin-bottom:1.25rem}.attendance-title .muted{margin:.45rem 0 0}.attendance-resource-picker,.attendance-profile,.attendance-months{border:1px solid #22324b1a;border-radius:22px}.attendance-resource-picker{background:linear-gradient(120deg,#efe8dabf,#ffffffeb);grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:end;gap:1.5rem;padding:1.2rem 1.35rem;display:grid}.attendance-resource-picker h4,.attendance-profile h4,.attendance-months h4,.attendance-month-name h4{margin:0}.attendance-profile{background:#ffffffb8;padding:1.35rem}.attendance-profile-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.attendance-profile-heading .muted{margin:.3rem 0 0}.attendance-profile-name{margin:.25rem 0 0;font-weight:750}.attendance-avatar{color:#fffaf0;width:3.4rem;height:3.4rem;font-family:var(--font-display);letter-spacing:.06em;background:#173653;border-radius:16px;place-items:center;font-size:1.15rem;display:grid}.attendance-profile-data{border-top:1px solid #22324b14;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:1.2rem 0 0;display:grid}.attendance-profile-data div{padding:1rem 1rem 0 0}.attendance-profile-data dt,.attendance-month-metrics small{color:#6a7485;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.attendance-profile-data dd{margin:.3rem 0 0;font-weight:700}.attendance-months{background:#f3f6f7b8;padding:1.35rem}.attendance-month-filter{min-width:240px}.attendance-month-list{gap:.85rem;display:grid}.attendance-month-row{background:#ffffffeb;border:1px solid #22324b17;border-radius:18px;grid-template-columns:minmax(150px,.75fr) minmax(360px,1.8fr) auto;align-items:center;gap:1rem;padding:1.1rem;display:grid}.attendance-month-name{justify-items:start;gap:.55rem;display:grid}.attendance-month-metrics{grid-template-columns:repeat(4,minmax(74px,1fr));gap:.75rem;display:grid}.attendance-month-metrics span{border-left:2px solid #22324b1a;gap:.3rem;padding-left:.8rem;display:grid}.attendance-month-metrics .is-warning{color:#8a451a;border-left-color:#c4773a}.attendance-month-metrics .is-balanced{color:#315f49;border-left-color:#4e8668}.attendance-month-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.attendance-empty{color:#6a7485;text-align:center;border:1px dashed #22324b2e;border-radius:18px;padding:2rem}.calendar-layout{align-items:start}.attendance-list-head-tight{margin-bottom:.25rem}.calendar-legend{color:#fff;border-radius:999px;justify-content:center;min-width:3rem;padding:.35rem .6rem;display:inline-flex}.calendar-legend.ferie{background:#d68123}.calendar-legend.permesso{background:#315f98}.calendar-legend.malattia{background:#b3463f}.project-meta span{color:#6a7485}.tag-row{flex-wrap:wrap;gap:.7rem;margin:1rem 0}.status-badge{text-transform:capitalize;border-radius:999px;justify-content:center;align-items:center;padding:.42rem .78rem;font-size:.82rem;font-weight:700;display:inline-flex}.status-badge.warning,.event-tag.warning{color:#915d00;background:#e2a52729}.status-badge.success,.event-tag.success{color:#1d7d49;background:#29915529}.status-badge.danger,.event-tag.danger{color:#9b3d34;background:#c9564b29}.status-badge.info,.event-tag.info{color:#315f98;background:#3c72b429}.event-tag.neutral{color:#526078;background:#11233a14}.info-item span,.thread-header p,.topic-card span,.day-cell span,.day-cell p,.entity-card p{color:#6a7485}.info-item strong{color:#11233a;margin-top:.35rem;display:block}.inline-form,.button-row,.table-actions,.tag-row{flex-wrap:wrap;gap:.85rem}.stack-form,.topic-list,.topic-thread,.calendar-table{gap:1rem;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2,.form-actions{grid-column:1/-1}.form-actions-between,.button-row-end{justify-content:flex-end;gap:.85rem;display:flex}label{color:#22324b;gap:.45rem;font-size:.92rem;display:grid}label span{font-weight:700}input,select,textarea,button{font:inherit}input,select,textarea{box-sizing:border-box;color:#122033;background:#fffdfa;border:1px solid #22324b24;border-radius:16px;width:100%;padding:.9rem 1rem}textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{border-color:#d681238c;outline:2px solid #d6812338}button{cursor:pointer;border:none}.primary-button,.secondary-button,.ghost-button{border-radius:16px;padding:.88rem 1.1rem;font-weight:700}.primary-button{color:#fffaf4;background:#d68123}.secondary-button{color:#1d2c42;background:#11233a14}.ghost-button{color:#315f98;background:0 0}.ghost-button.danger{color:#9b3d34}.grow{flex:220px}.text-link,table a,.list-item a,.entity-card a{color:#315f98;font-weight:700;text-decoration:none}.entity-card{gap:1rem;padding:1.1rem;display:grid}.entity-footer{gap:1rem}.calendar-panel{gap:.9rem;margin-top:1rem;display:grid}.calendar-shell{background:#11233a0a;border-radius:22px;margin-top:1rem;padding:1rem}.calendar-shell .fc{--fc-border-color:#22324b1f;--fc-page-bg-color:transparent;--fc-neutral-bg-color:#11233a0a;--fc-button-bg-color:#122033;--fc-button-border-color:#122033;--fc-button-hover-bg-color:#22324b;--fc-button-hover-border-color:#22324b;--fc-button-active-bg-color:#d68123;--fc-button-active-border-color:#d68123;--fc-today-bg-color:#d681231f}.calendar-shell .fc .fc-toolbar{flex-wrap:wrap;gap:.75rem}.calendar-shell .fc .fc-toolbar-title{color:#11233a;font-size:1.2rem}.calendar-shell .fc .fc-button{box-shadow:none;border-radius:12px;font-weight:700}.calendar-shell .fc .fc-daygrid-event,.calendar-shell .fc .fc-timegrid-event{border-radius:10px;padding:.15rem .35rem}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;display:grid}.month-cell{min-height:118px;padding:.75rem}.month-cell.is-muted{opacity:.55}.month-cell-header{color:#22324b;margin-bottom:.6rem;font-weight:800}.month-events{gap:.45rem;display:grid}.event-tag{border-radius:12px;padding:.35rem .55rem;font-size:.76rem;font-weight:700;display:inline-flex}.communications-layout{align-items:flex-start;gap:1rem}.topic-list{flex:0 0 320px;width:320px}.topic-card{text-align:left;background:#fffcf8e0;gap:.45rem;width:100%;padding:1rem;display:grid}.topic-card.active{outline:2px solid #d6812340}.topic-card strong,.topic-subtitle{white-space:normal;display:block}.topic-subtitle{color:#6a7485}.topic-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.topic-thread{flex:1}.message-list{gap:.8rem;display:grid}.message-bubble{background:#11233a12;border-radius:18px 18px 18px 6px;padding:1rem}.message-bubble.is-manager{background:#d6812329;border-radius:18px 18px 6px}.message-bubble p{margin:.45rem 0}.rating-summary{gap:.25rem;display:grid}.rating-summary span{color:#6a7485}.rating-summary strong{color:#11233a;font-size:1.4rem}.modal-backdrop{z-index:30;background:#0d17267a;place-items:center;padding:2rem 1rem;display:grid;position:fixed;inset:0}.modal-card{background:#fffaf4;border-radius:24px;width:min(820px,100%);max-height:calc(100vh - 4rem);padding:1.4rem;overflow:auto;box-shadow:0 20px 60px #0d172633}.accordion-list{gap:.9rem;display:grid}.accordion-card{overflow:hidden}.accordion-card summary{cursor:pointer;justify-content:space-between;align-items:center;padding:1rem 1.1rem;font-weight:700;display:flex}.accordion-card .table-card{padding:0 1.1rem 1.1rem}.week-card{padding:1rem}.week-card-header{justify-content:space-between;align-items:center;margin-bottom:.9rem}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.8rem;display:grid}.day-cell{background:#11233a0d;border-radius:18px;padding:.85rem}.day-cell-header{gap:.25rem;margin-bottom:.75rem;display:grid}.entry-list{gap:.55rem;display:grid}.entry-list li{gap:.15rem;display:grid}.small-text{font-size:.82rem}.login-shell{background:radial-gradient(circle at 0 0,#f0b36c3d,#0000 28%),linear-gradient(135deg,#efe6d8 0%,#f8f4ee 52%,#e3edf3 100%);grid-template-columns:minmax(320px,520px) minmax(320px,460px);justify-content:center;align-items:center;min-height:100vh;padding:2rem}.login-shell-single{grid-template-columns:minmax(320px,520px)}.login-panel{padding:1.6rem}.login-panel-muted{color:#f6efe3;background:#11233aeb}.login-panel-muted .muted{color:#f6efe3c2}@media (width<=1180px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.topic-list{flex:auto;width:auto}.communications-layout{flex-direction:column}.week-grid,.month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-profile-grid,.schema-split,.project-schema-grid{grid-template-columns:1fr}.admin-side-panel{position:static}.attendance-month-row{grid-template-columns:minmax(140px,.6fr) minmax(320px,1.4fr)}.attendance-month-actions{grid-column:1/-1;justify-content:flex-start}}@media (width<=760px){.main-content,.sidebar,.login-shell{padding:1rem}.topbar,.section-header,.thread-header{flex-direction:column;align-items:flex-start}.form-grid,.login-shell,.week-grid,.month-grid,.resource-profile-grid,.attendance-resource-picker,.attendance-profile-data,.attendance-month-row,.attendance-month-metrics{grid-template-columns:1fr}.attendance-resource-picker,.attendance-profile,.attendance-months{border-radius:18px;padding:1rem}.attendance-profile-heading{grid-template-columns:auto minmax(0,1fr)}.attendance-profile-heading>.status-badge{grid-column:1/-1;justify-self:start}.attendance-profile-data div{justify-content:space-between;gap:1rem;padding-right:0;display:flex}.attendance-profile-data dd{text-align:right;margin-top:0}.attendance-month-filter{width:100%;min-width:0}.attendance-month-metrics span{grid-template-columns:minmax(0,1fr) auto;align-items:center}.panel{padding:1rem}.project-list-head,.resource-list-head,.vendor-list-head,.course-list-head,.assignment-list-head,.attendance-list-head,.request-list-head,.repository-list-head{display:none}.project-row,.project-row.compact,.resource-row,.vendor-row,.course-row,.assignment-row,.attendance-row,.attendance-row.compact,.request-row,.repository-row{grid-template-columns:1fr}.project-row-actions,.project-row-status,.resource-row-status,.resource-row-actions,.vendor-row-status,.vendor-row-actions,.course-row-status,.course-row-actions,.attendance-row-status,.attendance-row-actions,.request-row-status,.request-row-actions,.request-detail-actions{justify-content:flex-start}.project-form-actions,.project-form-actions-group{flex-direction:column;align-items:stretch}.responsive-table table,.responsive-table thead,.responsive-table tbody,.responsive-table tr,.responsive-table th,.responsive-table td{display:block}.responsive-table table{min-width:0}.responsive-table thead{display:none}.responsive-table tbody{gap:.9rem;display:grid}.responsive-table tr{background:#ffffffb8;border:1px solid #22324b14;border-radius:18px;padding:.25rem 0}.responsive-table td{min-height:0;padding:.7rem .85rem}.responsive-table td:before{content:attr(data-label);letter-spacing:.04em;text-transform:uppercase;color:#526078;margin-bottom:.22rem;font-size:.76rem;font-weight:700;display:block}}
