/* v13: responsive login, selected sections and consistent Anatomy forms. */
:root{--logbook-ribbon-offset:86px}
#loginScreen{min-height:100vh;min-height:100svh;padding:24px 16px;background:radial-gradient(ellipse at 25% 10%,#edf2f7 0%,#dce6f0 55%,#c9d6e5 100%)}
#loginScreen .login-card{width:100%;max-width:420px;padding:28px 24px;background:#f7f3eb;border:1px solid #bfc8d1;border-top:5px solid #15263f;border-radius:18px;box-shadow:0 16px 38px #15263f26;margin:auto;color:#111}
#loginScreen .login-logo{width:84px;height:84px;object-fit:contain;margin:0 auto 16px}
#loginScreen h1{font-family:var(--sans);font-size:clamp(21px,5.5vw,26px);line-height:1.25;color:#15263f;margin:0 0 12px;font-weight:750}
#loginScreen .login-card>p{font-size:15px;line-height:1.5;margin:0 0 20px;color:#111!important}
#loginScreen .login-card>p:empty{display:none}
#loginScreen .login-form{gap:16px;margin:0;text-align:left}
#loginScreen .login-form label{font-size:14px;font-weight:500;color:#111!important;margin:0;min-width:0}
#loginScreen .login-options{gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#loginScreen input,#loginScreen select{width:100%;min-width:0;min-height:46px;box-sizing:border-box;margin:6px 0 0;font-family:var(--sans);font-size:16px;background:#fffcf6;color:#111;border:1px solid #bcc2c8;border-radius:8px;padding:10px 11px}
#loginScreen .password-control{display:block;width:100%;position:relative;margin-top:6px}
#loginScreen .password-control input{margin:0;padding-right:48px}
#loginScreen .password-control button{position:absolute;right:1px;top:1px;bottom:1px;width:44px;height:auto;padding:0;color:#15263f;background:transparent;border:0;border-radius:7px}
#loginScreen .eye-slash{display:none}
#loginScreen [aria-pressed="true"] .eye-slash{display:block}
#loginScreen .login-form>.btn{min-height:46px;border-radius:9px;background:#15263f;border-color:#15263f;color:white;font-size:16px;margin:2px 0 0}
#loginScreen .login-form>.btn:hover{background:#253f60}
#loginScreen .login-card>.hint-line{font-size:12px;line-height:1.5;margin:18px 0 0;color:#545d69!important}
#loginScreen #loginError:not(:empty),#loginScreen #setupNotice:not(:empty){margin:14px 0;padding:10px;font-size:13px;border-radius:8px;background:#f7e5e5;color:#8c1d24!important}
body[data-department="microbiology"] section.page[hidden]{display:none}
section.page,.an-page{scroll-margin-top:var(--logbook-ribbon-offset)!important}
#statusMsg{overflow-wrap:anywhere}
#anatomyRoot{max-width:1100px;margin:0 auto;padding:0 24px;container-type:inline-size}
.an-page{padding:26px 0 10px}
.an-page .sec-title{font-family:var(--serif);font-size:28px;margin:0 0 8px;line-height:1.25}
.an-page .sec-eyebrow{margin:0 0 6px;font-size:13px}
.an-page>p{line-height:1.55;overflow-wrap:anywhere}
.an-group,.an-record,.an-form,.an-form-layout,.an-review,.an-hod,.an-personal-main{min-width:0}
.an-record{margin:14px 0;padding:16px}
.an-record h4{overflow-wrap:anywhere;line-height:1.4}
.an-grid.an-form-layout{display:block}
.an-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;margin:0 0 16px}
.an-field-row.an-row-single{grid-template-columns:minmax(0,1fr)}
.an-field-row.an-row-calendar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr)}
.an-field-row>label{display:flex;flex-direction:column;gap:7px;margin:0;min-width:0;font-size:14px}
.an-field-label{display:block;flex:1;min-height:1.5em;line-height:1.4;overflow-wrap:anywhere}
.an-form-layout input,.an-form-layout select,.an-form-layout textarea{width:100%;min-width:0;box-sizing:border-box;margin:0;min-height:46px;font-size:15px}
.an-form-layout textarea{min-height:105px}
.an-field-row.an-row-rubric{grid-template-columns:minmax(0,1fr)}
.an-row-rubric>label{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,170px);align-items:center;gap:14px}
.an-row-rubric .an-field-label{min-height:0}
.an-field-heading{font-family:var(--sans)!important;font-size:16px!important;margin:20px 0 12px!important;border-top:1px solid var(--line);padding-top:12px}
.an-faculty-field{border-left:3px solid var(--brass-2);padding-left:10px}
.an-solid{grid-template-columns:minmax(150px,1fr) minmax(0,2.3fr);align-items:start;gap:9px 18px;line-height:1.5}
.an-solid dt,.an-solid dd{overflow-wrap:anywhere;min-width:0}
.an-solid .an-not-filled{font-weight:400;color:#555}
.an-empty-fields{display:none}
.an-review{gap:10px;align-items:flex-start}
.an-review label{margin:0;min-width:0}
.an-review textarea{min-width:0;margin:0;box-sizing:border-box}
.an-receipt{width:100%;white-space:normal;overflow-wrap:anywhere}
.an-page .btn,.an-page .entry-actions .btn{min-height:44px;font-size:14px;padding:10px 13px;max-width:100%;white-space:normal}
.an-page .entry-actions{gap:10px;margin:18px 0 8px}
.an-page>.btn{margin-top:18px}
.an-hod{width:100%;max-width:720px;margin:24px auto 12px;padding:18px 12px;box-sizing:border-box}
.an-hod h3{font-family:var(--sans);font-size:20px;font-weight:750;line-height:1.35}
.an-hod .btn{font-size:17px;padding:12px 18px}
.an-period{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;margin:14px auto}
.an-period label{display:grid;grid-template-rows:1fr auto;gap:7px;margin:0;min-width:0;font-size:14px}
.an-period input{min-width:0;min-height:46px;box-sizing:border-box;margin:0}
.an-paired{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;margin-top:18px}
.an-paired .an-hod,.an-paired .an-review{margin:0;min-width:0}
.an-paired .an-hod{max-width:none}
.an-personal-overview{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:22px;align-items:start}
.an-photo{float:none;display:flex;flex-direction:column;align-items:center;gap:9px;max-width:none;width:100%;margin:0;text-align:center}
.an-photo .passport-photo{display:grid;place-items:center;width:35mm;height:45mm;object-fit:cover;border:1px solid var(--line);border-radius:2px;background:var(--soft);margin:0;font-size:12px;padding:0}
.an-photo .empty-portrait{padding:12px}
.an-photo label{width:100%;margin:4px 0;text-align:left;font-size:12px}
.an-photo input[type=file]{width:100%;max-width:100%;font-size:11px;box-sizing:border-box}
.an-evidence{width:100%;min-width:0;gap:10px}
.an-evidence img{width:auto;max-width:min(100%,300px);height:auto;max-height:240px;margin:0}
.an-evidence label,.an-evidence input[type=file]{min-width:0;max-width:100%;box-sizing:border-box}
.an-evidence label{width:100%;margin:0}
.an-evidence input[type=file]{display:block;width:100%;margin:6px 0}
.an-peer label{min-width:0}
.an-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));line-height:1.5}
.an-summary-grid p{margin:5px 0;overflow-wrap:anywhere}
.an-table-scroll{width:100%;max-height:460px;overflow:auto;overscroll-behavior:contain}
.an-table-scroll table{min-width:680px;table-layout:fixed;margin:0}
.an-table-scroll td,.an-table-scroll th{overflow-wrap:anywhere;line-height:1.5;white-space:normal}
.an-table-scroll td:first-child,.an-table-scroll th:first-child{width:clamp(135px,24cqw,280px);min-width:135px;max-width:280px}
.an-page details.card p{line-height:1.6;overflow-wrap:anywhere}
.an-page details.card summary{line-height:1.5;overflow-wrap:anywhere}
.an-page a{max-width:100%;overflow-wrap:anywhere}
.micro-personal-grid .field{min-width:0}
.micro-personal-grid input,.micro-personal-grid select{min-height:44px}
@container(max-width:680px){.an-personal-overview{grid-template-columns:minmax(0,1fr)}.an-personal-overview>.an-photo{grid-row:1;justify-self:end;width:190px}.an-row-calendar{grid-template-columns:repeat(2,minmax(0,1fr))!important}.an-row-calendar>label:last-child{grid-column:1/-1}.an-paired{grid-template-columns:minmax(0,1fr)}}
@container(max-width:420px){.an-field-row:not(.an-row-calendar){grid-template-columns:minmax(0,1fr)}.an-row-rubric>label{grid-template-columns:minmax(0,1fr)}.an-solid{grid-template-columns:minmax(0,1fr);gap:4px}.an-solid dd{margin:0 0 10px}.an-period{grid-template-columns:minmax(0,1fr)}.an-summary-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:880px){#anatomyRoot{padding:0 18px}.an-personal-overview{grid-template-columns:minmax(0,1fr)}.an-personal-overview>.an-photo{grid-row:1;justify-self:end;width:190px}.an-paired{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){#anatomyRoot{padding:0}.an-group{padding:16px}.an-record{padding:12px}.an-page .sec-title{font-size:25px}.an-field-row{grid-template-columns:minmax(0,1fr)}.an-field-row.an-row-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.an-row-calendar>label:last-child{grid-column:1/-1}.an-row-rubric>label{grid-template-columns:minmax(0,1fr)}.an-period{grid-template-columns:minmax(0,1fr)}.an-solid{grid-template-columns:minmax(0,1fr)}.an-personal-overview>.an-photo{justify-self:center}.an-table-scroll{max-height:55vh}}
@media(max-width:360px){#loginScreen .login-card{padding:24px 18px}#loginScreen h1{font-size:21px}#loginScreen .login-options{gap:10px}}
@media print{body[data-department="microbiology"] section.page[hidden]{display:block!important}#anatomyRoot{max-width:none;padding:0;container-type:normal}.an-page{padding:0}.an-page .sec-title{font-size:20px}.an-page .sec-eyebrow{font-size:11px}.an-empty-fields{display:grid}.an-personal-overview{grid-template-columns:minmax(0,1fr) 38mm;gap:12px}.an-personal-overview>.an-photo{grid-row:auto;width:auto}.an-photo{float:none}.an-photo .passport-photo{width:35mm;height:45mm}.an-photo .btn,.an-photo label{display:none!important}.an-hod::before{content:none!important}.an-solid{grid-template-columns:minmax(110px,1fr) minmax(0,2.3fr);font-size:10px}.an-table-scroll{max-height:none;overflow:visible}.an-table-scroll table{min-width:0;table-layout:auto}.an-table-scroll td:first-child,.an-table-scroll th:first-child{min-width:0;max-width:none;width:auto}.an-page>.btn{display:none!important}.an-summary-grid{grid-template-columns:1fr 1fr}}
