:root { --blue:#1f5592; --blue-deep:#123e70; --yellow:#f7ce65; --green:#008456; --red:#da4f40; --ink:#142d48; --muted:#627488; --paper:#f3f6f9; --surface:#fff; --line:#d5dfe9; --display:"Manrope",sans-serif; --body:"DM Sans",sans-serif; --mono:"Roboto Mono",monospace; }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; min-height:100dvh; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:var(--body); line-height:1.55; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
[id],h1,h2,h3,h4,p,li,td,th,label,small { overflow-wrap:anywhere; }
h1,h2,h3,h4,p { text-wrap:pretty; }
[hidden] { display:none !important; }
.skip-link { position:fixed; top:-70px; left:16px; z-index:100; padding:10px 14px; color:var(--ink); background:var(--yellow); }.skip-link:focus{top:12px}
.eyebrow { margin:0; color:var(--green); font:700 11px var(--mono); letter-spacing:.14em; text-transform:uppercase; }
.login-view { min-height:100dvh; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(430px,.9fr); }
.login-identity { min-height:100dvh; padding:clamp(28px,5vw,70px); display:flex; flex-direction:column; color:white; background:var(--blue); }
.institution-link { display:flex; align-items:center; gap:20px; color:white; text-decoration:none; }.institution-link img{width:150px;height:64px;object-fit:contain;background:white;padding:5px}.institution-link span{padding-left:20px;border-left:1px solid rgba(255,255,255,.25)}.institution-link b,.institution-link small{display:block}.institution-link b{font:800 24px var(--display)}.institution-link small{color:#c7d8e8}
.login-copy { margin:auto 0; max-width:700px; }.login-copy .eyebrow{color:var(--yellow)}.login-copy h1{margin:14px 0 24px;font:800 clamp(48px,7vw,92px)/.98 var(--display);letter-spacing:-.06em}.login-copy>p:last-child{max-width:620px;color:#d3e1ee;font-size:clamp(18px,2vw,23px)}.authorship{margin:0;color:#b8cee2;font-size:12px}
.login-panel { padding:40px; display:grid;place-items:center; background:var(--surface); }.login-panel form{width:min(430px,100%)}.login-panel h2{margin:10px 0 8px;font:800 38px var(--display);letter-spacing:-.04em}.form-intro{margin:0 0 30px;color:var(--muted)}.login-panel label:not(.location-consent){display:grid;gap:7px;margin-top:18px;font-weight:700}.login-panel input{min-height:50px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#f8fafc}.login-panel input:focus{outline:3px solid rgba(0,132,86,.2);border-color:var(--green)}.location-consent{margin:22px 0;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;color:var(--muted);font-size:13px}.location-consent input{min-height:auto;margin-top:3px}.login-panel button[type=submit]{width:100%;min-height:52px;border:0;border-radius:10px;color:white;background:var(--blue);font-weight:700}.login-panel form>a{display:block;margin-top:18px;color:var(--blue);text-align:center;font-weight:700;text-decoration:none}.form-message{min-height:23px;color:var(--red);font-size:13px}.form-message.is-processing{color:var(--blue)}button[aria-busy="true"],select[aria-busy="true"]{cursor:progress;opacity:.78}button:disabled,select:disabled{cursor:progress}
.admin-shell { min-height:100dvh; display:grid; grid-template-columns:260px minmax(0,1fr); }.admin-sidebar{height:100dvh;padding:28px 18px;display:flex;flex-direction:column;position:sticky;top:0;color:white;background:var(--blue-deep)}.sidebar-brand{padding:0 12px 28px;color:white;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.14)}.sidebar-brand span,.sidebar-brand small{display:block}.sidebar-brand span{font:800 25px var(--display)}.sidebar-brand small{color:#bcd0e4}.admin-sidebar nav{margin-top:30px;display:grid;gap:5px}.admin-sidebar nav button{min-height:46px;padding:10px 13px;border:0;border-radius:9px;color:#c9d8e8;background:transparent;text-align:left;font-weight:700}.admin-sidebar nav button:hover,.admin-sidebar nav button.active{color:var(--ink);background:var(--yellow)}.sidebar-session{margin-top:auto;padding:18px 12px 0;border-top:1px solid rgba(255,255,255,.14)}.sidebar-session span,.sidebar-session b{display:block}.sidebar-session span{color:#9fb9d2;font:600 10px var(--mono);text-transform:uppercase}.sidebar-session b{margin:4px 0 12px}.sidebar-session button{padding:0;border:0;color:#c9d8e8;background:transparent;text-decoration:underline}
.admin-workspace{min-width:0}.admin-topbar{min-height:94px;padding:20px clamp(20px,4vw,54px);display:flex;align-items:center;gap:18px;background:var(--surface);border-bottom:1px solid var(--line)}.admin-topbar div{margin-right:auto}.admin-topbar p{margin:0;color:var(--green);font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.1em}.admin-topbar h1{margin:2px 0 0;font:800 27px var(--display)}.admin-topbar>button{min-height:42px;padding:8px 13px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--surface);font-weight:700}#admin-menu{display:none}.admin-notice{min-height:0;padding:0 clamp(20px,4vw,54px);color:var(--green);font-size:13px}.admin-notice.show{padding-top:14px}.admin-panel{display:none;padding:clamp(32px,5vw,64px) clamp(20px,4vw,54px)}.admin-panel.active{display:block}.admin-workspace footer{padding:26px 54px;color:var(--muted);border-top:1px solid var(--line);font-size:12px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric{padding:22px;border:1px solid var(--line);background:var(--surface)}.metric span{display:block;color:var(--muted);font:600 10px var(--mono);text-transform:uppercase}.metric b{display:block;margin-top:12px;font:800 36px var(--display)}.metric small{color:var(--muted)}
.section-block{margin-top:42px}.section-heading{margin-bottom:18px;display:flex;align-items:end;justify-content:space-between;gap:20px}.section-heading h2{margin:6px 0 0;font:800 clamp(26px,3vw,38px) var(--display);letter-spacing:-.035em}.section-heading p{max-width:440px;margin:0;color:var(--muted)}.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.data-card,.empty-state,.admin-form{padding:22px;border:1px solid var(--line);background:var(--surface)}.data-card h3{margin:0;font:700 19px var(--display)}.data-card p{margin:6px 0 0;color:var(--muted)}.data-card small,.tag{font:600 10px var(--mono);text-transform:uppercase}.tag{display:inline-block;margin-bottom:12px;padding:5px 8px;color:var(--blue);background:#e7eef7}.empty-state{color:var(--muted)}
.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-form h3,.admin-form .form-wide{grid-column:1/-1}.admin-form h3{margin:0 0 4px;font:700 21px var(--display)}.admin-form label{display:grid;gap:6px;color:var(--ink);font-weight:700}.admin-form input,.admin-form select,.admin-form textarea{width:100%;min-height:46px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#f8fafc}.admin-form textarea{min-height:90px;resize:vertical}.admin-form button{min-height:46px;border:0;border-radius:8px;color:white;background:var(--blue);font-weight:700}.admin-form .form-message{margin:0}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:3px solid rgba(0,132,86,.18);border-color:var(--green)}
.table-wrap{overflow:auto;border:1px solid var(--line);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font:600 10px var(--mono);text-transform:uppercase;background:#f7f9fb}.status-active{color:var(--green)}.status-inactive{color:var(--red)}.table-action{min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;color:var(--blue-deep);background:var(--surface);font-weight:700;white-space:nowrap}.table-action:hover{border-color:var(--blue)}
.calendar-intro{padding:clamp(24px,4vw,44px);display:flex;align-items:center;justify-content:space-between;gap:28px;color:white;background:linear-gradient(125deg,var(--blue-deep),var(--blue));border-left:7px solid var(--yellow)}.calendar-intro h2{margin:8px 0 10px;font:800 clamp(30px,4vw,52px)/1 var(--display);letter-spacing:-.045em}.calendar-intro p:not(.eyebrow){max-width:720px;margin:0;color:#d9e6f2}.calendar-intro .eyebrow{color:var(--yellow)}.calendar-status{flex:0 0 auto;padding:9px 13px;border-radius:999px;font:700 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.calendar-status.draft{color:var(--blue-deep);background:var(--yellow)}.calendar-status.active{color:white;background:var(--green)}
.calendar-builder{margin-top:24px;display:grid;gap:20px}.calendar-builder fieldset{min-width:0;margin:0;padding:24px;border:1px solid var(--line);background:var(--surface)}.calendar-builder legend{padding:0 8px 0 0;font:800 21px var(--display);color:var(--ink)}.builder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.calendar-builder label,.danger-zone label,.evaluation-list label{display:grid;gap:6px;color:var(--ink);font-weight:700}.calendar-builder input,.calendar-builder select,.danger-zone input,.evaluation-list input{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#f8fafc}.calendar-builder input:focus,.calendar-builder select:focus,.danger-zone input:focus,.evaluation-list input:focus{outline:3px solid rgba(0,132,86,.18);border-color:var(--green)}.fieldset-heading,.schedule-group-title{display:flex;align-items:start;justify-content:space-between;gap:20px}.fieldset-heading legend{float:left}.fieldset-heading p{clear:left;margin:4px 0 0;color:var(--muted)}.secondary-action,.remove-row{min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:7px;color:var(--blue-deep);background:white;font-weight:700;white-space:nowrap}.secondary-action:hover{border-color:var(--blue)}.remove-row{min-height:auto;padding:3px 7px;color:var(--red);font-size:12px}
.compact-row{margin-top:14px;padding:14px;display:grid;grid-template-columns:2fr 1fr auto;align-items:end;gap:12px;background:#f6f9fb;border-left:3px solid var(--yellow)}.schedule-group{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.schedule-group:first-of-type{margin-top:10px;border-top:0}.schedule-group-title span,.schedule-group-title small{display:block}.schedule-group-title span{font:800 18px var(--display)}.schedule-group-title small{color:var(--muted)}.schedule-row{margin-top:12px;padding:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:#f6f9fb;border:1px solid #e2e9f0}.schedule-row-heading{grid-column:1/-1;display:flex;justify-content:space-between}.schedule-topic{grid-column:span 2}.evaluation-draft-row{margin-top:14px;padding:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;background:#f6f9fb;border-left:3px solid var(--green)}.evaluation-draft-row .remove-row{justify-self:start}.holiday-reference{border-top:4px solid var(--yellow)!important}.holiday-reference>p{margin-top:4px;color:var(--muted)}.holiday-chips{display:flex;flex-wrap:wrap;gap:7px}.holiday-chips span{padding:6px 9px;color:var(--muted);background:#f6f9fb;border:1px solid var(--line);font-size:12px}.holiday-chips b{margin-right:6px;color:var(--blue);font-family:var(--mono)}.calendar-create-bar{position:sticky;bottom:14px;z-index:5;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:white;background:var(--blue-deep);box-shadow:0 12px 30px rgba(18,62,112,.24)}.calendar-create-bar div span,.calendar-create-bar div b{display:block}.calendar-create-bar div span{color:#c8d9ea;font-size:13px}.calendar-create-bar button{min-height:48px;padding:10px 20px;border:0;border-radius:8px;color:var(--ink);background:var(--yellow);font-weight:800}
.calendar-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-top:0;background:white}.calendar-summary-strip span{padding:18px 20px;color:var(--muted);border-right:1px solid var(--line)}.calendar-summary-strip span:last-child{border-right:0}.calendar-summary-strip b{display:block;color:var(--ink);font:800 24px var(--display)}.course-calendar-table{border:1px solid var(--line);background:white}.calendar-table-head,.calendar-table-row{display:grid;grid-template-columns:90px minmax(190px,.55fr) minmax(0,2fr)}.calendar-table-head{color:var(--muted);background:#eef3f8;font:700 10px var(--mono);text-transform:uppercase}.calendar-table-head span{padding:11px 14px}.calendar-table-row{border-top:1px solid var(--line)}.calendar-table-row:first-of-type{border-top:0}.calendar-table-row>div{padding:15px;border-right:1px solid var(--line)}.calendar-table-row>div:last-child{border-right:0}.week-number small,.week-number b{display:block}.week-number small{color:var(--muted);font-size:10px;text-transform:uppercase}.week-number b{font:800 29px var(--display);color:var(--blue)}.calendar-date b{display:block;text-transform:capitalize}.calendar-date span{display:block;margin-top:7px;padding:4px 7px;color:#8a341f;background:#fff0ea;font-size:11px;font-weight:700}.holiday-row{box-shadow:inset 4px 0 var(--red)}.calendar-day-events{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.calendar-event-card{padding:13px!important;border:1px solid var(--line)!important;border-top:4px solid var(--blue)!important;background:#f9fbfd}.calendar-event-card.type-laboratory{border-top-color:var(--green)!important}.calendar-event-card.type-seminar{border-top-color:var(--yellow)!important}.calendar-event-card>div{display:flex;justify-content:space-between;gap:10px}.calendar-event-card>div span{color:var(--muted);font:700 10px var(--mono);text-transform:uppercase}.calendar-event-card>div b{font:700 11px var(--mono)}.calendar-event-card h3{margin:9px 0 3px;font:800 16px var(--display)}.calendar-event-card p,.calendar-event-card small{display:block;margin:0;color:var(--muted);font-size:12px}.evaluation-marker{display:block;margin-top:9px;padding:6px 8px;color:var(--blue-deep);background:#fff4d5;font-size:11px}.evaluation-layer>.admin-form{margin-bottom:18px}.evaluation-list{display:grid;gap:10px}.evaluation-list article{padding:16px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.6fr) auto;align-items:end;gap:14px;border:1px solid var(--line);background:white}.evaluation-list article span{color:var(--green);font:700 10px var(--mono);text-transform:uppercase}.evaluation-list article h3{margin:4px 0 2px;font:800 18px var(--display)}.evaluation-list article p{margin:0;color:var(--muted)}.danger-zone{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:30px;border:1px solid #efc8bf;border-left:5px solid var(--red);background:#fff}.danger-zone h2{margin:5px 0;font:800 25px var(--display)}.danger-zone p:not(.eyebrow){margin:0;color:var(--muted)}.danger-zone form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.danger-zone .form-message{grid-column:1/-1;margin:0}.danger-zone button{grid-column:1/-1;min-height:44px;border:0;border-radius:8px;color:white;background:var(--red);font-weight:800}
.weekly-calendar{border:1px solid var(--line);background:white}.weekly-calendar-head,.week-calendar-row{display:grid;grid-template-columns:92px minmax(0,1fr)}.weekly-calendar-head{color:var(--muted);background:#eaf0f6;font:700 10px var(--mono);text-transform:uppercase}.weekly-calendar-head span{padding:11px 14px}.week-calendar-row{min-width:0;border-top:1px solid var(--line)}.week-label{padding:16px 12px;border-right:1px solid var(--line);background:#f8fafc}.week-label small,.week-label b{display:block}.week-label small{color:var(--muted);font:700 10px var(--mono);text-transform:uppercase}.week-label b{margin-top:3px;color:var(--blue);font:800 29px var(--display)}.week-days-flow{min-width:0;display:flex;overflow-x:auto;scrollbar-color:var(--line) transparent}.week-day-pair{min-width:310px;flex:1 0 310px;display:grid;grid-template-columns:92px minmax(0,1fr);border-right:1px solid var(--line)}.week-day-pair:last-child{border-right:0}.week-day-name{padding:16px 12px;background:#f8fafc;border-right:1px solid var(--line)}.week-day-name b,.week-day-name span{display:block}.week-day-name b{text-transform:capitalize;font:800 15px var(--display)}.week-day-name span{margin-top:3px;color:var(--muted);font:600 10px var(--mono);text-transform:uppercase}.week-day-activity{padding:10px;display:grid;gap:8px}.week-activity-block{padding:12px;border:1px solid var(--line);border-left:4px solid var(--blue);background:#fbfcfe}.week-activity-block.type-laboratory{border-left-color:var(--green)}.week-activity-block.type-seminar{border-left-color:var(--yellow)}.activity-block-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.activity-block-heading span{color:var(--blue-deep);font:700 10px var(--mono);text-transform:uppercase}.activity-block-heading b{font:700 10px var(--mono)}.week-activity-block h3{margin:7px 0 2px;font:800 15px var(--display)}.week-activity-block p,.week-activity-block small{display:block;margin:0;color:var(--muted);font-size:11px}.holiday-day{box-shadow:inset 0 4px var(--red)}.holiday-activity{height:100%;padding:15px;display:flex;flex-direction:column;justify-content:center;color:#7f2e1f;background:#fff1ec}.holiday-activity span{font:700 10px var(--mono);text-transform:uppercase}.holiday-activity strong{margin-top:4px;font:800 16px var(--display)}.pause-week{background:#fff9e8}.pause-week .week-label{background:#fff2c6}.pause-week .week-label b{color:#8a6510}.pause-week-content{padding:16px 20px;display:flex;align-items:center;gap:18px}.pause-week-content span{color:var(--muted);text-transform:capitalize}.pause-week-content strong{color:#6c5318}.week-without-events{padding:18px;color:var(--muted)}.edit-event-button{margin-top:10px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;color:var(--blue-deep);background:white;font-size:11px;font-weight:700}.event-edit-form{margin-top:10px;padding-top:10px;display:grid;gap:8px;border-top:1px solid var(--line)}.event-edit-form[hidden]{display:none}.event-edit-form label{display:grid;gap:4px;font-size:11px;font-weight:700}.event-edit-form input,.event-edit-form select{width:100%;min-height:38px;padding:7px 8px;border:1px solid var(--line);border-radius:6px;background:white}.event-edit-form>div{display:flex;gap:7px}.event-edit-form button[type=submit]{min-height:34px;padding:6px 9px;border:0;border-radius:6px;color:white;background:var(--blue);font-size:11px;font-weight:700}.event-edit-form .secondary-action{min-height:34px;font-size:11px}.event-edit-form .form-message{margin:0;min-height:0}
.calendar-import,.calendar-source-note{margin:18px 0;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);align-items:end;gap:28px;border:1px solid var(--line);border-left:6px solid var(--yellow);background:white}.calendar-import h2,.calendar-source-note h2{margin:5px 0 7px;font:800 27px var(--display)}.calendar-import p,.calendar-source-note p{margin:0;color:var(--muted)}.calendar-import form{display:grid;gap:10px}.calendar-import label{display:grid;gap:6px;font-weight:700}.calendar-import input{min-height:44px;padding:8px 11px;border:1px solid var(--line);border-radius:7px}.calendar-import button,.calendar-source-note a{min-height:44px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;color:white;background:var(--blue);font-weight:800;text-decoration:none}.calendar-source-note{border-left-color:var(--green)}.calendar-source-note a{justify-self:end}.calendar-group-filter{margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px}.calendar-group-filter button{min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;color:var(--blue-deep);background:white;font-weight:800}.calendar-group-filter button.active{color:white;border-color:var(--blue);background:var(--blue)}.activity-control-note{margin-top:12px;padding:11px 12px;border:1px solid #f0b7aa;border-left:4px solid var(--red);border-radius:6px;background:#fff7f3}.activity-control-note span,.activity-control-note strong{display:block}.activity-control-note span{color:var(--red);font:800 9px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase}.activity-control-note strong{margin-top:3px;color:#702719;font:800 13px/1.4 var(--display)}.activity-control-note p{margin-top:4px;color:#754b43;font-size:11px;line-height:1.5}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.login-view{grid-template-columns:1fr}.login-identity{min-height:46dvh}.login-panel{min-height:54dvh}.builder-grid,.schedule-row{grid-template-columns:repeat(2,minmax(0,1fr))}.evaluation-draft-row{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-summary-strip{grid-template-columns:repeat(2,1fr)}.calendar-summary-strip span:nth-child(2){border-right:0}.calendar-summary-strip span:nth-child(-n+2){border-bottom:1px solid var(--line)}.danger-zone{grid-template-columns:1fr}}
@media(max-width:760px){.admin-shell{display:block}.admin-sidebar{width:min(300px,86vw);position:fixed;z-index:30;left:-310px;visibility:hidden;pointer-events:none;transition:left .2s ease,visibility 0s linear .2s}.admin-sidebar.open{left:0;visibility:visible;pointer-events:auto;transition:left .2s ease}#admin-menu{display:block}.admin-topbar{padding-inline:16px}.admin-panel{padding-inline:16px}.admin-workspace footer{padding-inline:16px}.metric-grid,.data-grid,.admin-form,.builder-grid,.schedule-row,.evaluation-draft-row{grid-template-columns:1fr}.admin-form h3,.admin-form .form-wide,.schedule-topic{grid-column:auto}.section-heading,.calendar-intro,.fieldset-heading,.schedule-group-title,.calendar-create-bar{align-items:start;flex-direction:column}.calendar-intro{padding:26px 20px}.calendar-status{align-self:flex-start}.calendar-builder fieldset{padding:18px 14px}.compact-row{grid-template-columns:1fr 90px;}.compact-row .remove-row{grid-column:1/-1;justify-self:start}.calendar-create-bar{position:static}.calendar-create-bar button{width:100%}.calendar-table-head{display:none}.calendar-table-row{display:block}.calendar-table-row>div{border-right:0;border-bottom:1px solid var(--line)}.calendar-table-row>div:last-child{border-bottom:0}.week-number{display:flex;align-items:center;gap:8px}.week-number small,.week-number b{display:inline}.calendar-day-events{grid-template-columns:1fr}.weekly-calendar-head{display:none}.week-calendar-row{grid-template-columns:66px minmax(0,1fr)}.week-label{padding:13px 9px}.week-label b{font-size:24px}.week-days-flow{display:block;overflow:visible}.week-day-pair{min-width:0;display:grid;grid-template-columns:82px minmax(0,1fr);border-right:0;border-bottom:1px solid var(--line)}.week-day-pair:last-child{border-bottom:0}.pause-week-content{align-items:start;flex-direction:column;gap:2px}.evaluation-list article,.danger-zone form{grid-template-columns:1fr}.evaluation-list article button,.danger-zone button{width:100%}.login-panel{padding:36px 20px}.login-identity{padding:28px 20px}.institution-link img{width:116px;height:52px}.institution-link span{padding-left:12px}.login-copy h1{font-size:48px}}
.course-command{min-height:190px;padding:clamp(26px,4vw,46px);display:flex;align-items:end;justify-content:space-between;gap:30px;color:white;background:var(--blue-deep);border-left:8px solid var(--yellow)}.course-command h2{margin:12px 0 4px;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.18em;row-gap:4px;font:800 clamp(52px,8vw,88px)/1 var(--display);letter-spacing:-.055em}.course-command h2 strong{font:inherit;letter-spacing:inherit}.course-command h2 span{flex:0 1 auto;font-size:clamp(20px,.35em,30px);line-height:1.25;letter-spacing:-.025em}.course-command p:not(.eyebrow){max-width:62ch;margin:14px 0 0;color:#c9d9e8;line-height:1.55}.course-command .eyebrow{color:var(--yellow)}.course-command-groups{padding-left:30px;border-left:1px solid rgba(255,255,255,.2)}.course-command-groups b,.course-command-groups span{display:block}.course-command-groups b{font:800 42px/1.1 var(--display)}.course-command-groups span{margin-top:5px;color:#c9d9e8;line-height:1.4}
.roster-import{margin-top:18px;border-top:5px solid var(--green)}.roster-import h3{margin:6px 0 3px}.roster-import p{margin:0;color:var(--muted)}.file-drop{padding:18px;border:1px dashed #9db1c4;border-radius:8px;background:#f6f9fb}.file-drop small{color:var(--muted);font-weight:500}.file-drop input{padding:8px;background:white}.student-create{margin-top:18px;padding:22px;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:28px;align-items:center;border:1px solid var(--line);background:white}.student-create h2{margin:5px 0;font:800 27px var(--display)}.student-create>div>p:last-child{margin:0;color:var(--muted)}.student-create .admin-form{padding:0;border:0}.student-create .admin-form button{background:var(--green)}
.smart-search{width:min(410px,100%);display:grid;gap:6px;color:var(--muted);font:600 11px var(--mono);text-transform:uppercase}.smart-search input{min-height:46px;padding:9px 13px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:white;font:500 14px var(--body);text-transform:none}.smart-search input:focus{outline:3px solid rgba(0,132,86,.18);border-color:var(--green)}.roster-details{border:1px solid var(--line);background:white}.roster-details>summary{padding:16px 18px;display:flex;justify-content:space-between;gap:18px;cursor:pointer;color:var(--blue-deep);font-weight:800}.roster-details>summary span{color:var(--muted);font-weight:500}.roster-details[open]>summary{border-bottom:1px solid var(--line)}.roster-details .table-wrap{border:0}.roster-table tbody tr:hover{background:#f8fafc}.roster-table td:first-child{min-width:260px}.rut-cell{font-family:var(--mono);white-space:nowrap}.row-actions{display:flex;flex-wrap:wrap;gap:7px;min-width:325px}.roster-group-change{display:inline-flex;width:172px;flex:0 0 172px}.roster-group-change .table-action,.roster-group-change select{width:100%;box-sizing:border-box}.roster-group-change select{min-height:34px;max-width:none;padding:5px 28px 5px 9px;border:1px solid var(--blue);border-radius:7px;background:white;color:var(--blue-deep);font-weight:700}.table-action.danger{color:var(--red)}.table-action.danger:hover{border-color:var(--red);background:#fff5f3}.search-empty{margin:0;padding:24px;color:var(--muted);text-align:center}
.group-builder{padding:clamp(24px,4vw,40px);display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:36px;color:white;background:var(--blue)}.group-builder h2{margin:7px 0 10px;font:800 clamp(34px,4vw,48px)/1 var(--display)}.group-builder-copy>p:last-child{color:#d4e1ed}.group-builder .eyebrow{color:var(--yellow)}.group-builder form{display:grid;grid-template-columns:180px 1fr;gap:13px;align-items:end}.group-builder form>label{display:grid;gap:6px;font-weight:700}.group-builder input{min-height:48px;padding:9px 12px;border:1px solid #96b3d0;border-radius:8px}.group-builder button{grid-column:1/-1;min-height:48px;border:0;border-radius:8px;color:var(--ink);background:var(--yellow);font-weight:800}.group-builder .form-message{grid-column:1/-1;margin:0;color:#ffd8d2}.group-current-summary>p{margin:0 0 9px;color:#dce8f3}.group-current-summary>div{display:flex;flex-wrap:wrap;gap:6px}.group-current-summary span{min-width:118px;padding:12px 14px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;color:var(--ink);background:white}.group-current-summary span>b{font:800 27px var(--display);color:var(--blue)}.group-current-summary span small{line-height:1.2}.group-current-summary>small{display:block;margin-top:12px;color:#dce8f3}
.group-builder-copy .group-export-button{margin-top:18px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;color:var(--blue-deep);background:white;border:1px solid rgba(255,255,255,.55)}.group-builder-copy .group-export-button:hover{background:var(--yellow)}
.group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.group-card{border:1px solid var(--line);background:white}.group-card header{padding:18px;display:flex;align-items:center;justify-content:space-between;background:#edf3f8;border-bottom:1px solid var(--line)}.group-card header div{display:flex;align-items:baseline;gap:9px}.group-card header span{color:var(--muted);font:700 10px var(--mono);text-transform:uppercase}.group-card header b{font:800 34px var(--display);color:var(--blue)}.group-card header p{margin:0;color:var(--muted);font-size:13px}.group-card ol{margin:0;padding:0;list-style:none;counter-reset:students}.group-card li{padding:13px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid var(--line);counter-increment:students}.group-card li:last-child{border-bottom:0}.group-card li>div:before{content:counter(students,decimal-leading-zero);margin-right:9px;color:#8aa0b4;font:600 10px var(--mono)}.group-card li>div b,.group-card li>div span{display:block}.group-card li>div b{font-size:13px}.group-card li>div span{margin:2px 0 0 25px;color:var(--muted);font:500 11px var(--mono)}.group-card li label{display:grid;gap:3px;color:var(--muted);font:600 9px var(--mono);text-transform:uppercase}.group-card select{max-width:130px;min-height:34px;padding:5px 7px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:white;font:600 12px var(--body);text-transform:none}
.student-dialog{width:min(520px,calc(100% - 32px));padding:0;border:0;border-radius:12px;color:var(--ink);box-shadow:0 24px 80px rgba(18,45,72,.35)}.student-dialog::backdrop{background:rgba(18,45,72,.62)}.student-dialog form{padding:28px;display:grid;gap:15px}.student-dialog h2{margin:5px 0 0;font:800 30px var(--display)}.student-dialog label{display:grid;gap:6px;font-weight:700}.student-dialog input{min-height:46px;padding:9px 11px;border:1px solid var(--line);border-radius:8px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px}.dialog-actions button{min-height:42px;padding:8px 14px;border:0;border-radius:8px;color:white;background:var(--blue);font-weight:700}.dialog-actions .secondary-action{color:var(--blue-deep);background:white;border:1px solid var(--line)}.legacy-tools{border:1px solid var(--line);background:white}.legacy-tools>summary{padding:16px 20px;cursor:pointer;color:var(--blue-deep);font-weight:700}.legacy-tools>.admin-form{border:0;border-top:1px solid var(--line)}
@media(max-width:1050px){.student-create,.group-builder{grid-template-columns:1fr}}
@media(max-width:760px){.course-command{align-items:start;flex-direction:column}.course-command h2{font-size:clamp(48px,18vw,72px)}.course-command h2 span{flex-basis:100%;font-size:20px;letter-spacing:0}.course-command-groups{padding:18px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.2)}.student-create{padding:18px}.group-builder form{grid-template-columns:1fr}.group-builder button{grid-column:auto}.group-card li{grid-template-columns:1fr}.group-card li label{margin-left:25px}.group-card select{max-width:none}.row-actions{min-width:145px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.official-registry{margin:18px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.official-record{min-height:150px;padding:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border:1px solid var(--line);background:white}.official-record.published{border-top:5px solid var(--green);box-shadow:inset 0 0 0 1px rgba(0,132,86,.04)}.official-record.draft{border-top:5px solid var(--yellow)}.official-record span{color:var(--green);font:700 10px var(--mono);letter-spacing:.07em;text-transform:uppercase}.official-record.draft span{color:#80610f}.official-record h3{margin:5px 0 4px;font:800 25px var(--display)}.official-record p{max-width:590px;margin:0;color:var(--muted);font-size:13px}.official-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.official-actions button{min-height:40px;padding:8px 12px;border:0;border-radius:7px;color:white;background:var(--green);font-weight:800;white-space:nowrap}.official-actions .secondary-action{color:var(--blue-deep);background:white;border:1px solid var(--line)}
.official-dialog{width:min(650px,calc(100% - 28px));padding:0;border:0;border-radius:12px;color:var(--ink);box-shadow:0 28px 90px rgba(18,45,72,.38)}.official-dialog::backdrop{background:rgba(15,39,64,.72)}.official-dialog form,.official-dialog>section{padding:30px;display:grid;gap:15px;border-top:7px solid var(--yellow)}.official-dialog h2{margin:0;font:800 34px var(--display)}.official-dialog p{margin:0;color:var(--muted)}.official-dialog label{display:grid;gap:6px;font-weight:700}.official-dialog input,.official-dialog textarea{width:100%;min-height:46px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.official-dialog textarea{min-height:96px;resize:vertical}.official-dialog small{padding:10px;color:var(--blue-deep);background:#edf3f8;font:700 12px var(--mono)}.official-history-list{display:grid;gap:9px}.official-history-list article{padding:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);background:#f8fafc}.official-history-list span,.official-history-list b,.official-history-list small{display:block}.official-history-list span{color:var(--green);font:700 10px var(--mono);text-transform:uppercase}.official-history-list p{margin:4px 0}.official-history-list a{display:inline-flex;align-items:center;text-decoration:none}.permission-matrix table th:first-child{min-width:190px;text-align:left;color:var(--blue-deep)}.permission-note{margin:0;padding:11px 13px;color:var(--blue-deep);background:#edf3f8}.account-permissions{display:grid;grid-template-columns:minmax(210px,.45fr) minmax(0,1.55fr);gap:24px;align-items:start}.account-permissions>div h2{margin:5px 0;font:800 25px var(--display)}.account-permissions>div p:last-child{color:var(--muted)}.account-permissions .admin-form{padding:0;border:0}
.accounts-table{min-width:1120px}.accounts-table th,.accounts-table td{overflow-wrap:normal}.accounts-table td{vertical-align:top;line-height:1.45}.accounts-table td:nth-child(2){min-width:210px}.accounts-table td:nth-child(3){white-space:nowrap}.accounts-table td:nth-child(4),.accounts-table td:nth-child(5){min-width:170px}.account-actions{min-width:210px;display:flex;flex-wrap:wrap;align-items:center;gap:7px}.account-actions .table-action{white-space:nowrap}.protected-account{display:inline-block;padding:7px 9px;color:var(--blue-deep);background:#edf3f8;border-radius:6px;font-size:12px;font-weight:700}.account-dialog select{min-height:46px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#f8fafc}.account-dialog-context{margin:0;color:var(--muted);font-weight:700}
@media(max-width:760px){.official-record,.official-history-list article{align-items:flex-start;flex-direction:column}.official-actions{justify-content:flex-start}.account-permissions,.calendar-import,.calendar-source-note{grid-template-columns:1fr}.calendar-source-note a{justify-self:stretch}.official-dialog form,.official-dialog>section{padding:22px 18px}.official-dialog h2{font-size:28px}}
.official-dialog select{width:100%;min-height:46px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#f8fafc}
.calendar-version-workspace{margin:18px 0 24px;padding:clamp(22px,3vw,32px);border:1px solid #b9cadd;border-top:6px solid var(--blue);background:white}.calendar-version-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.calendar-version-heading h2{margin:5px 0 0;font:800 clamp(25px,3vw,35px) var(--display);letter-spacing:-.03em}.calendar-version-heading>p{max-width:590px;margin:0;color:var(--muted)}.calendar-version-grid{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calendar-version-card{padding:19px;border:1px solid var(--line);background:#f8fafc}.calendar-version-card.official{border-left:5px solid var(--green)}.calendar-version-card.pending{border-left:5px solid var(--yellow);background:#fffbef}.calendar-version-card.synchronized{border-left:5px solid var(--blue)}.calendar-version-card>span{color:var(--muted);font:700 10px var(--mono);letter-spacing:.06em;text-transform:uppercase}.calendar-version-card h3{margin:6px 0 4px;font:800 23px var(--display)}.calendar-version-card p{margin:0 0 8px;color:var(--muted)}.calendar-version-card>b{color:var(--green)}.calendar-draft-counts{display:flex;flex-wrap:wrap;gap:7px}.calendar-draft-counts b{padding:5px 8px;color:var(--blue-deep);background:white;border:1px solid var(--line);font-size:11px}.calendar-version-actions{margin-top:16px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.calendar-version-actions button{min-height:42px;padding:8px 13px;border:0;border-radius:8px;color:white;background:var(--green);font-weight:800}.calendar-version-actions .secondary-action{color:var(--blue-deep);background:white;border:1px solid var(--line)}.calendar-version-actions .danger-outline{color:var(--red);border-color:#eab5aa}.calendar-draft-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.calendar-draft-summary span{padding:12px;color:var(--muted);background:#f4f7fa;border:1px solid var(--line);text-align:center}.calendar-draft-summary b{display:block;color:var(--ink);font:800 24px var(--display)}.calendar-draft-list{max-height:340px;overflow:auto;display:grid;gap:7px}.calendar-draft-list article{padding:12px;display:flex;align-items:center;gap:11px;border:1px solid var(--line);background:#f8fafc}.calendar-draft-list article div{display:grid}.calendar-draft-list article small{padding:0;color:var(--muted);background:transparent;font:600 10px var(--mono);text-transform:uppercase}.draft-action{min-width:78px;padding:5px 7px;color:var(--blue-deep);background:#e7eef7;font:700 9px var(--mono);text-align:center;text-transform:uppercase}.draft-action.added{color:#066141;background:#e4f4ee}.draft-action.removed{color:#8b3026;background:#fff0ed}
@media(max-width:760px){.calendar-version-heading{align-items:start;flex-direction:column}.calendar-version-grid{grid-template-columns:1fr}.calendar-version-actions{justify-content:stretch}.calendar-version-actions button{width:100%}.calendar-draft-summary{grid-template-columns:1fr 1fr 1fr}}
.calendar-heading-actions{max-width:520px;display:flex;align-items:flex-end;justify-content:flex-end;gap:14px}.calendar-heading-actions p{margin:0;color:var(--muted)}.calendar-heading-actions button{min-height:44px;padding:9px 15px;flex:0 0 auto;border:0;border-radius:8px;color:white;background:var(--green);font-weight:800}.calendar-activity-dialog{width:min(780px,calc(100% - 28px))}.calendar-activity-dialog form{border-top:7px solid var(--green)}.calendar-activity-dialog form>div:first-child>p:last-child{margin:7px 0 0;color:var(--muted)}.activity-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.activity-form-grid label,.activity-control-fields label{display:grid;gap:6px;font-weight:700}.calendar-activity-dialog input,.calendar-activity-dialog select{width:100%;min-height:46px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#f8fafc}.activity-group-picker,.activity-control-fields{margin:0;padding:16px;border:1px solid var(--line);background:#f7f9fb}.activity-group-picker legend,.activity-control-fields legend{padding:0 7px;color:var(--blue-deep);font:800 14px var(--display)}.activity-group-picker{display:flex;flex-wrap:wrap;gap:8px}.activity-group-picker label{padding:7px 10px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:white;font-size:13px;font-weight:700}.activity-group-picker input,.activity-control-toggle input{width:17px;min-height:17px;margin:0;accent-color:var(--green)}.activity-control-toggle{padding:13px 15px;display:flex;align-items:center;gap:9px;color:var(--blue-deep);background:#edf5f1;font-weight:800}.activity-control-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.week-activity-block.draft-changed{box-shadow:inset 0 0 0 2px rgba(247,206,101,.72)}.draft-change-marker{margin:8px 0 0;padding:4px 7px;display:inline-block;color:#6b520e;background:#fff1bd;font:800 9px var(--mono);letter-spacing:.03em;text-transform:uppercase}.manual-event-edit-form{padding:12px;background:#f5f8fb}.manual-event-edit-form .activity-group-picker{padding:10px}.manual-event-edit-form>div:last-child{flex-wrap:wrap}.manual-event-edit-form .danger-outline{color:var(--red);border-color:#eab5aa;background:white}
@media(max-width:760px){.calendar-heading-actions{max-width:none;width:100%;align-items:stretch;flex-direction:column}.calendar-heading-actions button{width:100%}.activity-form-grid,.activity-control-fields{grid-template-columns:1fr}.calendar-activity-dialog form{padding:22px 17px}.activity-group-picker{align-items:stretch;flex-direction:column}.activity-group-picker label{border-radius:7px}}
.identity-preview-banner{position:sticky;top:0;z-index:24;min-height:66px;padding:11px clamp(18px,4vw,54px);display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(240px,1.2fr) auto;align-items:center;gap:14px;color:white;background:#172c43;border-bottom:5px solid var(--yellow);box-shadow:0 8px 24px rgba(18,45,72,.18)}.identity-preview-banner>span{padding:5px 8px;color:var(--ink);background:var(--yellow);font:800 9px var(--mono);letter-spacing:.05em;text-transform:uppercase}.identity-preview-banner>b{font:800 16px var(--display)}.identity-preview-banner>small{color:#cbd9e6}.identity-preview-banner>button{min-height:40px;padding:8px 13px;border:1px solid rgba(255,255,255,.34);border-radius:7px;color:white;background:transparent;font-weight:800}.identity-preview-banner>button:hover{color:var(--ink);background:white}.profile-preview-active .admin-sidebar{box-shadow:inset -5px 0 var(--yellow)}.preview-command{padding:clamp(28px,4vw,48px);display:flex;align-items:end;justify-content:space-between;gap:28px;color:white;background:linear-gradient(125deg,#123e70,#1f5592);border-left:8px solid var(--yellow)}.preview-command h2{margin:7px 0 10px;font:800 clamp(36px,5vw,58px)/1 var(--display);letter-spacing:-.045em}.preview-command>div>p:last-child{max-width:700px;margin:0;color:#d6e3ef}.preview-command .eyebrow{color:var(--yellow)}.preview-command>span{padding-left:28px;border-left:1px solid rgba(255,255,255,.25);color:#c8d9e8;font:600 11px var(--mono);text-transform:uppercase}.preview-command>span b{display:block;color:white;font:800 20px var(--display);text-transform:none}.preview-profile-grid{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.preview-profile-grid article{padding:22px;display:grid;grid-template-columns:60px 1fr;align-items:start;gap:5px 16px;border:1px solid var(--line);background:white}.preview-profile-code{grid-row:1/5;width:54px;height:54px;display:grid;place-items:center;color:white;background:var(--blue);font:800 11px var(--mono)}.preview-profile-grid h3{margin:0;font:800 23px var(--display)}.preview-profile-grid p{margin:2px 0 11px;color:var(--muted)}.preview-profile-grid label{display:grid;gap:5px;font-weight:700}.preview-profile-grid select{min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#f8fafc}.preview-profile-grid button{margin-top:8px;min-height:43px;border:0;border-radius:7px;color:white;background:var(--green);font-weight:800}.preview-profile-grid small{color:var(--muted)}.student-preview-shell{overflow:hidden;border:1px solid #b8c9da;background:#f3f6f9;box-shadow:0 18px 50px rgba(18,45,72,.12)}.student-preview-header{padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px;color:white;background:var(--blue-deep)}.student-preview-header div span,.student-preview-header div small{display:block}.student-preview-header div span{font:800 25px var(--display)}.student-preview-header div small{color:#c6d7e7}.student-preview-header nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.student-preview-header nav span{font-size:12px;font-weight:700}.student-preview-hero{padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:18px;color:white;background:var(--blue)}.student-preview-hero>div p{margin:0;color:var(--yellow);font:700 10px var(--mono);text-transform:uppercase}.student-preview-hero>div h2{margin:8px 0 5px;font:800 clamp(48px,7vw,76px)/1 var(--display)}.student-preview-hero>div span{color:#d8e5f0}.student-preview-hero article{padding:20px;color:var(--ink);background:white;border-left:6px solid var(--yellow)}.student-preview-hero article small,.student-preview-hero article span{display:block}.student-preview-hero article small{color:var(--green);font:800 9px var(--mono);text-transform:uppercase}.student-preview-hero article span{margin-top:8px;color:var(--muted);font-size:12px}.student-preview-hero article h3{margin:3px 0;font:800 24px var(--display)}.student-preview-hero article p{margin:0;color:var(--muted)}.student-preview-columns{padding:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.student-preview-columns>section,.student-preview-calendar{padding:20px;border:1px solid var(--line);background:white}.student-preview-columns h3,.student-preview-calendar h3{margin:5px 0 14px;font:800 24px var(--display)}.student-preview-assignments{display:grid;gap:8px}.student-preview-assignments article{padding:12px;display:grid;border-left:4px solid var(--green);background:#f5f8fb}.student-preview-assignments span,.student-preview-assignments small{color:var(--muted)}.student-preview-members{margin:0;padding-left:23px}.student-preview-members li{padding:5px 0;border-bottom:1px solid var(--line)}.student-preview-calendar{margin:0 22px 22px}.student-preview-calendar>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:18px}.student-preview-calendar>div:first-child span{color:var(--green);font-weight:800}.student-preview-day{margin-top:12px;display:grid;grid-template-columns:170px minmax(0,1fr);border:1px solid var(--line)}.student-preview-day>header{padding:14px;background:#edf3f8;text-transform:capitalize}.student-preview-day>article{padding:13px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.student-preview-day>article:last-child{border-bottom:0}.student-preview-day article>span{color:var(--blue);font:700 9px var(--mono);text-transform:uppercase}.student-preview-day h4{margin:4px 0;font:800 17px var(--display)}.student-preview-day p,.student-preview-day small{margin:0;color:var(--muted)}.student-preview-shell>footer{padding:16px 22px;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}.student-profile-preview .admin-sidebar nav{display:none}.student-profile-preview .admin-topbar #admin-menu{display:none}
@media(max-width:860px){.identity-preview-banner{position:relative;grid-template-columns:1fr}.preview-profile-grid{grid-template-columns:1fr}.student-preview-header,.preview-command{align-items:flex-start;flex-direction:column}.student-preview-header nav{justify-content:flex-start}.student-preview-hero,.student-preview-columns{grid-template-columns:1fr}.student-preview-calendar>div:first-child{align-items:flex-start;flex-direction:column}.student-preview-day{grid-template-columns:1fr}.student-preview-day>article{border-left:0;border-top:1px solid var(--line)}}
.preview-native-form{display:grid}
.preview-profile-link{margin-top:8px;min-height:43px;padding:10px 14px;display:grid;place-items:center;border-radius:7px;color:white;background:var(--green);font-weight:800;text-align:center;text-decoration:none}
.preview-profile-link:hover{background:#006f49}
.profile-preview-active .admin-panel :disabled{cursor:not-allowed;opacity:.62}.profile-preview-active .admin-panel form{position:relative}.profile-preview-active .admin-panel form:after{content:"Visible en este perfil · acción deshabilitada durante la vista previa";grid-column:1/-1;padding:7px 9px;color:#536a7f;background:#edf3f8;border:1px solid var(--line);font:700 9px/1.5 var(--mono);text-transform:uppercase}
/* Revisión maestra de intercambios — Creado por David Vásquez Velásquez. */
.exchange-admin-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.75fr);gap:1.5rem;padding:1.25rem;margin-top:1rem;border:1px solid rgba(31,85,146,.22);border-radius:1rem;background:rgba(31,85,146,.04)}
.exchange-admin-card>div>span{color:var(--green);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.exchange-admin-card form{display:grid;gap:.7rem}.exchange-admin-card label{display:grid;gap:.35rem}.exchange-admin-card textarea{min-height:5rem}
.exchange-availability{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);font:700 11px var(--mono);text-transform:uppercase;letter-spacing:.04em}.exchange-availability::before{content:"";width:7px;height:7px;border-radius:50%;background:#a7b2bd}.exchange-availability.is-active{color:#096642;border-color:#b8dfd0;background:#eff9f5}.exchange-availability.is-active::before{background:var(--green)}
.exchange-settings-form{padding:18px 20px;display:block;border-left:4px solid var(--blue);background:#fff}.exchange-settings-controls{display:grid;grid-template-columns:minmax(210px,.75fr) minmax(260px,1fr) auto;align-items:end;gap:18px}.exchange-switch{min-height:46px;display:flex!important;align-items:center;gap:11px!important;cursor:pointer}.exchange-switch input{position:absolute;width:1px!important;height:1px;min-height:0!important;opacity:0}.exchange-switch>span{position:relative;width:40px;height:22px;flex:0 0 40px;border-radius:999px;background:#aeb8c2;transition:background .16s ease}.exchange-switch>span::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:white;box-shadow:0 1px 3px rgba(15,39,64,.3);transition:transform .16s ease}.exchange-switch input:checked+span{background:var(--green)}.exchange-switch input:checked+span::after{transform:translateX(18px)}.exchange-switch input:focus-visible+span{outline:3px solid rgba(0,132,86,.2);outline-offset:2px}.exchange-deadline span{font-size:12px}.exchange-settings-controls button{min-width:150px;padding-inline:18px}.exchange-rule{margin:13px 0 0;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.exchange-settings-form .form-message{min-height:0;margin:8px 0 0;color:var(--red);font-size:13px}.exchange-settings-form .form-message:empty{display:none}
@media(max-width:760px){.exchange-admin-card{grid-template-columns:1fr}.exchange-settings-controls{grid-template-columns:1fr}.exchange-settings-controls button{width:100%}.exchange-settings-form{padding:16px}.exchange-availability{align-self:flex-start}}
