.baila-doc-shell{--navy:#101a31;--baila-blue:#4444A7;--wine:#a3103c;--pink:#da176f;--green:#28b46c;--muted:#718096;--line:#e2e7ef;--bg:#f3f5f9;box-sizing:border-box;max-width:1160px;margin:28px auto 110px;padding:0 22px;color:var(--navy);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.baila-doc-shell *{box-sizing:border-box}.doc-brand{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.doc-brand img{width:50px;height:50px;border-radius:14px;object-fit:contain}.doc-brand div{display:grid}.doc-brand span,.doc-eyebrow{font-size:11px;line-height:1.2;font-weight:900;letter-spacing:.22em;color:var(--wine)}.doc-brand strong{font-size:28px;line-height:1}.doc-brand small{color:var(--muted);font-weight:700}.doc-login{max-width:520px;margin:55px auto;background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 18px 48px rgba(16,26,49,.08)}.doc-login h1{font-size:36px;margin:8px 0}.doc-login>p:not(.doc-eyebrow){color:var(--muted)}.doc-login form{display:grid;gap:18px;margin-top:28px}.doc-login label,.doc-register-picker label{display:grid;gap:7px;font-weight:800}.doc-login input,.doc-register-picker input,.doc-register-picker select,.doc-month-picker input,.doc-month-picker select,.doc-search{width:100%;min-height:48px;border:1px solid #cdd5e1;border-radius:12px;padding:10px 13px;background:#fff;color:var(--navy);font:inherit;font-size:16px}.doc-login button,.doc-button,.doc-register-picker button,.doc-month-picker button,.doc-save{border:0;border-radius:13px;background:var(--wine);color:#fff;font:inherit;font-weight:900;text-align:center;text-decoration:none;padding:14px 20px;cursor:pointer}.doc-notice{margin:18px 0;padding:14px 16px;border-radius:13px;background:#fff4dc;color:#745000;font-weight:700}.doc-notice.ok{background:#e5f8ed;color:#14673c}.doc-notice.error{background:#ffebef;color:#8f1536}.doc-welcome{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:30px 0 20px}.doc-welcome h1{font-size:36px;margin:6px 0 0}.doc-exit{background:var(--navy);color:#fff!important;text-decoration:none;border-radius:13px;padding:12px 18px;font-weight:900}.doc-nav{display:flex;gap:6px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:24px;overflow:auto}.doc-nav a{white-space:nowrap;padding:10px 14px;border-radius:11px;text-decoration:none;color:var(--navy);font-weight:800}.doc-nav a.active{background:var(--navy);color:#fff}.doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.doc-card,.doc-course,.doc-comp-course{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 10px 30px rgba(16,26,49,.045)}.doc-card-primary{background:linear-gradient(135deg,#000 0%,var(--baila-blue) 100%);color:#fff}.doc-card h2{font-size:28px;margin:10px 0}.doc-card p{color:var(--muted)}.doc-card-primary p,.doc-card-primary .doc-eyebrow{color:#dce5f5}.doc-card a:not(.doc-button){color:var(--wine);font-weight:900}.doc-section-head{margin:12px 0 20px}.doc-section-head h2{font-size:31px;margin:7px 0}.doc-section-head p:not(.doc-eyebrow){color:var(--muted)}.doc-search{max-width:420px;margin-top:10px}.doc-course{padding:0;margin:14px 0;overflow:hidden}.doc-course>summary,.doc-student>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none;padding:20px 22px}.doc-course>summary::-webkit-details-marker,.doc-student>summary::-webkit-details-marker{display:none}.doc-course>summary span,.doc-student>summary span{display:grid;gap:4px}.doc-course small,.doc-student small{color:var(--muted);font-weight:600}.doc-course>summary>b{color:var(--wine);white-space:nowrap}.doc-students{border-top:1px solid var(--line);padding:8px 20px 18px}.doc-student{border-bottom:1px solid var(--line)}.doc-student:last-child{border-bottom:0}.doc-student>summary{padding:14px 2px}.doc-student>summary>b{font-size:12px;color:var(--wine)}.doc-student dl,.doc-profile,.doc-comp-course dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 16px;background:var(--bg);border-radius:14px;padding:8px 16px}.doc-student dl div,.doc-profile div,.doc-comp-course dl div{padding:12px 4px;border-bottom:1px solid #dde3eb}.doc-student dt,.doc-profile dt,.doc-comp-course dt{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:800}.doc-student dd,.doc-profile dd,.doc-comp-course dd{margin:4px 0 0;font-weight:800}.doc-register-picker,.doc-month-picker{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:18px}.doc-register-picker label{flex:1}.doc-register-picker button,.doc-month-picker button{min-height:48px}.doc-attendance{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}.doc-attendance-head{display:flex;justify-content:space-between;gap:14px;padding:20px 22px;background:var(--navy);color:#fff}.doc-attendance-head div{display:grid}.doc-attendance-head small{opacity:.8}.doc-attendance-row{display:flex;align-items:center;gap:13px;padding:15px 20px;border-bottom:1px solid var(--line);cursor:pointer}.doc-attendance-row input{position:absolute;opacity:0}.doc-check{display:grid;place-items:center;width:34px;height:34px;border:2px solid #bdc6d5;border-radius:10px;color:transparent;font-size:28px;font-weight:900;line-height:1}.doc-attendance-row input:checked+.doc-check{background:var(--green);border-color:var(--green);color:#fff}.doc-attendance-row>span:last-child{display:grid}.doc-attendance-row small{color:var(--muted)}.doc-save{margin:20px;width:calc(100% - 40px)}.doc-empty{padding:25px;border:1px dashed #c6cfdd;border-radius:16px;text-align:center;color:var(--muted)}.doc-month-picker{max-width:500px}.doc-month-picker>*{flex:1}.doc-comp-total{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.doc-comp-total>div{display:grid;padding:22px;border-radius:20px;background:var(--navy);color:#fff}.doc-comp-total>div:nth-child(2){background:#fff1e5;color:#9d4715}.doc-comp-total>div:nth-child(3){background:#e8f7ef;color:#176a42}.doc-comp-total span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.doc-comp-total strong{font-size:31px;margin-top:5px}.doc-comp-course{margin:12px 0}.doc-comp-course h3{margin-top:0}.doc-help{color:var(--muted);font-size:14px}.doc-mobile-nav{display:none}.doc-monthly-register{margin:0 0 18px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.doc-monthly-register>summary{cursor:pointer;list-style:none;padding:17px 20px;color:var(--wine);font-weight:900}.doc-monthly-register>summary::-webkit-details-marker{display:none}.doc-monthly-register>summary:after{content:"＋";float:right}.doc-monthly-register[open]>summary:after{content:"−"}.doc-monthly-register .doc-month-picker{max-width:none;margin:0;border:0;border-top:1px solid var(--line);border-radius:0}.doc-month-table-wrap{overflow:auto;padding:0 18px 18px}.doc-month-table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0;font-size:13px}.doc-month-table th,.doc-month-table td{padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}.doc-month-table thead th{position:sticky;top:0;background:var(--navy);color:#fff}.doc-month-table tbody th{text-align:left;position:sticky;left:0;background:#fff;z-index:1}.doc-month-table .is-present{background:#e1f7e9;color:#167143;font-weight:900}.doc-month-table .is-absent{background:#ffeaee;color:#9a1639;font-weight:900}.doc-monthly-register>.doc-empty,.doc-monthly-register>.doc-notice,.doc-monthly-register>.doc-help{margin:0 18px 18px}
@media(max-width:700px){html,body{max-width:100%;overflow-x:hidden}.baila-doc-shell{width:100%;max-width:100%;margin:0 0 100px;padding:0 16px;background:var(--bg);min-height:100vh}.doc-brand{padding:16px 2px}.doc-brand strong{font-size:24px}.doc-welcome h1{font-size:28px}.doc-nav{display:none}.doc-grid{grid-template-columns:1fr}.doc-card{padding:20px}.doc-section-head h2{font-size:27px}.doc-course>summary{align-items:flex-start}.doc-students{padding:5px 14px 14px}.doc-student dl,.doc-profile,.doc-comp-course dl{grid-template-columns:1fr}.doc-register-picker,.doc-month-picker{display:grid;grid-template-columns:1fr}.doc-attendance-head{display:grid}.doc-comp-total{grid-template-columns:1fr}.doc-login{margin:28px 0;padding:25px 20px}.doc-login h1{font-size:30px}.doc-mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:99999;background:var(--navy);border:1px solid rgba(255,255,255,.25);border-radius:22px;padding:8px;box-shadow:0 12px 34px rgba(0,0,0,.28)}.doc-mobile-nav a{display:grid;place-items:center;gap:2px;color:#fff;text-decoration:none;font-size:11px;font-weight:800;opacity:.7}.doc-mobile-nav a.active{opacity:1}.doc-mobile-nav b{font-size:21px}.doc-attendance-row{padding:14px}.doc-welcome{padding-top:22px}}
.doc-register-request{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.doc-register-request>summary{cursor:pointer;color:var(--wine);font-weight:900}.doc-register-request>div{padding-top:22px}.doc-register-request h2{margin:7px 0}.doc-register-request p:not(.doc-eyebrow){color:var(--muted)}.doc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.doc-register-request small{color:var(--muted);font-weight:600}@media(max-width:700px){.doc-form-row{grid-template-columns:1fr}}
.doc-private-value{appearance:none;-webkit-appearance:none;display:inline-grid;justify-items:start;gap:2px;width:max-content;max-width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer}.doc-private-value-text{display:inline-block;filter:blur(8px);opacity:.78;user-select:none;-webkit-user-select:none;transition:filter .18s ease,opacity .18s ease}.doc-private-value.is-visible .doc-private-value-text{filter:none;opacity:1;user-select:text;-webkit-user-select:text}.doc-private-hint{font-size:10px!important;line-height:1.2;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:currentColor;opacity:.72}.doc-comp-total .doc-private-value{margin-top:5px}.doc-comp-total .doc-private-value-text{font-size:31px}.doc-comp-course .doc-private-value-text{font-weight:800}.doc-card h2 .doc-private-value-text{font-size:28px}.doc-card p .doc-private-value{vertical-align:middle}
.doc-summary-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:12px 0 4px;color:var(--muted);font-size:14px}.doc-summary-tools .doc-button,.doc-card [data-doc-refresh]{padding:10px 16px}.doc-card [data-doc-refresh]{margin:4px 8px 4px 0}.doc-button:disabled{opacity:.65;cursor:wait}.doc-comp-course dd strong{font-size:18px}
.doc-comp-course{padding:0;overflow:hidden}.doc-comp-course>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;cursor:pointer;list-style:none}.doc-comp-course>summary::-webkit-details-marker{display:none}.doc-comp-course>summary h3{margin:0}.doc-comp-course>summary span{color:var(--wine);font-size:12px;font-weight:900;text-transform:uppercase}.doc-comp-course>summary span:after{content:" ＋"}.doc-comp-course[open]>summary span:after{content:" −"}.doc-comp-course>dl{margin:0 20px 20px}

.doc-forgot{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.doc-forgot>summary{cursor:pointer;color:var(--wine);font-weight:900}.doc-forgot form,.doc-password-card form{display:grid;gap:16px;margin-top:18px}.doc-password-card{margin-top:18px}.doc-password-card label{display:grid;gap:7px;font-weight:800}.doc-password-card input{width:100%;min-height:48px;border:1px solid #cdd5e1;border-radius:12px;padding:10px 13px;background:#fff;color:var(--navy);font:inherit;font-size:16px}.doc-password-card small{color:var(--muted);font-weight:600}

.doc-page-progress{position:fixed;top:0;left:0;right:0;z-index:100001;height:6px;background:rgba(255,255,255,.86);overflow:visible;opacity:0;transition:opacity .18s ease}.doc-page-progress.is-active{opacity:1}.doc-page-progress>span{display:block;width:100%;height:100%;background:#e8ebf1}.doc-page-progress>span>i{display:block;width:0;height:100%;background:linear-gradient(90deg,#a3103c,#4444A7);border-radius:0 999px 999px 0;transition:width .24s ease}.doc-page-progress>strong{position:absolute;top:14px;left:50%;transform:translateX(-50%);padding:7px 12px;border-radius:999px;background:#101a31;color:#fff;box-shadow:0 6px 22px rgba(16,26,49,.22);font-size:12px;white-space:nowrap}.doc-page-progress>strong b{color:#fff}.doc-page-progress>strong em{font-style:normal;font-weight:700}

.doc-page-progress[hidden]{display:none}

/* Gerarchia corsi e ricerca locale degli iscritti. */
.doc-course[open]>summary strong{color:#873F92}.doc-student>summary{padding-left:18px}.doc-student>summary strong{color:#4444A7}.doc-course-search{display:block;width:calc(100% - 16px);min-height:46px;margin:10px 8px 8px;border:1px solid #cdd5e1;border-radius:12px;padding:10px 13px;background:#fff;color:#101a31;font:inherit;font-size:16px}

/* Registro evoluto, richieste e calendario. */
.doc-remember,.baila-my-remember{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important}.doc-remember input,.baila-my-remember input{width:18px!important;min-height:18px!important;margin:0}.doc-period-title,.doc-report-period{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:13px 16px;border-radius:14px;background:#eef0ff;color:var(--baila-blue)}.doc-period-title span,.doc-report-period span{font-weight:900}.doc-calendar{margin:0 0 18px;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.doc-calendar>summary{padding:15px 18px;color:var(--wine);font-weight:900;cursor:pointer}.doc-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:0 16px 12px}.doc-calendar-grid>b{text-align:center;color:var(--muted);font-size:11px}.doc-calendar-grid>a,.doc-calendar-grid>span{position:relative;display:grid;place-items:center;min-height:38px;border-radius:10px;text-decoration:none;color:var(--navy);font-weight:800}.doc-calendar-grid>a:hover{background:#f2f4f8}.doc-calendar-grid>a.partial{background:#ffeaee;color:#9a1639}.doc-calendar-grid>a.complete{background:#e1f7e9;color:#167143}.doc-calendar-grid a i{position:absolute;right:4px;bottom:1px;font-size:10px;font-style:normal}.doc-calendar>.doc-help{padding:0 16px 14px}.doc-cal-red{color:#9a1639}.doc-cal-green{color:#167143}.doc-attendance.is-closed{opacity:.93}.doc-close-form{display:flex;justify-content:flex-end;margin:12px 0 22px}.doc-trials{border-top:8px solid var(--bg)}.doc-trials-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.doc-trials-head>div{display:grid}.doc-trials-head small{color:var(--muted)}.doc-trials-head button{width:38px;height:38px;border:0;border-radius:50%;background:var(--baila-blue);color:#fff;font-size:25px;cursor:pointer}.doc-trial-row{display:grid;grid-template-columns:125px 1fr 1fr auto;align-items:center;gap:9px;padding:10px 18px;border-top:1px solid var(--line);background:#e9f7ff}.doc-trial-row>input,.doc-student-actions input,.doc-student-actions select,.doc-student-actions textarea{width:100%;min-height:42px;border:1px solid #bfd2df;border-radius:10px;padding:8px 10px;background:#fff;font:inherit}.doc-trial-row>button{border:0;background:transparent;color:var(--wine);font-size:22px}.doc-trial-attendance{padding:0;border:0}.doc-trial-attendance b,.is-trial th b{display:inline-flex;padding:4px 7px;border-radius:999px;background:#ccecff;color:#101a31;font-size:10px}.doc-student-actions{margin:0 0 16px;padding:16px;border-radius:14px;background:#f7f8fb}.doc-action-box{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.doc-action-box>summary{padding:12px 14px;color:var(--wine);font-weight:900;cursor:pointer}.doc-action-box form{display:grid;gap:12px;padding:0 14px 14px}.doc-action-box label{display:grid;gap:5px;font-weight:800}.doc-request-history{display:grid;gap:6px;margin:8px 0}.doc-request-history p{margin:0;padding:8px 10px;border-radius:9px;background:#fff}.doc-reminders{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}.doc-reminder-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.doc-reminder-track article{display:grid;flex:0 0 min(360px,85vw);gap:4px;padding:14px;border-radius:14px;background:#fff3d6;scroll-snap-align:start}.doc-reminder-track article.is-event{background:#eef0ff}.doc-reminder-track a{color:var(--wine);font-weight:900}.doc-month-table .is-trial th{background:#e9f7ff}.doc-month-table-wrap{max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
@media(max-width:700px){.doc-trial-row{grid-template-columns:92px 1fr auto}.doc-trial-row>input:nth-of-type(2){grid-column:2/3}.doc-monthly-register{max-width:100%;overflow:hidden}.doc-month-table-wrap{width:100%;overflow-x:auto}.doc-month-table{min-width:720px}.doc-month-table th:first-child,.doc-month-table td:first-child{position:sticky;left:0;z-index:2;max-width:210px;overflow:hidden;text-overflow:ellipsis;background:#fff}.doc-month-table thead th:first-child{z-index:4;background:var(--navy)}.doc-period-title,.doc-report-period{align-items:flex-start;flex-direction:column}.doc-calendar-grid{padding-left:8px;padding-right:8px}}
.doc-news{margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}.doc-news-list{display:grid;gap:11px;margin-top:12px}.doc-news-list article{padding:16px;border-left:5px solid var(--baila-blue);border-radius:12px;background:#f5f6ff}.doc-news-list h3{margin:0 0 7px;color:var(--navy);font-size:19px}.doc-news-list p{margin:0 0 8px;color:#44506a}.doc-news-list small{color:var(--baila-blue);font-weight:800}.doc-news-countdown{display:block;margin-top:10px;color:#b2083d;font-size:14px;font-weight:900}
.doc-news-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px}.doc-news-footer .doc-news-countdown{margin-top:0}
.baila-news-reaction{margin:0 0 0 auto}.baila-news-reaction button{position:relative;display:flex;align-items:center;gap:5px;padding:5px 8px;border:0;border-radius:999px;background:#fff;color:#778096;font:inherit;cursor:pointer;box-shadow:0 2px 8px rgba(16,26,49,.09)}.baila-news-reaction button>span{font-size:22px;line-height:1}.baila-news-reaction button>b{font-size:13px}.baila-news-reaction button.is-hearted{color:#b2083d}.baila-news-reaction button>i{position:absolute;right:0;bottom:calc(100% + 8px);z-index:20;width:max-content;max-width:min(320px,80vw);padding:8px 10px;border-radius:9px;background:#101a31;color:#fff;font-size:12px;font-style:normal;font-weight:700;line-height:1.35;box-shadow:0 8px 25px rgba(16,26,49,.25);opacity:0;visibility:hidden;transform:translateY(4px);transition:.16s ease}.baila-news-reaction button:hover>i,.baila-news-reaction button:focus-visible>i{opacity:1;visibility:visible;transform:none}
.doc-month-table .is-trial-date{background:#e9f7ff!important;color:#101a31!important;font-weight:900}
.doc-pin-gate{display:grid;place-items:center;min-height:420px}.doc-pin-gate .doc-login{width:min(100%,520px);margin:24px auto}.doc-pin-card h2{margin:8px 0;font-size:30px}.doc-pin-card input[name="pin"],.doc-pin-card input[name="pin_confirm"]{font-size:28px;letter-spacing:.35em;text-align:center}
.doc-register-current{margin:0 0 18px}
.doc-register-focus{scroll-margin-top:24px}
@media(max-width:700px){.doc-register-focus{scroll-margin-top:12px}}
.doc-today-trials{margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}.doc-today-trials .doc-section-head{margin:0 0 14px}.doc-today-trial-list{display:grid;gap:9px}.doc-today-trial-list article{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #cce4f1;border-radius:14px;background:#e9f7ff}.doc-today-trial-list article>div{display:grid;gap:3px;min-width:0}.doc-today-trial-list article strong{color:var(--navy)}.doc-today-trial-list article div span{color:var(--baila-blue);font-size:13px;font-weight:800}.doc-today-trial-list time{margin-left:auto;color:var(--wine);font-weight:900}.doc-trial-avatar{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#ccecff;color:var(--navy);font-weight:900}
@media(max-width:700px){.doc-today-trials{padding:18px}.doc-today-trial-list article{align-items:flex-start}.doc-today-trial-list time{font-size:13px}}
