:root{--navy:#520a12;--wine:#78131e;--wine-deep:#4a080e;--wine-active:#921b28;--gold:#b58a38;--gold-soft:#f4ead5;--mint:#b58a38;--bg:#f7f5f3;--surface:#fff;--text:#29262a;--muted:#68737d;--line:#e2ddda;--shadow:0 2px 8px #3d17200a;--font-sans:"Segoe UI Variable Text","Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;--font-display:"Segoe UI Variable Display","Segoe UI Variable Text","Segoe UI",Inter,Arial,sans-serif}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em}
aside{position:fixed;inset:0 auto 0 0;width:244px;background:var(--navy);color:#fff;padding:30px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;color:white;text-decoration:none;padding:0 12px 30px}.brand>span,.seal{display:grid;place-items:center;background:var(--mint);color:var(--navy);font:800 24px Manrope;border-radius:12px;width:45px;height:45px}.brand div{display:flex;flex-direction:column}.brand b{font:800 21px Manrope}.brand small,.profile small{color:#9db0bb}nav{display:grid;gap:5px}nav a{display:flex;gap:14px;align-items:center;color:#abc0ca;text-decoration:none;padding:12px 14px;border-radius:9px;font-weight:600}nav a i{font-style:normal;font-size:20px;width:22px;text-align:center}nav a:hover,nav a.active{background:#173f52;color:#fff}nav a.active{box-shadow:inset 3px 0 var(--mint)}.profile{margin-top:auto;border-top:1px solid #234b5d;padding:22px 5px 0;display:flex;align-items:center;gap:9px}.profile>div:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column}.profile b{font-size:12px}.profile button{background:none;border:0;color:#9db0bb;font-size:20px;cursor:pointer}
.avatar,.person>span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#d8f6ed;color:#087456;font-weight:800}main{margin-left:244px;padding:30px 38px 60px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}header h1{font-size:26px;margin-bottom:4px}header p,.panel-head p{color:var(--muted);margin:0}.date,.search,.filter{background:white;border:1px solid var(--line);padding:10px 15px;border-radius:8px;color:var(--muted)}
.hero{background:linear-gradient(115deg,#102f41,#17495c);border-radius:14px;padding:28px 32px;color:white;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}.hero h2{font-size:25px;margin:7px 0}.hero p{color:#bad0d8;margin:0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--mint)}.primary,.secondary{display:inline-block;border:0;border-radius:8px;padding:11px 17px;text-decoration:none;background:var(--mint);color:#062d27;font-weight:800;cursor:pointer}.secondary{background:#eef2f4;color:var(--text)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stats article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;align-items:center;gap:15px}.stats article div:last-child{display:flex;flex-direction:column}.stats small{color:var(--muted);font-weight:600}.stats strong{font:800 28px Manrope}.stat-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:10px;font-size:20px}.green{background:#dff8f0;color:#07815f}.blue{background:#e1efff;color:#2773bd}.amber{background:#fff1d8;color:#b56a00}.red{background:#ffe5e5;color:#c84444}
.panel{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.panel-head h3{margin:0 0 3px}.panel-head a{color:#11866a;text-decoration:none;font-weight:700}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;background:#f8fafb;color:#7d8c96;font-size:11px;text-transform:uppercase}th,td{padding:14px 20px;border-top:1px solid #edf1f3}td{white-space:nowrap}.block,.person small{display:block;color:var(--muted);margin-top:3px}.badge{display:inline-block;padding:5px 9px;border-radius:20px;background:#edf1f3;font-size:11px;font-weight:800;text-transform:capitalize}.badge.disponivel,.badge.aprovada,.badge.devolvido,.badge.ativo{background:#daf7ed;color:#087558}.badge.pendente,.badge.aguardando_retirada,.badge.reservado{background:#fff1d8;color:#a55e00}.badge.rejeitada,.badge.encerrado_com_pendencia{background:#ffe3e3;color:#b83d3d}.badge.emprestado,.badge.convertida{background:#dfecff;color:#2468a8}.empty{text-align:center;color:var(--muted);padding:34px}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.search input{border:0;outline:0;background:none;min-width:260px}.modal>summary{list-style:none}.modal-bg{position:fixed;inset:0;background:#071d2caa;z-index:30;display:grid;place-items:center;padding:20px}.modal-card{width:min(620px,100%);max-height:90vh;overflow:auto;background:white;border-radius:14px;padding:25px}.modal-title{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:20px}.modal-title h3{margin-bottom:4px}.modal-title p{color:var(--muted)}.modal-title span{font-size:28px;cursor:pointer}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;font-weight:700;font-size:12px;margin-bottom:14px}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #ccd8dd;border-radius:7px;padding:11px;font:inherit;background:#fff}textarea{min-height:80px}.form-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:18px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.item-card{display:flex;align-items:center;gap:15px;background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.item-card>div:nth-child(2){flex:1}.item-card h3{margin:0 0 4px}.item-card p{margin:0;color:var(--muted)}.category-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#def7ef;color:#08785c;font-size:20px}.person{display:flex;align-items:center;gap:10px}.actions{display:flex;gap:5px}.mini{border:0;border-radius:6px;padding:7px 10px;font-weight:700;cursor:pointer;background:#e5f4ef;color:#08745a}.reject{background:#ffe8e8;color:#aa3333}.inline-detail summary{list-style:none}.inline-detail form{display:flex;gap:5px;margin-top:8px}.inline-detail select,.inline-detail input{margin:0;padding:7px;width:120px}.flash{padding:12px 16px;border-radius:8px;margin-bottom:16px}.success{background:#dff8ef;color:#08745a}.error{background:#ffe7e7;color:#a62f2f}
.danger{border:0;border-radius:8px;padding:11px 15px;background:#ffe5e5;color:#a83232;font-weight:800;cursor:pointer}.item-link{color:inherit;text-decoration:none}.item-link:hover{color:#087b60}.detail-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:18px}.detail-grid.lower{margin-top:18px;grid-template-columns:1.2fr .8fr}.detail-form{padding:0 24px 24px}.simple-list{display:grid}.simple-list>a,.simple-list>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;padding:15px 20px;border-top:1px solid var(--line);color:inherit;text-decoration:none}.simple-list small{width:100%;color:var(--muted)}.timeline{padding:0 24px 24px}.timeline article{position:relative;display:flex;gap:15px;padding:0 0 22px 20px;border-left:2px solid #dce8e5}.timeline article i{position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--mint)}.timeline article p{margin:4px 0;color:var(--muted)}.timeline article small{color:#8a989f}
.conversation-grid{display:grid;gap:10px}.conversation-card{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:15px;background:white;border:1px solid var(--line);border-radius:12px;padding:18px 20px;color:inherit;text-decoration:none;box-shadow:var(--shadow)}.conversation-card:hover{border-color:#83d8bf;transform:translateY(-1px)}.conversation-card h3{margin:0 0 5px}.conversation-card p{margin:0 0 7px;color:var(--muted)}.conversation-card small{color:#8a989f}.chat-symbol{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#dff8ef;color:#08745a;font-size:24px}.live-dot{color:#4c786a;font-weight:700}.live-dot i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#24c58f;box-shadow:0 0 0 4px #24c58f22}.chat-panel{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.messages{height:55vh;min-height:380px;overflow-y:auto;padding:25px;background:linear-gradient(#f8fbfb,#f4f7f8)}.message{display:flex;margin-bottom:13px}.message>div{max-width:min(680px,78%);background:white;border:1px solid var(--line);border-radius:4px 14px 14px 14px;padding:11px 14px;box-shadow:0 4px 12px #183b4b0b}.message.mine{justify-content:flex-end}.message.mine>div{background:#dff8ef;border-color:#bcebdc;border-radius:14px 4px 14px 14px}.message b{font-size:11px;color:#178064}.message p{margin:5px 0;white-space:normal}.message small{color:#829097;font-size:10px}.message-form{display:flex;gap:10px;padding:15px;border-top:1px solid var(--line)}.message-form textarea{margin:0;min-height:48px;max-height:120px}.message-form button{align-self:flex-end;height:48px}.chat-notice{display:block;padding:0 16px 13px;color:var(--muted)}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:white}.login-art{background:linear-gradient(140deg,#082434,#12465a);color:white;padding:60px 9vw;display:flex;justify-content:center;flex-direction:column}.login-art .seal{position:absolute;top:45px;left:55px}.login-art h1{font-size:48px;line-height:1.08;max-width:580px;margin-bottom:20px}.login-art>p{color:#b3c8d1;font-size:17px;max-width:490px}.art-card{display:flex;align-items:center;gap:13px;border:1px solid #ffffff25;background:#ffffff0d;padding:17px;border-radius:12px;margin-top:35px;width:max-content}.art-card>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:#083427}.art-card div,.demo{display:flex;flex-direction:column}.art-card small{color:#a9c0ca}.login-form{display:grid;place-items:center;padding:40px}.login-form form{width:min(390px,100%)}.login-form h2{font-size:30px;margin:6px 0}.login-form form>p:not(.eyebrow){color:var(--muted);margin-bottom:28px}.wide{width:100%;padding:13px}.check{display:flex;align-items:center;gap:8px;color:var(--muted)}.check input{width:auto;margin:0}.demo{margin-top:24px;border-top:1px solid var(--line);padding-top:18px;align-items:center;color:var(--muted);font-size:12px}
@media(max-width:900px){aside{width:76px;padding:25px 10px}.brand div,.profile>div:nth-child(2){display:none}.brand{padding:0 5px 28px}nav a{justify-content:center;padding:12px 8px;font-size:0}nav a i{font-size:20px}main{margin-left:76px;padding:24px}.stats{grid-template-columns:1fr 1fr}.card-grid{grid-template-columns:1fr 1fr}.detail-grid,.detail-grid.lower{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-art{display:none}}@media(max-width:600px){main{margin-left:0;padding:18px 14px 82px}aside{inset:auto 0 0;width:auto;height:66px;flex-direction:row;padding:7px}.brand,.profile{display:none}nav{display:flex;width:100%;justify-content:space-around}nav a{padding:9px}.hero .primary{display:none}.stats{gap:8px}.stats article{padding:12px;gap:8px}.grid2,.card-grid{grid-template-columns:1fr}header .date{display:none}.toolbar{align-items:flex-start;gap:8px;flex-wrap:wrap}.toolbar>.actions{flex-wrap:wrap}.messages{height:50vh;padding:12px}.message>div{max-width:90%}}

/* Identidade institucional UniMB: base clara, vinho como assinatura e dourado pontual. */
aside{background:var(--wine-deep);border-right:1px solid #5d1a31}.brand>span,.seal{background:var(--gold);color:#fff;border-radius:5px}.brand small,.profile small{color:#d4bdc6}nav a{color:#d9c7ce;border-radius:4px}nav a:hover{background:#5a142b}nav a.active{background:var(--wine-active);box-shadow:inset 3px 0 var(--gold)}.profile{border-color:#6b243c}.profile button{color:#d4bdc6}
.avatar,.person>span{background:#f1e4e8;color:var(--wine)}header h1{color:#3d1523}.date,.search,.filter{border-radius:4px;background:#fff}
.hero{background:linear-gradient(115deg,var(--wine-deep),var(--wine));border-radius:6px;box-shadow:0 2px 7px #4b102416}.hero p{color:#eadde1}.eyebrow{color:#d9b766}
.primary{background:var(--wine);color:#fff;border:1px solid var(--wine-deep);border-radius:4px}.primary:hover{background:var(--wine-deep)}.secondary{background:#fff;color:var(--wine);border:1px solid #d7c7cc;border-radius:4px}.secondary:hover{background:#faf5f6}
.stats article,.panel,.item-card,.conversation-card,.chat-panel{border-radius:5px;box-shadow:var(--shadow)}.stats article{border-top:2px solid #ece6e3}.stats strong{color:#421425}.stat-icon,.category-icon{border-radius:4px}.stat-icon.green,.category-icon{background:#f1e7ea;color:var(--wine)}.stat-icon.blue{background:#ebe8ee;color:#5d526c}.stat-icon.amber{background:var(--gold-soft);color:#84601f}.stat-icon.red{background:#f6e3e5;color:#8a2635}
.panel-head a,.item-link:hover{color:var(--wine)}th{background:#f8f6f5;color:#66606a;letter-spacing:.05em}th,td{border-color:#eee9e6}.badge{border-radius:4px;font-weight:700}.badge.disponivel,.badge.aprovada,.badge.devolvido,.badge.ativo{background:#e8f1ec;color:#37634b}.badge.pendente,.badge.aguardando_retirada,.badge.reservado{background:var(--gold-soft);color:#76561e}.badge.rejeitada,.badge.encerrado_com_pendencia{background:#f5e2e5;color:#852b3c}.badge.emprestado,.badge.convertida{background:#eae7ed;color:#5a5067}
.modal-bg{background:#2f0a18aa}.modal-card{border-radius:6px;border-top:4px solid var(--wine)}input,select,textarea{border-radius:4px}input:focus,select:focus,textarea:focus{outline:2px solid #6f183326;border-color:var(--wine)}.mini{border-radius:4px;background:#f2e8eb;color:var(--wine)}.mini:hover{background:#e9d9de}.reject,.danger{background:#f6e3e5;color:#842a3a}.danger{border-radius:4px}.success{background:#e8f1ec;color:#37634b}.error{background:#f5e2e5;color:#852b3c}.timeline article{border-color:#e3d3d8}.timeline article i{background:var(--gold);border-radius:1px}
.conversation-card:hover{border-color:#a66a7e;transform:none}.chat-symbol{border-radius:4px;background:#f1e7ea;color:var(--wine)}.live-dot{color:#6c5a31}.live-dot i{background:var(--gold);box-shadow:0 0 0 3px #b58a3822}.messages{background:#f8f6f4}.message>div{border-radius:3px 8px 8px 8px;box-shadow:none}.message.mine>div{background:#f2e7ea;border-color:#dfcbd1;border-radius:8px 3px 8px 8px}.message b{color:var(--wine)}
.login-art{background:linear-gradient(140deg,var(--wine-deep),var(--wine));border-right:5px solid var(--gold)}.login-art>p,.art-card small{color:#dfccd2}.art-card{border-radius:5px}.art-card>span{background:var(--gold);color:#fff}.login-form h2{color:#471428}

.brand>img{width:46px;height:56px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 2px 2px #26030866)}.brand{padding-top:0;padding-bottom:24px}.login-art .seal{display:block;background:none;border-radius:0;width:92px;height:108px;object-fit:contain;top:34px;left:55px;filter:drop-shadow(0 4px 5px #26030866)}
.equipment-filters{display:grid;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(150px,auto)) auto auto;gap:8px;align-items:center;margin-bottom:15px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:5px}.equipment-filters .search,.equipment-filters select{margin:0;height:42px}.equipment-filters select{padding:8px}.result-count{color:var(--muted);font-weight:600}.equipment-cell{display:flex;align-items:center;gap:11px}.equipment-cell img,.no-photo{width:46px;height:42px;object-fit:cover;border-radius:3px;border:1px solid var(--line)}.no-photo{display:grid;place-items:center;background:#f2ecee;color:var(--wine);font-size:18px}
.equipment-gallery-panel{margin-bottom:18px}.image-upload{display:flex;align-items:center;gap:7px}.image-upload input{margin:0;width:170px;padding:8px}.image-upload input[type=file]{width:205px}.equipment-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;padding:0 20px 20px}.equipment-gallery figure{margin:0;border:1px solid var(--line);background:#faf8f7;border-radius:4px;overflow:hidden}.equipment-gallery figure>a{display:block;height:145px;background:#eee9e6}.equipment-gallery img{width:100%;height:100%;object-fit:cover}.equipment-gallery figcaption{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:8px 10px;font-size:11px}.equipment-gallery figcaption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equipment-gallery figcaption button{border:0;background:none;color:#8a2635;font-size:18px;cursor:pointer}
.chat-upload{margin:0;width:48px;height:48px;display:grid;place-items:center;align-self:flex-end;border:1px solid #d7c7cc;border-radius:4px;color:var(--wine);font-size:24px;cursor:pointer;background:#faf6f7}.chat-upload input{display:none}.image-preview{padding:0 16px 8px;color:var(--wine);font-size:11px;font-weight:600}.chat-image{display:block;margin:7px 0;max-width:360px}.chat-image img{display:block;max-width:100%;max-height:320px;border-radius:4px;border:1px solid #dfcbd1}
@media(max-width:900px){.brand>img{width:45px;height:52px}.brand{padding-left:4px;padding-right:4px}}
@media(max-width:1050px){.equipment-filters{grid-template-columns:1fr 1fr 1fr}.equipment-filters .search{grid-column:1/-1}.image-upload{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:650px){.equipment-filters{grid-template-columns:1fr 1fr}.equipment-filters .search,.equipment-filters select:first-of-type{grid-column:1/-1}.image-upload{width:100%;justify-content:flex-start}.image-upload input,.image-upload input[type=file]{width:100%}.equipment-gallery{grid-template-columns:1fr 1fr;padding:0 12px 12px}.chat-image{max-width:100%}}
.inline-editor{position:relative}.inline-editor>summary{list-style:none}.popover{position:absolute;right:0;top:34px;z-index:20;width:280px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--wine);border-radius:4px;padding:16px;box-shadow:0 12px 30px #3d172022}.wide-popover{width:520px}.popover form+form{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.item-card.inactive{opacity:.68}
body:not(.role-administrador):not(.role-administrador_mestre) a[href*="equipamentos-lixeira"]{display:none}body:not(.role-administrador):not(.role-administrador_mestre) form[action*="/equipamentos/duplicar"],body:not(.role-administrador):not(.role-administrador_mestre) form[action*="/disponibilidade"],body:not(.role-administrador):not(.role-administrador_mestre) form[action*="/imagens"]{display:none}body:not(.role-administrador):not(.role-administrador_mestre) form[action$="/equipamentos"]{display:none}body:not(.role-administrador):not(.role-administrador_mestre) .detail-form input,body:not(.role-administrador):not(.role-administrador_mestre) .detail-form select,body:not(.role-administrador):not(.role-administrador_mestre) .detail-form textarea{pointer-events:none;background:#f7f5f3;color:#5f5a5d}body:not(.role-administrador):not(.role-administrador_mestre) .detail-form button{display:none}
body:not(.role-administrador):not(.role-administrador_mestre) form[action*="/equipamentos/"]:not(.detail-form){display:none}
.role-colaborador form[action*="/aprovar"],.role-colaborador form[action*="/rejeitar"],.role-colaborador form[action*="/entregar"],.role-colaborador form[action*="/devolver"],.role-tecnico form[action*="/aprovar"],.role-tecnico form[action*="/rejeitar"],.role-tecnico form[action*="/entregar"],.role-tecnico form[action*="/devolver"],.role-solicitante form[action*="/aprovar"],.role-solicitante form[action*="/rejeitar"],.role-solicitante form[action*="/entregar"],.role-solicitante form[action*="/devolver"],.role-auditor form[action*="/aprovar"],.role-auditor form[action*="/rejeitar"],.role-auditor form[action*="/entregar"],.role-auditor form[action*="/devolver"]{display:none}
.supply-filters{grid-template-columns:minmax(280px,1fr) 180px 180px auto auto}.badge.comprado{background:#e8f1ec;color:#37634b}.badge.faltante{background:#f5e2e5;color:#852b3c}.status-form{display:flex;align-items:center;gap:7px}.status-form select{margin:0;width:150px}.supply-photo{display:block;margin:0 24px 18px;height:260px;background:#f3eeee;border:1px solid var(--line)}.supply-photo img{width:100%;height:100%;object-fit:contain}.supply-history{margin-top:18px}
body:not(.role-administrador):not(.role-administrador_mestre) form[action*="/insumos/"][class="detail-form"] input,body:not(.role-administrador):not(.role-administrador_mestre) form[action*="/insumos/"][class="detail-form"] select,body:not(.role-administrador):not(.role-administrador_mestre) form[action*="/insumos/"][class="detail-form"] textarea{pointer-events:none;background:#f7f5f3}
@media(max-width:850px){.supply-filters{grid-template-columns:1fr 1fr}.supply-filters .search{grid-column:1/-1}.status-form{flex-wrap:wrap}.supply-photo{height:210px}}

/* Refinamento editorial e tipográfico — Gerenciamento NTI UniMB */
html{font-size:16px}body{font-size:14px;line-height:1.5;letter-spacing:-.005em}aside{width:264px;padding:26px 20px 30px}.brand{gap:14px;padding:0 10px 26px}.brand>img{width:48px;height:58px}.brand b{font-size:16px;line-height:1.15;letter-spacing:-.02em;max-width:145px}.brand small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-top:4px}nav{gap:3px}nav a{min-height:42px;padding:10px 12px;font-size:13px;font-weight:600}nav a i{font-size:17px}main{margin-left:264px;padding:34px 42px 70px}header{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--line)}header h1{font-size:27px;line-height:1.2;letter-spacing:-.035em;margin-bottom:5px}header p{font-size:13px;max-width:720px}.date{font-size:12px;font-weight:600;letter-spacing:.025em}
h2{letter-spacing:-.03em}h3{letter-spacing:-.02em}.hero{padding:30px 34px}.hero h2{font-size:27px}.hero p{font-size:14px}.eyebrow{font-size:10px;letter-spacing:.16em}.stats{gap:14px;margin:18px 0}.stats article{min-height:92px;padding:18px}.stats small{font-size:11px;text-transform:uppercase;letter-spacing:.045em}.stats strong{font-size:27px;line-height:1.15}
.panel{border-color:#ded8d5}.panel-head{padding:19px 22px}.panel-head h3{font-size:15px}.panel-head p{font-size:12px}.toolbar{margin-bottom:18px}.primary,.secondary,.danger{min-height:39px;padding:9px 15px;font-size:12px;letter-spacing:.01em}.mini{font-size:11px;padding:6px 9px}table{font-size:12.5px}th{padding:11px 18px;font-size:10px;font-weight:700;letter-spacing:.075em}td{padding:13px 18px}.badge{padding:4px 8px;font-size:10px;letter-spacing:.025em}
label{font-size:11px;letter-spacing:.015em;color:#4d464a}input,select,textarea{font-size:13px;line-height:1.35;padding:10px 11px;border-color:#d8d0cd}textarea{min-height:88px}.modal-card{padding:27px}.modal-title{padding-bottom:6px}.modal-title h3{font-size:18px}.form-actions{margin-top:5px}.search,.filter{font-size:12px}.equipment-filters{padding:12px}
.person>span,.avatar{font-family:var(--font-display)}.person b{font-size:12.5px}.person small{font-size:11px}.access-count{display:inline-block;padding:4px 8px;background:#f2e7ea;color:var(--wine);border-radius:3px;font-size:10px;font-weight:700}.access-default{color:var(--muted);font-size:11px}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0 18px}.module-grid label{display:flex;align-items:center;gap:9px;margin:0;padding:9px 10px;border:1px solid var(--line);border-radius:4px;background:#faf8f7;cursor:pointer}.module-grid input{width:15px;height:15px;margin:0;accent-color:var(--wine)}.module-grid span{font-size:12px;font-weight:600}.access-editor .popover p{font-size:12px;color:var(--muted)}.flash{font-size:12px;border-left:3px solid currentColor}
.conversation-card{padding:16px 18px}.conversation-card h3{font-size:14px}.conversation-card p{font-size:12px}.messages{font-size:13px}.message b{letter-spacing:.02em}.login-form h2{font-size:31px}.login-form form>p:not(.eyebrow){font-size:13px}.login-art h1{font-size:50px;letter-spacing:-.045em}.login-art>p{line-height:1.65}
@media(max-width:900px){aside{width:78px;padding:24px 10px}main{margin-left:78px;padding:28px}.brand b,.brand small{display:none}}@media(max-width:600px){main{margin-left:0;padding:18px 13px 82px}header{padding-bottom:15px}.module-grid{grid-template-columns:1fr}.wide-popover{width:min(92vw,520px)}}
.model-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.model-mode label{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:4px;background:#faf8f7;cursor:pointer}.model-mode input{width:15px;height:15px;margin:0;accent-color:var(--wine)}.modal-card hr{border:0;border-top:1px solid var(--line);margin:20px 0}.model-catalog{margin:4px 0 20px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:11px}.section-heading h2{font-size:17px;margin:0 0 3px}.section-heading p{font-size:12px;color:var(--muted);margin:0}.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.model-category{background:#fff;border:1px solid var(--line);border-radius:5px;overflow:hidden}.model-category>header{display:flex;gap:10px;align-items:center;padding:13px 15px;background:#f8f5f5;border-bottom:1px solid var(--line)}.model-category>header>span{width:34px;height:34px;display:grid;place-items:center;background:var(--wine);color:#fff;border-radius:3px;font:700 11px Manrope}.model-category h3{font-size:13px;margin:0}.model-category header small{font-size:10px;color:var(--muted)}.model-category>div{display:grid}.model-category>div>span{display:flex;justify-content:space-between;gap:8px;padding:9px 14px;border-top:1px solid #f0ecea;font-size:11px}.model-category>div>span:first-child{border-top:0}.model-category>div small{color:var(--muted)}
.reservation-policy{margin-bottom:18px}.policy-form{padding:0 22px 22px}.policy-toggle{display:flex;align-items:center;gap:9px;padding:12px;background:#f7f1f2;border:1px solid #e5d5da;border-radius:4px}.policy-toggle input{width:17px;height:17px;margin:0;accent-color:var(--wine)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.weekday-field{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:2px 0 14px}.weekday-field>span{font-size:11px;font-weight:700;margin-right:5px}.weekday-field label{display:flex;align-items:center;gap:5px;margin:0;padding:7px 9px;border:1px solid var(--line);border-radius:3px}.weekday-field input{width:13px;height:13px;margin:0;accent-color:var(--wine)}.policy-summary{display:flex;gap:18px;flex-wrap:wrap;padding:0 22px 20px;color:var(--muted);font-size:12px}.policy-summary p{width:100%;margin:0;padding:10px;background:#f8f6f5}
@media(max-width:1050px){.model-grid{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr 1fr}}@media(max-width:650px){.model-grid,.model-mode,.grid3{grid-template-columns:1fr}}
.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;display:grid;place-items:center;border-radius:10px;background:var(--gold);color:#351019;font:800 10px Manrope,sans-serif;box-shadow:0 0 0 2px #4a080e}
.equipment-choice{margin:0 0 16px;padding:0;border:0}.equipment-choice legend{width:100%;margin-bottom:8px;font-size:11px;font-weight:700;color:#4d464a}.equipment-choice legend small{float:right;color:var(--muted);font-weight:500}.choice-group{border:1px solid var(--line);border-radius:4px;background:#faf8f7;margin-bottom:8px;overflow:hidden}.choice-group>strong{display:block;padding:8px 11px;background:#f1e7ea;color:var(--wine);font:700 11px Manrope,sans-serif;text-transform:uppercase;letter-spacing:.05em}.choice-group label{display:flex;align-items:center;gap:10px;margin:0;padding:10px 12px;border-top:1px solid var(--line);cursor:pointer}.choice-group input{width:16px;height:16px;margin:0;accent-color:var(--wine)}.choice-group label>span{font-size:12px;font-weight:600}.choice-group label small{display:block;color:var(--muted);font-weight:400}.empty-choice{padding:16px;background:#f8f6f5;color:var(--muted);font-size:12px}
@media(max-width:900px){nav a span{display:none}.nav-badge{position:absolute;margin:0 0 24px 24px;min-width:17px;height:17px;padding:0 4px}}
.reservation-intro{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;margin-bottom:18px;padding:24px 28px;background:linear-gradient(120deg,var(--wine-deep),var(--wine));color:#fff;border-left:4px solid var(--gold);border-radius:5px}.reservation-intro>div>span:first-child{color:#d9b766;font-size:10px;font-weight:800;letter-spacing:.15em}.reservation-intro h2{margin:5px 0;font-size:22px}.reservation-intro p{max-width:700px;margin:0;color:#eadde1;font-size:12px}.reservation-user{min-width:220px;padding:13px 16px;border:1px solid #ffffff25;background:#ffffff0c;display:flex;flex-direction:column}.reservation-user small,.reservation-user span{font-size:10px;color:#dcc8cf}.reservation-user strong{margin:3px 0;font:700 13px Manrope}.reservation-step{display:grid;grid-template-columns:32px 1fr;gap:11px;margin-bottom:12px;padding:12px;border:1px solid var(--line);background:#faf8f7;border-radius:4px}.reservation-step>b{width:28px;height:28px;display:grid;place-items:center;background:var(--wine);color:#fff;border-radius:50%;font:700 12px Manrope}.reservation-step>div>small{display:block;margin-top:-7px;color:var(--muted);font-size:10px}.equipment-step .equipment-choice{margin-bottom:0}.form-confirmation{padding:10px 12px;background:var(--gold-soft);border-left:3px solid var(--gold);color:#675022;font-size:11px}.room-admin-list{margin:15px 0;max-height:220px;overflow:auto}.room-admin-list>div{display:flex;justify-content:space-between;align-items:center;padding:8px;border-top:1px solid var(--line)}.room-admin-list small{color:var(--muted)}.compact-check{display:flex;align-items:center;gap:8px;padding:6px 0}.compact-check input{width:15px;height:15px;margin:0;accent-color:var(--wine)}
@media(max-width:700px){.reservation-intro{grid-template-columns:1fr;padding:20px}.reservation-user{min-width:0}}
.sidebar-toggle{position:absolute;top:91px;right:-13px;width:27px;height:27px;display:grid;place-items:center;padding:0;border:1px solid #7d3a4f;border-radius:50%;background:#fff;color:var(--wine);font:700 20px/1 Manrope,sans-serif;cursor:pointer;box-shadow:0 2px 7px #2c071533;z-index:12}.sidebar-toggle:hover{background:var(--gold-soft);border-color:var(--gold)}aside,main{transition:width .22s ease,margin-left .22s ease,padding .22s ease}body.sidebar-collapsed aside{width:78px;padding-left:10px;padding-right:10px}body.sidebar-collapsed main{margin-left:78px}body.sidebar-collapsed .brand{justify-content:center;padding-left:0;padding-right:0}body.sidebar-collapsed .brand>img{width:44px}body.sidebar-collapsed .brand>div,body.sidebar-collapsed nav a>span,body.sidebar-collapsed .profile>div:nth-child(2){display:none}body.sidebar-collapsed nav a{position:relative;justify-content:center;padding-left:8px;padding-right:8px}body.sidebar-collapsed nav a i{margin:0}body.sidebar-collapsed .nav-badge{position:absolute;top:3px;right:3px;min-width:17px;height:17px;padding:0 4px}body.sidebar-collapsed .profile{justify-content:center;flex-wrap:wrap}body.sidebar-collapsed .profile form{width:100%;text-align:center}body.sidebar-collapsed .sidebar-toggle{right:-13px}
@media(max-width:900px){.sidebar-toggle{display:none}body.sidebar-collapsed aside{width:78px}body.sidebar-collapsed main{margin-left:78px}}
@media(max-width:600px){body.sidebar-collapsed aside{width:auto}body.sidebar-collapsed main{margin-left:0}}
.reservation-status{display:flex;align-items:center;gap:12px;margin:-5px 0 18px;padding:10px 14px;border:1px solid #d9cbd0;border-left:4px solid var(--wine);background:#fff;font-size:11px}.reservation-status strong{font:700 12px Manrope;color:var(--wine)}.reservation-status span{color:var(--muted)}.reservation-status.fechada{border-left-color:#922b3a;background:#f7e8eb}.reservation-status.hoje{border-left-color:var(--gold);background:var(--gold-soft)}.reservation-calendar{margin-bottom:18px;padding-bottom:16px}.calendar-controls{display:flex;align-items:center;gap:12px;text-transform:capitalize}.calendar-controls button{width:30px;height:30px;border:1px solid var(--line);background:#fff;color:var(--wine);cursor:pointer}.calendar-controls strong{min-width:145px;text-align:center;font:700 12px Manrope}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:0 18px}.calendar-weekdays{margin-bottom:5px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase}.calendar-day{min-height:58px;padding:7px;border:1px solid var(--line);background:#faf8f7;text-align:left;display:flex;flex-direction:column;justify-content:space-between}.calendar-day b{font:700 12px Manrope}.calendar-day small{font-size:9px;color:var(--muted)}.calendar-day.enabled{background:#fff;border-color:#d7c1c8;color:var(--wine);cursor:pointer}.calendar-day.enabled:hover{border-color:var(--wine);background:#f8f0f2}.calendar-day.disabled{opacity:.5}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--gold)}.weekday-settings{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0;padding:12px;border:1px solid var(--line)}.weekday-settings legend{font-size:11px;font-weight:700}.weekday-settings label{display:flex;align-items:center;gap:7px;margin:0}.weekday-settings input{width:15px;height:15px;margin:0;accent-color:var(--wine)}.reservation-summary{margin-top:18px}.summary-filter{display:flex;align-items:center;gap:7px}.summary-filter input{margin:0;width:145px}.summary-filter span{font-size:10px;color:var(--muted)}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 20px 16px}.summary-cards article{padding:12px;background:#f8f5f5;border-left:3px solid var(--wine);display:flex;justify-content:space-between;align-items:center}.summary-cards small{color:var(--muted);font-size:10px;text-transform:uppercase}.summary-cards strong{font:800 20px Manrope;color:var(--wine)}
.reservation-report-filter{padding:18px;margin-bottom:16px}.report-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;align-items:end}.report-filter-grid label{margin:0}.report-search{grid-column:span 2}.report-filter-actions{display:flex;gap:8px;align-items:center}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.report-metrics article{padding:17px 18px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--wine);display:flex;flex-direction:column}.report-metrics small{font-size:10px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.report-metrics strong{font:800 27px var(--font-display);color:var(--wine)}.report-metrics span{font-size:10px;color:var(--muted)}.report-breakdowns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.report-breakdowns .panel{margin:0}.report-bars,.rank-list{padding:0 18px 18px}.report-bars>div{display:grid;grid-template-columns:55px 1fr 30px;align-items:center;gap:8px;margin:10px 0;font-size:11px}.report-bars i{height:7px;background:#eee7e9;overflow:hidden}.report-bars b{display:block;height:100%;background:var(--wine)}.rank-list>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}.rank-list strong{color:var(--wine)}.reservation-report-table{margin:0}.room-management-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px}.room-management-card{margin:0;padding:18px}.room-management-card>header{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center}.room-management-card h3{margin:2px 0}.room-management-card header small{font-size:9px;color:var(--muted);letter-spacing:.08em}.room-icon{width:38px;height:38px;display:grid;place-items:center;background:var(--wine-soft);color:var(--wine)}.room-usage{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.room-usage>div{padding:12px;background:#faf8f7;display:flex;flex-direction:column}.room-usage strong{font:800 22px var(--font-display);color:var(--wine)}.room-usage span{font-size:9px;color:var(--muted)}.room-edit-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-bottom:8px}.room-edit-form label{margin:0}.room-edit-form input{margin:0}
@media(max-width:1100px){.report-filter-grid{grid-template-columns:repeat(3,1fr)}.report-breakdowns,.room-management-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.report-filter-grid{grid-template-columns:1fr 1fr}.report-search{grid-column:1/-1}.report-filter-actions{grid-column:1/-1}.report-metrics{grid-template-columns:1fr 1fr}.report-breakdowns,.room-management-grid{grid-template-columns:1fr}.room-management-card{padding:14px}}
@media(max-width:430px){.report-filter-grid,.report-metrics{grid-template-columns:1fr}.report-filter-actions{align-items:stretch;flex-direction:column}.room-edit-form{grid-template-columns:1fr}}
.lab-day-unavailable{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;border:1px solid #d9b8bf;background:#f7e8eb;color:var(--wine);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:700px){.reservation-status{align-items:flex-start;flex-direction:column;gap:3px}.calendar-weekdays,.calendar-grid{padding-left:8px;padding-right:8px;gap:2px}.calendar-day{min-height:48px;padding:4px}.calendar-day small{font-size:7px}.summary-filter{flex-wrap:wrap}.summary-cards{grid-template-columns:1fr 1fr}.weekday-settings{grid-template-columns:1fr}}
.reservation-subnav{display:flex;gap:3px;margin:-8px 0 18px;padding:4px;background:#eee8e6;border:1px solid #ded5d2;border-radius:4px}.reservation-subnav a{min-height:auto;padding:7px 12px;border-radius:3px;color:#665b5f;font-size:11px}.reservation-subnav a:hover{background:#fff;color:var(--wine)}

/* Acabamento tipográfico e hierarquia dos menus */
body,button,input,select,textarea{font-family:var(--font-sans);font-variant-numeric:tabular-nums}h1,h2,h3,.brand b,.stats strong{font-family:var(--font-display)}nav a{font-size:12.5px;font-weight:600;letter-spacing:.005em;line-height:1.25}nav a i{font-family:var(--font-sans);font-weight:500}.panel-head h3{font-weight:700;line-height:1.3}.toolbar,.reservation-subnav{font-weight:500}button,.primary,.secondary,.mini{font-weight:650}

.today-overview{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:8px;margin-bottom:18px}.today-overview>div,.today-overview article{min-height:74px;padding:13px 16px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--wine);display:flex;flex-direction:column;justify-content:center}.today-overview .today-title{background:var(--wine-deep);border-color:var(--gold);color:#fff}.today-title span{color:#d8b766;font-size:9px;font-weight:800;letter-spacing:.12em}.today-title strong{margin-top:3px;font:700 13px Manrope}.today-overview article small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}.today-overview article strong{font:800 22px Manrope;color:var(--wine)}
.calendar-day-summary{margin:14px 18px 0;padding:13px 15px;border-top:1px solid var(--line);background:#faf8f7;display:flex;gap:8px;flex-direction:column}.calendar-day-summary>span,.calendar-day-summary>div>span{display:block;color:var(--muted);font-size:10px}.anonymous-reservations{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.anonymous-reservations article{padding:9px 10px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);display:flex;flex-direction:column}.anonymous-reservations b{font-size:10px;color:var(--wine);text-transform:uppercase}.anonymous-reservations span{font-size:11px;font-weight:600}.anonymous-reservations small{color:var(--muted);font-size:9px}

.user-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:17px}.user-overview article{padding:15px 17px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--wine);display:flex;align-items:center;justify-content:space-between}.user-overview span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.055em}.user-overview strong{font:800 22px Manrope;color:var(--wine)}.user-toolbar{gap:10px}.user-toolbar>.search{flex:1}.user-toolbar>.search input{width:calc(100% - 20px)}.user-filters{display:flex;gap:7px}.user-filters select{width:175px;margin:0;padding:9px 10px}.users-table .person{min-width:230px}.person em{display:block;margin-top:2px;color:#8b7d82;font-size:9px;font-style:normal}.role-label{display:inline-flex;padding:5px 8px;background:#f1edef;border:1px solid #e4dcdf;border-radius:3px;color:#554b4f;font-size:10px;font-weight:700}.role-label.role-professor{background:#eee9f3;color:#5a486c}.role-label.role-administrador,.role-label.role-administrador_mestre{background:#f3e5e8;color:var(--wine)}.users-table td:last-child{min-width:245px}.users-table .actions{flex-wrap:wrap}
@media(max-width:1050px){.today-overview{grid-template-columns:1fr 1fr 1fr}.today-overview .today-title{grid-column:span 2}.anonymous-reservations{grid-template-columns:1fr 1fr}.user-overview{grid-template-columns:1fr 1fr}.user-toolbar{align-items:stretch;flex-wrap:wrap}.user-toolbar>.search{flex-basis:100%}.user-filters{flex:1}}
@media(max-width:760px){.today-overview{grid-template-columns:1fr 1fr}.today-overview .today-title{grid-column:1/-1}.anonymous-reservations{grid-template-columns:1fr}.user-filters{width:100%}.user-filters select{width:50%}.users-table thead{display:none}.users-table,.users-table tbody,.users-table tr,.users-table td{display:block;width:100%}.users-table tr{padding:14px 15px;border-top:1px solid var(--line)}.users-table td{display:grid;grid-template-columns:95px 1fr;align-items:center;min-width:0!important;padding:7px 0;border:0;white-space:normal}.users-table td::before{content:attr(data-label);color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.users-table .person{min-width:0}.users-table td:first-child{display:block;padding-bottom:12px}.users-table td:first-child::before{display:none}.users-table .actions{justify-content:flex-start}.users-table .popover{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(92vw,520px);max-height:80vh;overflow:auto}.user-overview{gap:6px}.user-overview article{padding:12px}.user-overview span{font-size:8px}}
.field-help{display:block;margin-top:5px;color:var(--muted);font-size:9px;font-weight:400;line-height:1.4}
.error-page{width:min(560px,calc(100% - 32px));margin:12vh auto!important;padding:34px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--wine);box-shadow:var(--shadow)}.error-page h1{color:var(--wine)}.error-page p{color:var(--muted);margin-bottom:22px}
.loan-requests-panel{margin-bottom:18px}.loan-requests-panel td:nth-child(3),.loan-requests-panel td:nth-child(5){white-space:normal;min-width:180px}.loans-panel td:nth-child(3){white-space:normal;min-width:180px}
.loan-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:16px}.loan-overview article{position:relative;display:flex;flex-direction:column;min-width:0;padding:16px 18px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--wine);border-radius:5px}.loan-overview article.urgent{border-left-color:#a52b3d;background:#fffafa}.loan-overview span{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.055em}.loan-overview strong{margin:3px 0;font:800 25px Manrope;color:#421425}.loan-overview small{color:#8b8084;font-size:10px}
.loan-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.loan-tabs{display:flex;gap:4px;min-width:0;overflow-x:auto;padding:3px;background:#ece7e5;border:1px solid #dfd8d5;border-radius:5px}.loan-tabs a{display:flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 11px;color:#655b5f;text-decoration:none;font-size:11px;font-weight:700;border-radius:3px}.loan-tabs a:hover{background:#f8f5f4;color:var(--wine)}.loan-tabs a.active{background:#fff;color:var(--wine);box-shadow:0 1px 4px #3d172014}.loan-tabs a.urgent{color:#9a2b3c}.loan-tabs b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;background:#e7dcdf;color:inherit;border-radius:10px;font-size:9px}.loan-tabs a.active b{background:#f1e5e8}
.loan-filters{display:grid;grid-template-columns:minmax(260px,1fr) 150px 150px auto auto;gap:8px;align-items:end;margin-bottom:15px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:5px}.loan-filters label{margin:0;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.055em}.loan-filters .search{display:flex;align-items:center;gap:7px;height:42px;margin:0}.loan-filters .search input{margin:0}.loan-filters input{height:42px;margin-top:4px;padding:8px}.loan-filters .primary,.loan-filters .secondary{display:grid;place-items:center;height:42px}
.loan-alert{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding:11px 14px;background:#f7e7e9;border:1px solid #ebcdd2;border-left:4px solid #9c293a;color:#782232;border-radius:4px}.loan-alert span{color:#765c61;font-size:11px}.loan-card-list{border-top:1px solid var(--line)}.loan-row{padding:15px 20px;border-bottom:1px solid var(--line)}.loan-row:last-child{border-bottom:0}.loan-row.attention{box-shadow:inset 3px 0 var(--gold)}.loan-row.overdue{background:#fffafa;box-shadow:inset 3px 0 #a52b3d}.loan-row-main{display:grid;grid-template-columns:140px minmax(130px,.8fr) minmax(190px,1.25fr) minmax(155px,.85fr) auto;align-items:center;gap:14px}.loan-row-main>div{min-width:0}.loan-row-main small,.loan-detail-box small{display:block;margin-bottom:4px;color:#8b7d82;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.loan-row-main strong{color:var(--wine);font-size:12px}.loan-row-main b{display:block;overflow:hidden;color:#3f383b;font-size:12px;text-overflow:ellipsis}.loan-row-main div>span{display:block;margin-top:3px;color:var(--muted);font-size:10px}.loan-row-main .late-text{color:#9c293a;font-weight:700}.loan-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:10px;padding-top:9px;border-top:1px dashed #e9e2df}.loan-row-actions form{margin:0}.loan-details{position:relative}.loan-details>summary{list-style:none}.secondary-mini{background:#f4f1ef;color:#62585c}.loan-detail-box{position:absolute;right:0;top:34px;z-index:22;display:grid;grid-template-columns:1fr 1fr;gap:13px;width:min(520px,calc(100vw - 40px));padding:16px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--wine);border-radius:4px;box-shadow:0 14px 35px #3d172026}.loan-detail-box div{min-width:0}.loan-detail-box p{margin:0;color:#474044;font-size:11px;line-height:1.5;white-space:normal}.loan-detail-box .detail-warning{grid-column:1/-1;padding:9px;background:#f8e9eb}.loan-empty{padding:48px;text-align:center}.loan-empty strong{color:var(--wine)}.loan-empty p{margin:7px 0 0;color:var(--muted)}
@media(max-width:1100px){.loan-overview{grid-template-columns:1fr 1fr}.loan-actions{align-items:stretch;flex-direction:column}.loan-tabs{width:100%}.loan-actions>.modal{align-self:flex-end}.loan-filters{grid-template-columns:1fr 1fr}.loan-filters .search{grid-column:1/-1}.loan-row-main{grid-template-columns:130px 1fr 1.4fr}.loan-row-main>div:nth-child(4){grid-column:2}.loan-row-main>.badge{grid-column:3;grid-row:2;justify-self:start}}
@media(max-width:680px){.loan-overview{gap:7px}.loan-overview article{padding:13px}.loan-overview strong{font-size:21px}.loan-actions>.modal,.loan-actions>.modal>summary{width:100%;text-align:center}.loan-tabs a{padding:8px 9px}.loan-filters{grid-template-columns:1fr 1fr}.loan-filters .primary,.loan-filters .secondary{width:100%}.loan-row{padding:14px}.loan-row-main{display:flex;align-items:flex-start;flex-direction:column;gap:10px}.loan-row-main>div{width:100%}.loan-row-main .loan-equipment b{white-space:normal}.loan-row-main>.badge{position:absolute;right:14px}.loan-row{position:relative}.loan-row-main>div:first-child{padding-right:105px}.loan-row-actions{align-items:stretch;flex-wrap:wrap}.loan-row-actions>*{flex:1}.loan-row-actions .mini{width:100%;text-align:center}.loan-detail-box{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);grid-template-columns:1fr;max-height:80vh;overflow:auto}.loan-detail-box .detail-warning{grid-column:auto}.loan-alert{align-items:flex-start;flex-direction:column;gap:3px}}

/* Painel operacional */
.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px;padding:24px 27px;background:linear-gradient(112deg,var(--wine-deep),var(--wine));border-bottom:3px solid var(--gold);border-radius:6px;color:#fff}.dashboard-welcome .eyebrow{display:block;margin-bottom:5px}.dashboard-welcome h2{margin:0 0 5px;font-size:25px}.dashboard-welcome p{margin:0;color:#eadde1}.dashboard-welcome-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}.dashboard-welcome .primary{background:var(--gold);border-color:#9a722b;color:#fff}.welcome-link{color:#f1dfe4;font-size:11px;font-weight:700;text-decoration:none}.welcome-link:hover{text-decoration:underline}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:15px}.dashboard-metrics>a{display:flex;align-items:center;gap:13px;min-width:0;padding:15px 16px;background:#fff;border:1px solid var(--line);border-radius:5px;color:inherit;text-decoration:none}.dashboard-metrics>a:hover{border-color:#c6aab2}.dashboard-metrics>a.urgent{border-color:#deb7bd;background:#fffafa}.dashboard-metrics a>div{display:flex;min-width:0;flex-direction:column}.dashboard-metrics small{overflow:hidden;color:var(--muted);font-size:9px;font-weight:700;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}.dashboard-metrics strong{font:800 24px Manrope;color:#421425;line-height:1.2}.dashboard-metrics em{overflow:hidden;color:#8b7d82;font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.metric-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;background:#f1e7ea;color:var(--wine);border-radius:4px;font-size:10px;font-weight:800}.metric-icon.late{background:#f5e2e5;color:#982c3d}.metric-icon.schedule{background:var(--gold-soft);color:#76561e}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:15px;margin-bottom:15px}.section-kicker{display:block;margin-bottom:3px;color:var(--wine);font-size:8px;font-weight:800;letter-spacing:.12em}.priority-list,.agenda-list{border-top:1px solid var(--line)}.priority-list>a{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 20px;border-bottom:1px solid #eee9e6;color:inherit;text-decoration:none}.priority-list>a:last-child{border-bottom:0}.priority-list>a:hover{background:#fcfaf9}.priority-list>a.urgent{background:#fffafa}.priority-marker{display:grid;place-items:center;width:31px;height:31px;background:#f1e7ea;color:var(--wine);border-radius:4px;font-weight:800}.priority-marker.late{background:#f5e2e5;color:#982c3d}.priority-marker.due{background:var(--gold-soft);color:#76561e}.priority-list b{font-size:11px}.priority-list p{overflow:hidden;max-width:440px;margin:2px 0;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.priority-list small{color:#968b8f;font-size:9px}.priority-time{text-align:right}.priority-time b,.priority-time small{display:block}.priority-time .urgent{color:#982c3d}
.agenda-list article{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid #eee9e6}.agenda-list article:last-child{border-bottom:0}.agenda-period{display:grid;place-items:center;min-height:28px;padding:5px;background:#f1e7ea;color:var(--wine);border-radius:3px;font-size:8px;font-weight:800;text-transform:uppercase}.agenda-period.tarde{background:var(--gold-soft);color:#76561e}.agenda-period.noite{background:#ece8ef;color:#5d526c}.agenda-list b{display:block;font-size:11px}.agenda-list p{margin:3px 0 0;color:var(--muted);font-size:10px}.dashboard-empty{display:flex;align-items:center;flex-direction:column;padding:38px 20px;text-align:center}.dashboard-empty span{display:grid;place-items:center;width:35px;height:35px;margin-bottom:9px;background:#e8f1ec;color:#37634b;border-radius:50%}.dashboard-empty b{font-size:11px}.dashboard-empty p{max-width:320px;margin:4px 0 0;color:var(--muted);font-size:10px}.dashboard-empty.compact{padding:30px 16px}
.dashboard-bottom{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:15px}.quick-actions,.inventory-summary{background:#fff;border:1px solid var(--line);border-radius:5px;padding:17px}.quick-actions{display:flex;align-items:stretch;gap:8px}.quick-heading{display:flex;justify-content:center;flex-direction:column;min-width:105px;padding-right:12px;border-right:1px solid var(--line)}.quick-heading h3,.inventory-summary h3{margin:0;font-size:13px}.quick-actions>a{display:flex;align-items:center;gap:8px;min-width:0;flex:1;padding:9px;background:#faf8f7;border:1px solid #ece6e3;border-radius:4px;color:inherit;text-decoration:none}.quick-actions>a:hover{background:#f5edef;border-color:#d9c5cb}.quick-actions>a>span{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;background:#f1e7ea;color:var(--wine);border-radius:3px;font-weight:800}.quick-actions b,.quick-actions small{display:block}.quick-actions b{font-size:10px}.quick-actions small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.inventory-summary>div{display:flex;gap:13px;margin-top:11px}.inventory-summary>div span{display:flex;flex-direction:column;color:var(--muted);font-size:9px}.inventory-summary>div b{color:var(--wine);font:800 18px Manrope}
@media(max-width:1180px){.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.dashboard-bottom{grid-template-columns:1fr}.quick-actions{flex-wrap:wrap}.quick-heading{width:100%;padding:0 0 9px;border:0;border-bottom:1px solid var(--line)}.quick-actions>a{flex-basis:160px}}
@media(max-width:680px){.dashboard-welcome{align-items:flex-start;flex-direction:column;padding:20px}.dashboard-welcome-actions{width:100%}.dashboard-welcome-actions>*{flex:1;text-align:center}.dashboard-metrics{gap:7px}.dashboard-metrics>a{align-items:flex-start;flex-direction:column;padding:12px}.dashboard-metrics small{white-space:normal}.dashboard-grid{gap:10px}.priority-list>a{grid-template-columns:31px minmax(0,1fr);padding:12px 14px}.priority-time{grid-column:2;text-align:left}.agenda-list article{padding:12px 14px}.quick-actions>a{flex-basis:130px}.inventory-summary>div{justify-content:space-between}}

/* Sistema visual de ícones, botões e feedback */
.ui-icon{display:block;flex:0 0 auto}aside nav a i{display:grid;place-items:center}aside nav a i .ui-icon{width:19px;height:19px}.profile button{display:grid;place-items:center;width:32px;height:32px;border-radius:4px}.profile button:hover{background:#ffffff12;color:#fff}.mobile-menu-toggle{display:grid;place-items:center}
.profile .logout-form{margin:0}.profile .logout-button{position:relative;display:flex;width:auto;min-width:32px;gap:7px;padding:0 7px}.profile .logout-button span{overflow:hidden;width:0;color:inherit;font-size:.68rem;font-weight:700;opacity:0;transition:width .18s ease,opacity .18s ease}.profile .logout-button:hover span,.profile .logout-button:focus-visible span{width:24px;opacity:1}.profile .logout-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
button,.primary,.secondary,.mini,.danger,summary.primary,summary.mini{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,opacity .16s ease}.primary,.secondary,.danger,.mini{display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.2}.primary{box-shadow:0 1px 2px #3d172014}.primary:hover{box-shadow:0 2px 6px #3d172024}.secondary{border-color:#d8ced1}.danger,.reject{border:1px solid #ebcbd0}.danger:hover,.reject:hover{background:#edd5d9;color:#711f2d}.mini{min-height:30px;border:1px solid transparent}.mini:not(.reject):hover{border-color:#d9c7cc;background:#eadde1}.approve{background:#e8f1ec;color:#37634b}.approve:hover{background:#dcebe2!important;border-color:#c6dacf!important;color:#28523c!important}button:disabled,.is-loading{cursor:wait!important;opacity:.7!important;pointer-events:none}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b58a3852;outline-offset:2px}.button-spinner{width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:button-spin .7s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}
.flash{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 12px 10px 14px;border:1px solid transparent;border-left-width:4px;box-shadow:0 2px 7px #3d17200c}.flash.success{border-color:#c8ded2;border-left-color:#4f7a61}.flash.error{border-color:#e8c7cd;border-left-color:#982c3d}.flash>.ui-icon{width:19px;height:19px}.flash>span{flex:1;font-size:12px;font-weight:600}.flash-close,.modal-close{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;padding:0;border:0;background:transparent;color:inherit;border-radius:4px;font-size:20px;cursor:pointer}.flash-close:hover{background:#ffffff80}.modal-title{align-items:flex-start}.modal-close{border:1px solid var(--line);background:#fff;color:var(--wine)}.modal-close:hover{background:#f5edef}.modal>summary,.inline-editor>summary,.loan-details>summary{cursor:pointer}

[hidden]{display:none!important}.form-dialog{width:min(720px,calc(100vw - 32px));padding:0}.form-dialog .modal-title{padding:22px 24px 18px;margin:0}.form-dialog>.guided-form{padding:21px 24px 24px}.guided-form label{color:#554d50}.required-mark{color:#9c293a}.field-help{display:block;margin-top:3px;color:#8b7d82;font-size:9px;font-weight:500;line-height:1.35}.form-section{margin:0 0 16px;padding:16px;border:1px solid #e3dcda;border-radius:5px}.form-section legend{padding:0 7px;color:var(--wine);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.form-section>label:last-child,.form-section>.grid2:last-child label:nth-last-child(-n+2){margin-bottom:0}.guided-form input:invalid:not(:placeholder-shown),.guided-form select:invalid{border-color:#c67884}.guided-form .form-actions{margin:20px -24px -24px;padding:16px 24px;background:#fcfaf9}
.bulk-toolbar{position:sticky;top:8px;z-index:8;display:flex;align-items:center;gap:10px;padding:10px 16px;background:#f5edef;border-top:1px solid #e4d5d9;border-bottom:1px solid #dac5cb;box-shadow:0 3px 9px #3d172010}.bulk-toolbar>b{margin-right:auto;color:var(--wine);font-size:11px}.bulk-toolbar label{display:flex;align-items:center;gap:8px;margin:0;color:#655b5f;font-size:10px}.bulk-toolbar select{width:190px;height:36px;margin:0;padding:7px}.bulk-toolbar .primary,.bulk-toolbar .secondary{min-height:36px;padding:7px 12px}.select-column{width:44px!important;min-width:44px!important;padding-left:14px!important;padding-right:8px!important;text-align:center}.select-column input{width:16px;height:16px;margin:0;accent-color:var(--wine)}tr.selected-row td{background:#fcf5f7}.role-administrador .equipment-table th:nth-child(2),.role-administrador_mestre .equipment-table th:nth-child(2){width:27%}.role-administrador .equipment-table th:nth-child(3),.role-administrador_mestre .equipment-table th:nth-child(3){width:13%}.role-administrador .equipment-table th:nth-child(4),.role-administrador_mestre .equipment-table th:nth-child(4){width:12%}.role-administrador .equipment-table th:nth-child(5),.role-administrador_mestre .equipment-table th:nth-child(5){width:11%}.role-administrador .equipment-table th:nth-child(6),.role-administrador_mestre .equipment-table th:nth-child(6){width:9%}.role-administrador .equipment-table th:nth-child(7),.role-administrador_mestre .equipment-table th:nth-child(7){width:10%}.role-administrador .equipment-table th:nth-child(8),.role-administrador_mestre .equipment-table th:nth-child(8){width:14%}.supplies-table{min-width:1040px}.supplies-table td:nth-child(3){white-space:normal;min-width:210px}
.trash-table{min-width:780px}.trash-panel .bulk-toolbar .danger{min-height:36px;padding:7px 12px}.category-management .item-card{align-items:flex-start}.category-management .inline-editor{align-self:center}.category-management .popover form+form{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.delete-note{display:block;margin-top:7px;color:#8c6c72;font-size:9px;line-height:1.4}.danger:disabled{background:#eee9e7;color:#9c9396;border-color:#e1dcda;cursor:not-allowed!important}

/* Portal exclusivo do professor */
.alternate-login{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.alternate-login a{color:var(--wine);font-size:11px;font-weight:700;text-decoration:none}.alternate-login a:hover{text-decoration:underline}.professor-login{background:#0d2636 url('/images/professor-login-bg.png') center/cover fixed no-repeat}.professor-login .login-art{background:linear-gradient(90deg,#0b213047,#0b213018),url('/images/professor-login-bg.png') center/cover no-repeat;border-right-color:#d5a947}.professor-login .login-art>p{color:#d8e8eb;text-shadow:0 1px 10px #071925}.professor-login .art-card{background:#071925a8;border-color:#ffffff2b;backdrop-filter:blur(5px)}.professor-login .art-card small{color:#d7e8eb}.professor-login .art-card>span{background:#d5a947}.professor-login .login-form{background:#fffffff5;backdrop-filter:blur(12px)}.professor-login .login-form h2{color:#173e56}.professor-login .eyebrow{color:#397687}.professor-login .primary{background:#246b7a;border-color:#173e56}.professor-login .primary:hover{background:#173e56}.professor-login .alternate-login a{color:#246b7a}.portal-label{margin-bottom:12px;color:#e2bd65;font-size:10px;font-weight:800;letter-spacing:.16em;text-shadow:0 1px 8px #071925}.professor-login .login-art h1,.professor-login .login-art>p,.professor-login .portal-label,.professor-login .art-card{position:relative;z-index:1}
@media(max-width:900px){.professor-login .login-form{min-height:100vh;background:#0b2130b8;padding:24px}.professor-login .login-form form{padding:25px;background:#fffffff4;border-top:4px solid #d5a947;border-radius:7px;box-shadow:0 20px 60px #06172266;backdrop-filter:blur(12px)}}
body.role-professor aside{background:#173e56;border-right-color:#24556c}body.role-professor nav a{color:#d1e1e6}body.role-professor nav a:hover{background:#24556c}body.role-professor nav a.active{background:#246b7a;box-shadow:inset 3px 0 #d5a947}body.role-professor .profile{border-color:#35677c}body.role-professor .avatar{background:#e1eef0;color:#245d6d}body.role-professor header h1{color:#173e56}.professor-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px;padding:20px 23px;background:linear-gradient(110deg,#173e56,#246b7a);border-bottom:3px solid #d5a947;border-radius:6px;color:#fff}.professor-welcome span{color:#e2bd65;font-size:9px;font-weight:800;letter-spacing:.13em}.professor-welcome h2{margin:4px 0;font-size:20px}.professor-welcome p{margin:0;color:#dcebee;font-size:12px}.professor-welcome>.ui-icon{color:#e2bd65}

/* Navegação hierárquica */
.sidebar-nav-group>summary{display:flex;align-items:center;gap:14px;min-height:42px;padding:10px 12px;color:#d9c7ce;border-radius:4px;font-size:12.5px;font-weight:600;list-style:none;cursor:pointer}.sidebar-nav-group>summary::-webkit-details-marker{display:none}.sidebar-nav-group>summary:hover,.sidebar-nav-group>summary.active{background:#5a142b;color:#fff}.sidebar-nav-group>summary.active{box-shadow:inset 3px 0 var(--gold)}.sidebar-nav-group>summary i{display:grid;place-items:center;width:22px;font-style:normal}.sidebar-nav-group>summary span{flex:1}.sidebar-nav-group>summary b{font-size:17px;font-weight:500;transition:transform .16s ease}.sidebar-nav-group[open]>summary b{transform:rotate(90deg)}.sidebar-subnav{display:grid;gap:2px;margin:3px 0 5px;padding-left:18px}.sidebar-subnav a{min-height:35px;padding:8px 10px;font-size:11px}.sidebar-subnav a i{width:18px}.sidebar-subnav a.active{background:#78131e;box-shadow:inset 2px 0 var(--gold)}body.role-professor .sidebar-nav-group>summary{color:#d1e1e6}body.role-professor .sidebar-nav-group>summary:hover,body.role-professor .sidebar-nav-group>summary.active{background:#24556c}
body.sidebar-collapsed .sidebar-nav-group>summary{justify-content:center;padding-left:8px;padding-right:8px}body.sidebar-collapsed .sidebar-nav-group>summary span,body.sidebar-collapsed .sidebar-nav-group>summary b{display:none}body.sidebar-collapsed .sidebar-subnav{padding-left:0}body.sidebar-collapsed .sidebar-subnav a{justify-content:center;padding-left:8px;padding-right:8px}body.sidebar-collapsed .sidebar-subnav a span{display:none}
@media(max-width:900px){body.sidebar-collapsed .sidebar-nav-group>summary{justify-content:flex-start;padding:10px 12px}body.sidebar-collapsed .sidebar-nav-group>summary span,body.sidebar-collapsed .sidebar-nav-group>summary b{display:block}body.sidebar-collapsed .sidebar-nav-group>summary span{flex:1}body.sidebar-collapsed .sidebar-subnav{padding-left:18px}body.sidebar-collapsed .sidebar-subnav a{justify-content:flex-start;padding:8px 10px}body.sidebar-collapsed .sidebar-subnav a span{display:inline}}

/* Atalho administrativo para o portal do professor */
.professor-portal-shortcut{display:grid;grid-template-columns:1fr auto;gap:5px;margin-top:auto;padding:12px 7px;border-top:1px solid #6b243c;border-bottom:1px solid #6b243c}.professor-portal-shortcut>span{grid-column:1/-1;color:#d9b766;font-size:8px;font-weight:800;letter-spacing:.11em}.professor-portal-shortcut a,.professor-portal-shortcut button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 8px;border:1px solid #8d5264;border-radius:4px;background:#ffffff0b;color:#f3e8eb;font-size:9px;text-decoration:none;cursor:pointer}.professor-portal-shortcut a:hover,.professor-portal-shortcut button:hover{background:#ffffff17;border-color:#b58a38}.professor-portal-shortcut button span{white-space:nowrap}.copy-feedback{grid-column:1/-1;min-height:11px;color:#d9b766;font-size:8px;text-align:center}.professor-portal-shortcut+.profile{margin-top:10px}.sidebar-collapsed .professor-portal-shortcut{display:block;padding:9px 4px;text-align:center}.sidebar-collapsed .professor-portal-shortcut>span,.sidebar-collapsed .professor-portal-shortcut button,.sidebar-collapsed .professor-portal-shortcut .copy-feedback,.sidebar-collapsed .professor-portal-shortcut a b{display:none}.sidebar-collapsed .professor-portal-shortcut a{padding:7px}
@media(max-width:900px){body.sidebar-collapsed .professor-portal-shortcut{display:grid;grid-template-columns:1fr auto;padding:12px 7px;text-align:left}body.sidebar-collapsed .professor-portal-shortcut>span,body.sidebar-collapsed .professor-portal-shortcut button,body.sidebar-collapsed .professor-portal-shortcut .copy-feedback,body.sidebar-collapsed .professor-portal-shortcut a b{display:flex}body.sidebar-collapsed .professor-portal-shortcut>span,body.sidebar-collapsed .professor-portal-shortcut .copy-feedback{display:block}}

/* Portal do professor na identidade vinho e dourado da UniMB */
.professor-login{background-color:var(--wine-deep);background-position:0 center;background-blend-mode:multiply}.professor-login .login-art{background-image:linear-gradient(90deg,#3d0712b8,#520a126e),url('/images/professor-login-bg.png');background-position:0 center!important;background-size:auto 100%!important;background-repeat:no-repeat;background-color:#0b1824;border-right-color:var(--gold)}.professor-login .login-form h2{color:#471428}.professor-login .eyebrow{color:var(--wine)}.professor-login .primary{background:var(--wine);border-color:var(--wine-deep)}.professor-login .primary:hover{background:var(--wine-deep)}.professor-login .alternate-login a{color:var(--wine)}
body.role-professor aside{background:var(--wine-deep);border-right-color:#5d1a31}body.role-professor nav a{color:#d9c7ce}body.role-professor nav a:hover{background:#5a142b}body.role-professor nav a.active{background:var(--wine-active);box-shadow:inset 3px 0 var(--gold)}body.role-professor .profile{border-color:#6b243c}body.role-professor .avatar{background:#f1e4e8;color:var(--wine)}body.role-professor header h1{color:#3d1523}.professor-welcome{background:linear-gradient(110deg,var(--wine-deep),var(--wine));border-bottom-color:var(--gold)}.professor-welcome span,.professor-welcome>.ui-icon{color:#d9b766}.professor-welcome p{color:#eadde1}
@media(max-width:900px){.professor-login .login-form{background:#3d0712b8}}
@media(max-width:680px){.form-dialog .modal-title{padding:18px 16px 15px}.form-dialog>.guided-form{padding:17px 16px 20px}.guided-form .form-actions{position:sticky;bottom:-20px;margin:18px -16px -20px;padding:12px 16px}.form-section{padding:13px}.bulk-toolbar{align-items:stretch;flex-wrap:wrap;top:0;padding:10px}.bulk-toolbar>b{width:100%}.bulk-toolbar label{flex:1}.bulk-toolbar select{width:100%}.bulk-toolbar .primary,.bulk-toolbar .secondary{flex:1}.equipment-table .select-column,.supplies-table .select-column{display:block;position:absolute;right:12px;z-index:2;width:32px!important;min-width:32px!important;padding:6px!important}.equipment-table tr,.supplies-table tr{position:relative}.supplies-table,.supplies-table tbody,.supplies-table tr,.supplies-table td{display:block;width:100%;min-width:0}.supplies-table thead{display:none}.supplies-table tr{padding:14px 15px;border-top:1px solid var(--line)}.supplies-table td{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:8px;padding:7px 0;border:0;white-space:normal}.supplies-table td::before{content:attr(data-label);color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase}.supplies-table td:nth-child(2),.supplies-table td:first-child:not(.select-column){padding-right:45px}}
.pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--line);background:#faf8f7}.pagination a,.pagination span{padding:7px 10px;border:1px solid var(--line);background:#fff;color:var(--wine);text-decoration:none;font-size:10px;font-weight:700}.pagination span{color:#aaa;background:#f5f2f1}.pagination small{margin:0 5px;color:var(--muted)}

/* Enquadramento responsivo consolidado */
.mobile-menu-toggle,.sidebar-overlay{display:none}
main{width:auto;min-width:0;max-width:none}.panel,.toolbar,.hero,.reservation-intro{max-width:100%}.table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:760px}.modal-card{width:min(680px,calc(100vw - 32px))}.popover{max-width:calc(100vw - 32px)}
@media(min-width:1400px){main{padding-left:48px;padding-right:48px}.stats,.card-grid,.model-grid{gap:18px}.panel-head{padding-left:26px;padding-right:26px}}
@media(max-width:1180px){main{padding:28px 28px 60px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid,.detail-grid.lower{grid-template-columns:1fr}.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-filters .search{grid-column:1/-1}.today-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.today-overview .today-title{grid-column:span 2}}
@media(max-width:900px){
  body,body.sidebar-collapsed{overflow-x:hidden}
  aside,body.sidebar-collapsed aside{position:fixed;display:flex;flex-direction:column;inset:0 auto 0 0;width:min(286px,86vw);height:100dvh;padding:24px 18px 26px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:10px 0 35px #26030b38;z-index:60}
  body.sidebar-mobile-open aside,body.sidebar-mobile-open.sidebar-collapsed aside{transform:translateX(0)}
  body.sidebar-mobile-open{overflow:hidden}
  body.sidebar-collapsed .brand{justify-content:flex-start;padding-left:10px;padding-right:10px}
  body.sidebar-collapsed .brand>div,body.sidebar-collapsed nav a>span,body.sidebar-collapsed .profile>div:nth-child(2){display:flex}
  body.sidebar-collapsed .brand>img{width:48px}
  body.sidebar-collapsed nav a{justify-content:flex-start;padding:10px 12px}
  body.sidebar-collapsed .profile{justify-content:flex-start;flex-wrap:nowrap}
  body.sidebar-collapsed .profile form{width:auto;text-align:left}
  aside .brand,aside .profile{display:flex}
  aside .brand b,aside .brand small{display:block}
  aside nav{display:grid;width:100%;overflow-y:auto;align-content:start;padding-right:2px}
  aside nav a,body.sidebar-collapsed aside nav a{justify-content:flex-start;font-size:12.5px}
  aside nav a>span,body.sidebar-collapsed aside nav a>span{display:inline}
  .sidebar-toggle{display:none}
  .mobile-menu-toggle{position:fixed;display:grid;place-items:center;left:16px;top:18px;width:38px;height:38px;padding:0;border:1px solid #d7c7cc;border-radius:4px;background:#fff;color:var(--wine);font-size:19px;box-shadow:var(--shadow);z-index:50}
  .sidebar-overlay{position:fixed;display:none;inset:0;border:0;background:#21050d99;z-index:55}
  body.sidebar-mobile-open .sidebar-overlay{display:block}
  main,body.sidebar-collapsed main{width:100%;margin-left:0;padding:22px 22px 55px}
  main>header{min-height:45px;padding-left:48px;margin-bottom:22px}
  .brand div,.profile>div:nth-child(2){display:flex}
  .brand{padding-left:10px;padding-right:10px}
  .reservation-subnav{overflow-x:auto;white-space:nowrap;justify-content:flex-start}
  .reservation-subnav a{flex:0 0 auto}
  .wide-popover{width:min(520px,calc(100vw - 34px))}
}
@media(max-width:680px){
  main,body.sidebar-collapsed main{padding:18px 13px 42px}
  main>header{align-items:flex-start;padding-left:48px;padding-bottom:14px;margin-bottom:18px}
  header h1{font-size:22px}header p{font-size:11px;line-height:1.45}.date{display:none}
  .mobile-menu-toggle{left:13px;top:15px}
  .hero,.reservation-intro{padding:21px 18px}.hero h2,.reservation-intro h2{font-size:21px}.hero{align-items:flex-start}.hero .primary{display:none}
  .stats,.card-grid,.model-grid,.grid2,.grid3,.model-mode,.equipment-filters,.supply-filters,.user-overview,.today-overview{grid-template-columns:1fr}
  .today-overview .today-title{grid-column:auto}
  .stats{gap:7px}.stats article{min-height:75px;padding:13px}.stats strong{font-size:22px}
  .toolbar{align-items:stretch;flex-direction:column;gap:9px}.toolbar>.actions{width:100%;flex-wrap:wrap}.toolbar>.actions>*{flex:1 1 auto;text-align:center}
  .search,.filter{width:100%}.search input,.user-toolbar>.search input{width:calc(100% - 24px);min-width:0}
  .user-filters{display:grid;width:100%;grid-template-columns:1fr}.user-filters select{width:100%}
  .panel-head{align-items:flex-start;flex-direction:column;gap:11px;padding:16px}.summary-filter{width:100%;display:grid;grid-template-columns:1fr auto 1fr}.summary-filter input{width:100%}.summary-filter .secondary{grid-column:1/-1}
  .calendar-controls{width:100%;justify-content:space-between}.calendar-controls strong{min-width:0}.calendar-weekdays,.calendar-grid{padding-left:6px;padding-right:6px}.calendar-day{min-height:54px}.calendar-day small{line-height:1.15}
  .calendar-day-summary{margin-left:8px;margin-right:8px}.summary-cards{grid-template-columns:1fr 1fr;padding:0 10px 12px}
  .reservation-step{grid-template-columns:28px minmax(0,1fr);padding:10px}.choice-group label{align-items:flex-start}
  .modal-bg{align-items:end;padding:0}.modal-card{width:100%;max-height:94dvh;border-radius:7px 7px 0 0;padding:21px 16px}.modal-title h3{font-size:17px}
  .form-actions{position:sticky;bottom:-21px;margin-left:-16px;margin-right:-16px;padding:12px 16px;background:#fff;z-index:2}.form-actions>*{flex:1}
  .popover,.wide-popover{position:fixed;inset:50% auto auto 50%;width:calc(100vw - 26px);max-height:84dvh;overflow-y:auto;transform:translate(-50%,-50%);z-index:80}
  .equipment-gallery{grid-template-columns:1fr 1fr;padding:0 10px 10px}.equipment-gallery figure>a{height:120px}
  .table-wrap table{min-width:700px}
}
@media(max-width:420px){
  .stats{grid-template-columns:1fr 1fr}.stats article{display:block}.stat-icon{margin-bottom:7px}
  .summary-cards{grid-template-columns:1fr}.equipment-gallery{grid-template-columns:1fr}
  .calendar-day{min-height:48px;padding:3px}.calendar-day b{font-size:10px}.calendar-day small{font-size:7px}
  .primary,.secondary,.danger{padding-left:10px;padding-right:10px}
}

/* Refinamento da listagem de equipamentos */
.equipment-filters{grid-template-columns:minmax(250px,1fr) repeat(3,minmax(145px,180px)) auto auto;gap:9px;padding:12px 13px}
.equipment-filters .equipment-search{height:42px;margin:0;padding:0 12px;display:flex;align-items:center;gap:9px;color:var(--wine)}
.equipment-filters .equipment-search>span{width:16px;flex:0 0 16px;text-align:center;font-size:15px}
.equipment-filters .equipment-search input{min-width:0;width:100%;height:auto;margin:0;padding:0;border:0;outline:0;background:transparent;box-shadow:none}
.equipment-filters select{min-width:0;font-size:12px}
.equipment-filters .primary,.equipment-filters .secondary{height:42px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.result-count{font-size:12px;line-height:1.4}
.toolbar>.actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}
.toolbar>.actions .modal>summary,.toolbar>.actions>a{white-space:nowrap}
.model-catalog{margin-top:20px;margin-bottom:20px}
.model-grid{grid-template-columns:repeat(auto-fill,minmax(285px,343px))}
.model-category>header{margin:0}
.equipment-table{min-width:1000px;table-layout:fixed}
.equipment-table th:nth-child(1){width:29%}.equipment-table th:nth-child(2){width:13%}.equipment-table th:nth-child(3){width:13%}.equipment-table th:nth-child(4){width:11%}.equipment-table th:nth-child(5){width:9%}.equipment-table th:nth-child(6){width:10%}.equipment-table th:nth-child(7){width:15%}
.equipment-table td{padding:12px 14px;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}
.equipment-table td:first-child,.equipment-table td:nth-child(2),.equipment-table td:last-child{white-space:normal}
.equipment-table .equipment-cell{min-width:0}.equipment-table .equipment-cell>div{min-width:0}.equipment-table .equipment-cell b{display:block;overflow:hidden;text-overflow:ellipsis}
.equipment-table .actions{gap:4px;flex-wrap:wrap}.equipment-table .mini{padding:6px 8px;text-decoration:none}

@media(max-width:1180px) and (min-width:681px){
  .equipment-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.equipment-filters .equipment-search{grid-column:1/-1}
  .equipment-table{min-width:980px}
}
@media(max-width:680px){
  .equipment-filters .equipment-search,.equipment-filters select{grid-column:auto}
  .equipment-filters .primary,.equipment-filters .secondary{width:100%}
  .model-grid{grid-template-columns:1fr}.model-category{max-width:none}
  .equipment-list-panel .table-wrap{overflow:visible}
  .equipment-table,.equipment-table tbody,.equipment-table tr,.equipment-table td{display:block;width:100%;min-width:0}
  .equipment-table thead{display:none}
  .equipment-table tr{padding:14px 15px;border-top:1px solid var(--line)}
  .equipment-table td{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:8px;padding:7px 0;border:0;white-space:normal;overflow:visible}
  .equipment-table td::before{content:attr(data-label);color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
  .equipment-table td:first-child{display:block;padding:0 0 13px}.equipment-table td:first-child::before{display:none}
  .equipment-table .equipment-cell b{white-space:normal}
  .equipment-table .actions{justify-content:flex-start}
}

/* Configuração de usuários em modal, fora do fluxo da tabela */
.user-toolbar .user-search{margin:0;display:flex;align-items:center;gap:9px;min-height:42px;color:var(--wine)}
.user-toolbar .user-search>span{width:16px;flex:0 0 16px;text-align:center;font-size:15px}
.user-toolbar .user-search input{width:100%;min-width:0;margin:0;padding:0;border:0;outline:0;background:transparent;box-shadow:none}
.users-table td:last-child{min-width:210px}.users-table .actions{align-items:center}
.user-config[open]::before{content:"";position:fixed;inset:0;background:#260812a8;backdrop-filter:blur(2px);z-index:74}
.user-config .user-config-modal{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:75;width:min(650px,calc(100vw - 32px));max-width:none;max-height:min(720px,calc(100dvh - 32px));overflow-y:auto;padding:0;border:1px solid #d8ced1;border-top:4px solid var(--wine);border-radius:6px;background:#fff;box-shadow:0 24px 70px #26081242}
.user-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid var(--line);background:#fcfaf9}
.user-config-head small{display:block;margin-bottom:4px;color:var(--wine);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.user-config-head h3{margin:0 0 4px;font-size:18px;color:#3d1523}.user-config-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.user-config-head>button{width:32px;height:32px;flex:0 0 32px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--wine);font-size:21px;line-height:1;cursor:pointer}
.user-config-modal>form{padding:21px 24px 24px}.user-config-modal .module-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 14px}
.user-config-modal .module-grid label{min-height:44px}.permission-note{margin:0;padding:10px 12px;border-left:3px solid var(--gold);background:var(--gold-soft);color:#675022;font-size:10px}
.user-config-actions{display:flex;justify-content:flex-end;gap:8px;margin:20px -24px -24px;padding:14px 24px;border-top:1px solid var(--line);background:#fcfaf9}
.user-config-actions .primary,.user-config-actions .secondary{min-width:120px;text-align:center}

@media(max-width:680px){
  .user-config .user-config-modal{inset:auto 0 0;width:100%;max-height:92dvh;transform:none;border-radius:7px 7px 0 0}
  .user-config-head{padding:18px 16px 15px}.user-config-modal>form{padding:18px 16px 20px}
  .user-config-modal .module-grid{grid-template-columns:1fr 1fr}
  .user-config-actions{position:sticky;bottom:-20px;margin:18px -16px -20px;padding:12px 16px}.user-config-actions>*{flex:1;min-width:0!important}
}
@media(max-width:420px){.user-config-modal .module-grid{grid-template-columns:1fr}}

/* Consolidação visual, acessibilidade e estados operacionais */
button,a,input,select,textarea,summary{transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b58a3866;outline-offset:2px}
button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}
summary{cursor:pointer}
.badge.cancelada,.badge.cancelado,.badge.indisponivel{background:#eee9e9;color:#625b5d}
.badge.manutencao,.badge.Danificado{background:#f5e2e5;color:#852b3c}
.badge.em_andamento{background:#eae7ed;color:#5a5067}
.field-help{display:block;margin-top:4px;color:var(--muted);font-weight:500;line-height:1.4}
.flash{display:flex;align-items:center;gap:10px;border:1px solid currentColor}
.flash span{flex:1}.flash-close{width:30px;height:30px;border:0;background:transparent;color:inherit;font-size:20px;cursor:pointer}
.panel-head h3{line-height:1.25}.panel-head p{line-height:1.5}
td{vertical-align:middle}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(prefers-contrast:more){:root{--line:#9d9396;--muted:#4c4749}button,a,input,select,textarea{border-width:2px}}

/* Sistema tipográfico UniMB */
html{font-size:16px}
body,button,input,select,textarea,optgroup{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-feature-settings:"kern" 1,"liga" 1}
body{font-size:14px;line-height:1.55;letter-spacing:.002em}
h1,h2,h3,h4,h5,h6,.brand b,.stats strong,.dashboard-metrics strong,.loan-overview strong,.user-overview strong,.summary-cards strong,.today-overview strong,.inventory-summary b{font-family:var(--font-display);font-optical-sizing:auto}
.avatar,.person>span,.nav-badge,.choice-group>strong,.reservation-user strong,.reservation-step>b,.sidebar-toggle,.reservation-status strong,.calendar-controls strong,.calendar-day b,.today-title strong,.model-category>header>span{font-family:var(--font-display)}
header h1{font-size:clamp(1.45rem,2vw,1.75rem);font-weight:720;line-height:1.18;letter-spacing:-.032em}
header p,.panel-head p{font-size:.82rem;line-height:1.55}
.panel-head h3,.section-heading h2{font-size:1rem;font-weight:700;letter-spacing:-.018em}
.hero h2,.reservation-intro h2{font-weight:720;letter-spacing:-.025em}
.brand b{font-size:1.13rem;font-weight:720;line-height:1.08;letter-spacing:-.022em}
nav a{font-size:.79rem;font-weight:600;letter-spacing:.006em}
label{font-size:.76rem;font-weight:650;line-height:1.4;letter-spacing:.005em}
input,select,textarea{font-size:.875rem;line-height:1.45}
input::placeholder,textarea::placeholder{color:#91888b;font-weight:400}
button,.primary,.secondary,.mini{font-size:.78rem;font-weight:650;letter-spacing:.003em}
th{font-size:.66rem;font-weight:700;letter-spacing:.065em}
td{font-size:.81rem;line-height:1.45}
.badge,.role-label,.access-count{font-size:.66rem;letter-spacing:.018em}
.stats small,.dashboard-metrics small,.loan-overview span,.user-overview span,.summary-cards small{font-weight:650;letter-spacing:.055em}
.stats strong,.loan-overview strong,.dashboard-metrics strong,.user-overview strong{font-weight:740;letter-spacing:-.035em}
.eyebrow,.portal-label,.reservation-intro>div>span:first-child{font-family:var(--font-sans);font-weight:750;letter-spacing:.14em}
.login-art h1{font-size:clamp(2.35rem,4vw,3.6rem);font-weight:740;line-height:1.04;letter-spacing:-.048em}
.login-art>p{font-size:1.02rem;line-height:1.65}
.login-form h2{font-size:clamp(1.75rem,2.5vw,2.15rem);font-weight:720;line-height:1.15;letter-spacing:-.038em}
.login-form form>p:not(.eyebrow){font-size:.88rem;line-height:1.6}
.person b,.profile b{font-weight:650;letter-spacing:-.005em}
small,.field-help{line-height:1.45}
@media(max-width:680px){body{font-size:13.5px}header h1{font-size:1.35rem}.panel-head h3{font-size:.96rem}td{font-size:.79rem}.login-form h2{font-size:1.7rem}}

/* Indicadores: leitura rápida, sem tipografia comprimida */
.dashboard-metrics{gap:12px;margin-bottom:20px}
.dashboard-metrics>a{min-height:96px;gap:15px;padding:17px 18px;border-radius:7px}
.dashboard-metrics a>div{gap:2px}
.dashboard-metrics small{font-size:.69rem;font-weight:700;line-height:1.25;letter-spacing:.045em;white-space:normal}
.dashboard-metrics strong{font-size:1.75rem;line-height:1.05;font-weight:720;letter-spacing:-.04em}
.dashboard-metrics em{font-size:.7rem;line-height:1.35;white-space:normal}
.metric-icon{width:42px;height:42px;flex-basis:42px;border-radius:6px;font-size:.68rem}
.loan-overview article,.user-overview article{min-height:92px}
.loan-overview span,.user-overview span{font-size:.68rem;line-height:1.3}
.loan-overview strong,.user-overview strong{font-size:1.65rem;line-height:1.1}
.loan-overview small{font-size:.7rem;line-height:1.35}
@media(max-width:1100px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.dashboard-metrics{gap:8px}.dashboard-metrics>a{min-height:88px;padding:14px}.dashboard-metrics small{font-size:.64rem}.dashboard-metrics strong{font-size:1.5rem}.dashboard-metrics em{font-size:.65rem}.metric-icon{width:38px;height:38px;flex-basis:38px}}

/* Acesso rápido: hierarquia e legibilidade */
.quick-actions{min-height:112px;gap:10px;padding:16px 18px}
.quick-heading{min-width:120px;padding-right:18px}
.quick-heading .eyebrow{margin-bottom:4px;font-size:.66rem;line-height:1.3}
.quick-heading h3{font-size:1.02rem;font-weight:720;line-height:1.2;letter-spacing:-.02em}
.quick-actions>a{min-height:76px;gap:11px;padding:13px 14px;border-radius:6px}
.quick-actions>a>span{width:34px;height:34px;flex-basis:34px;border-radius:5px}
.quick-actions>a>div{min-width:0}
.quick-actions b{font-size:.78rem;font-weight:680;line-height:1.3;letter-spacing:-.008em}
.quick-actions small{margin-top:3px;font-size:.66rem;line-height:1.35;white-space:normal}
@media(max-width:1050px){.dashboard-bottom{grid-template-columns:1fr}.quick-actions{flex-wrap:wrap}.quick-heading{width:100%;min-width:0;padding:0 0 12px;border-right:0;border-bottom:1px solid var(--line)}.quick-actions>a{min-width:calc(50% - 5px)}}
@media(max-width:680px){.quick-actions{padding:14px}.quick-actions>a{width:100%;min-width:100%}.quick-actions b{font-size:.76rem}.quick-actions small{font-size:.65rem}}

/* Laboratórios de informática */
.lab-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:32px;min-height:190px;margin-bottom:15px;padding:30px 34px;overflow:hidden;border-radius:8px;background:linear-gradient(125deg,#3f0710 0%,#70121d 62%,#861a27 100%);color:#fff}
.lab-hero::after{content:"";position:absolute;right:-90px;bottom:-150px;width:360px;height:360px;border:1px solid #d9b76633;border-radius:50%}
.lab-hero .eyebrow{color:#e0bd6b}.lab-hero h2{max-width:720px;margin:7px 0 9px;font-size:clamp(1.65rem,3vw,2.3rem);font-weight:730;line-height:1.08;letter-spacing:-.042em}.lab-hero p{max-width:720px;margin:0;color:#eadce0;font-size:.87rem;line-height:1.65}
.lab-hero-visual{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:20px;border:1px solid #ffffff26;background:#ffffff0c;backdrop-filter:blur(8px)}
.lab-hero-visual>span{height:38px;border:1px solid #d9b76666;background:linear-gradient(#ffffff18,#ffffff08)}.lab-hero-visual b,.lab-hero-visual small{grid-column:1/-1;text-align:center}.lab-hero-visual b{margin-top:6px;font-family:var(--font-display);font-size:2rem;line-height:1}.lab-hero-visual small{color:#e7d4da;font-size:.7rem}
.lab-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.lab-metrics article{display:flex;min-height:88px;flex-direction:column;justify-content:center;padding:15px 17px;border:1px solid var(--line);border-top:3px solid var(--wine);border-radius:6px;background:#fff}.lab-metrics span{color:var(--muted);font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.055em}.lab-metrics strong{font:730 1.65rem/1.05 var(--font-display);color:#421425;letter-spacing:-.035em}.lab-metrics small{margin-top:3px;color:#8b8084;font-size:.68rem}
.lab-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:15px}.lab-date-control{display:flex;align-items:end;gap:8px}.lab-date-control label{margin:0}.lab-date-control input{width:165px;margin-top:5px}.lab-feature-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-8px 0 16px}.lab-feature-inputs input{margin:0}
.lab-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px;margin-bottom:18px}.lab-card{position:relative;min-width:0;padding:18px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 3px 12px #3d172009}.lab-card.inactive{opacity:.65}.lab-card-top{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:11px}.lab-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:6px;background:#f1e7ea;color:var(--wine)}.lab-card-top>div:nth-child(2){min-width:0}.lab-card-top>div:nth-child(2)>span{color:var(--gold);font-size:.62rem;font-weight:800;letter-spacing:.09em}.lab-card h3{margin:1px 0 2px;font-size:.95rem;font-weight:710;line-height:1.3}.lab-card-top p{margin:0;color:var(--muted);font-size:.7rem}
.lab-capacity{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:15px 0 12px}.lab-capacity>div{display:flex;align-items:baseline;gap:6px;padding:10px;background:#f9f7f6;border-left:3px solid var(--wine)}.lab-capacity strong{font:730 1.25rem var(--font-display);color:var(--wine)}.lab-capacity span{color:var(--muted);font-size:.64rem}.lab-description{min-height:38px;margin:0 0 11px;color:#5f575a;font-size:.72rem;line-height:1.5}.lab-features{display:flex;min-height:25px;flex-wrap:wrap;gap:5px}.lab-features span{padding:4px 7px;border:1px solid #e6dddf;border-radius:20px;background:#fbf9f8;color:#655b5e;font-size:.61rem}
.lab-availability{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.lab-availability>b{display:block;margin-bottom:8px;font-size:.68rem}.lab-availability>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.lab-availability span{display:grid;grid-template-columns:7px 1fr;align-items:center;gap:5px;padding:7px 6px;border-radius:4px;background:#f8f6f5;font-size:.62rem;font-weight:650}.lab-availability i{width:7px;height:7px;border-radius:50%}.lab-availability small{grid-column:2;color:var(--muted);font-size:.56rem;font-weight:500}.lab-availability .free i{background:#478565}.lab-availability .occupied{background:#f6e7e9;color:#7d2635}.lab-availability .occupied i{background:#9c3040}.lab-admin{position:absolute;right:16px;bottom:15px}
.lab-agenda{margin-bottom:18px}.lab-agenda-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 18px 18px}.lab-agenda-column{min-width:0;border:1px solid var(--line);background:#faf8f7}.lab-agenda-column>header{display:flex;align-items:center;justify-content:space-between;margin:0;padding:10px 12px;border-bottom:1px solid var(--line);background:#f2e8eb}.lab-agenda-column>header span{color:var(--wine);font-size:.72rem;font-weight:700}.lab-agenda-column>header small{color:var(--muted);font-size:.62rem}.lab-agenda-column article{display:flex;flex-direction:column;gap:2px;margin:8px;padding:10px;border-left:3px solid var(--wine);background:#fff}.lab-agenda-column article b{font-size:.72rem}.lab-agenda-column article span{font-size:.68rem}.lab-agenda-column article small{color:var(--muted);font-size:.61rem}.lab-slot-free{margin:8px;padding:17px;border:1px dashed #d8ced1;color:#81767a;text-align:center;font-size:.67rem}.lab-history{margin-bottom:18px}.lab-empty{grid-column:1/-1;border:1px dashed var(--line);background:#fff}
@media(max-width:1180px){.lab-catalog{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}.lab-hero{grid-template-columns:1fr 190px}.lab-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.lab-hero{display:block;min-height:0;padding:25px 22px}.lab-hero-visual{display:none}.lab-toolbar{align-items:stretch;flex-direction:column}.lab-date-control{width:100%}.lab-date-control label{flex:1}.lab-date-control input{width:100%}.lab-toolbar>.actions{justify-content:stretch}.lab-toolbar>.actions>details{flex:1}.lab-toolbar>.actions summary{text-align:center}.lab-catalog,.lab-agenda-grid{grid-template-columns:1fr}.lab-feature-inputs{grid-template-columns:1fr}.lab-agenda-grid{padding:0 12px 12px}}
@media(max-width:460px){.lab-metrics{grid-template-columns:1fr 1fr;gap:7px}.lab-metrics article{min-height:78px;padding:12px}.lab-metrics span{font-size:.6rem}.lab-metrics strong{font-size:1.4rem}.lab-card{padding:15px}.lab-card-top{grid-template-columns:38px minmax(0,1fr)}.lab-card-top>.badge{grid-column:2}.lab-symbol{width:38px;height:38px}.lab-admin{position:static;margin-top:12px}.lab-availability>div{grid-template-columns:1fr}}

/* Controles dos laboratorios: agenda, reserva e administracao */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lab-toolbar{align-items:stretch;padding:12px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 3px 12px #3d172008}
.lab-date-control{align-items:center;min-width:0}
.lab-toolbar-title{display:flex;min-width:142px;flex-direction:column;justify-content:center;padding-right:15px;border-right:1px solid var(--line)}
.lab-toolbar-title span{color:var(--wine);font-size:.6rem;font-weight:800;letter-spacing:.12em}
.lab-toolbar-title strong{font-size:.8rem;font-weight:680}
.lab-date-control label{display:flex}.lab-date-control input{width:158px;height:42px;margin:0}
.lab-date-control .secondary{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px}
.lab-today-link{display:inline-flex;min-height:42px;align-items:center;padding:0 7px;color:var(--wine);font-size:.72rem;font-weight:700;text-decoration:none}
.lab-today-link:hover{text-decoration:underline}
.lab-toolbar-actions{margin-left:auto;align-items:stretch;gap:8px}
.lab-toolbar-actions>div,.lab-toolbar-actions details{display:flex}
.lab-action-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.lab-reservation-action .lab-action-button::before{content:"+";display:grid;width:18px;height:18px;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.8rem;line-height:1}
.lab-management-action .lab-action-button::before{content:"";width:14px;height:14px;border:1px solid currentColor;box-shadow:inset 0 -4px 0 #ffffff55}
.lab-card-actions{display:flex;align-items:center;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}
.lab-reserve-card{min-height:37px;flex:1;padding:7px 12px;border:1px solid var(--wine);border-radius:4px;background:var(--wine);color:#fff;font-size:.72rem;font-weight:700;cursor:pointer}
.lab-reserve-card:hover{background:#5f0d1a;box-shadow:0 4px 12px #54101c24}
.lab-admin{position:static;margin:0 0 0 auto}
.lab-admin summary{display:inline-flex;min-height:37px;align-items:center;justify-content:center}

@media(max-width:760px){
  .lab-toolbar{padding:10px}
  .lab-date-control{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
  .lab-toolbar-title{grid-column:1/-1;width:100%;padding:0 0 9px;border-right:0;border-bottom:1px solid var(--line)}
  .lab-date-control label,.lab-date-control input{width:100%}
  .lab-toolbar-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
  .lab-toolbar-actions>div,.lab-toolbar-actions details,.lab-toolbar-actions summary{width:100%}
}
@media(max-width:460px){
  .lab-date-control{grid-template-columns:minmax(0,1fr) auto}
  .lab-today-link{grid-column:1/-1;min-height:auto;justify-content:center;padding:2px}
  .lab-toolbar-actions{grid-template-columns:1fr}
  .lab-card-actions{align-items:stretch;flex-direction:column}
  .lab-reserve-card,.lab-admin,.lab-admin summary{width:100%;margin:0}
}

/* Modal de configuracao e central de orientacoes dos laboratorios */
.lab-config-card{width:min(720px,94vw)}
.lab-config-card>.lab-toggle-form{margin:0;padding:12px 24px 22px;border-top:1px solid var(--line);background:#fcfaf9}
.lab-config-card>.lab-toggle-form .danger{min-height:39px}
.lab-guidance{margin-bottom:18px}
.lab-guidance .panel-head>details summary{white-space:nowrap}
.lab-guidance-grid{display:grid;gap:9px;padding:0 18px 18px}
.lab-guidance-grid>article{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:12px;padding:15px;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:5px;background:#fff}
.lab-guidance-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:5px;background:var(--gold-soft);color:var(--wine)}
.lab-guidance-grid h4{margin:0 0 3px;color:#421425;font-size:.86rem}.lab-guidance-grid p{margin:0 0 7px;color:var(--muted);font-size:.72rem}
.lab-guidance-content{max-width:820px;margin:8px 0;padding:9px 11px;border-left:2px solid #ddc88f;background:#fbf9f5;color:#554d50;font-size:.72rem;line-height:1.55}
.lab-guidance-grid small{color:#8a8083;font-size:.62rem}
.lab-guidance-actions{display:flex;align-items:center;gap:6px}.lab-guidance-actions .secondary{padding:7px 10px;font-size:.68rem;text-decoration:none;white-space:nowrap}
.lab-history td:last-child .actions{flex-wrap:wrap}
@media(max-width:680px){
  .lab-config-card>.lab-toggle-form{padding:11px 16px 18px}
  .lab-guidance .panel-head>details,.lab-guidance .panel-head>details summary{width:100%;text-align:center}
  .lab-guidance-grid{padding:0 12px 12px}.lab-guidance-grid>article{grid-template-columns:36px minmax(0,1fr);padding:12px}.lab-guidance-icon{width:36px;height:36px}
  .lab-guidance-actions{grid-column:1/-1;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--line)}
}

/* Recorrencia e aviso de antecedencia das reservas */
.lab-recurrence-box{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;padding:13px;border:1px solid var(--line);border-radius:5px;background:#faf8f7}
.lab-recurrence-box label{margin:0}.lab-recurrence-box select,.lab-recurrence-box input{margin-top:5px}
.lab-advance-note{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:11px 13px;border-left:4px solid var(--gold);background:var(--gold-soft)}
.lab-advance-note strong{flex:0 0 auto;color:#5d3d08;font-size:.72rem}.lab-advance-note span{color:#695c43;font-size:.69rem;line-height:1.5}
.lab-urgent-warning[hidden]{display:none}.lab-urgent-warning{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:24px;background:#20040de8;backdrop-filter:blur(7px)}
.lab-urgent-warning>div{width:min(780px,100%);padding:clamp(26px,5vw,54px);border:2px solid #e2b94e;border-top-width:8px;border-radius:8px;background:#fff;box-shadow:0 30px 100px #0008;text-align:center}
.lab-urgent-warning>div>span{display:block;margin-bottom:14px;color:#8a101e;font-size:.75rem;font-weight:850;letter-spacing:.16em}
.lab-urgent-warning h2{max-width:680px;margin:0 auto 18px;color:#4c0b17;font:750 clamp(1.65rem,4vw,2.75rem)/1.08 var(--font-display);letter-spacing:-.04em}
.lab-urgent-warning p{max-width:650px;margin:0 auto 26px;color:#5e5558;font-size:.92rem;line-height:1.65}
.lab-urgent-warning>div>div{display:flex;justify-content:center;gap:9px}.lab-urgent-warning button{min-height:44px}
body.modal-locked{overflow:hidden}
@media(max-width:560px){
  .lab-recurrence-box{grid-template-columns:1fr}.lab-advance-note{flex-direction:column;gap:3px}
  .lab-urgent-warning{align-items:end;padding:0}.lab-urgent-warning>div{padding:28px 18px;border-radius:8px 8px 0 0}.lab-urgent-warning h2{font-size:1.65rem}.lab-urgent-warning p{font-size:.82rem}
  .lab-urgent-warning>div>div{flex-direction:column}.lab-urgent-warning button{width:100%}
}
.detail-readonly{padding:18px}.detail-readonly>div{min-width:0;padding:11px 12px;border:1px solid var(--line);background:#faf8f7}.detail-readonly small{display:block;margin-bottom:3px;color:var(--muted);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.detail-readonly b,.detail-readonly p{margin:0;color:#4d4145;font-size:.78rem;line-height:1.5}.detail-readonly a{color:var(--wine);font-size:.76rem;font-weight:700}
.field-help.capacity-alert{margin-top:7px;padding:7px 9px;border-left:3px solid #a52032;background:#f9e8ea;color:#7d1525;font-weight:700}
@media(max-width:560px){.lab-catalog{grid-template-columns:1fr}}
.lab-description{min-height:0;margin:0 0 12px}.lab-description p{margin:0 0 8px;color:#5f575a;font-size:.72rem;line-height:1.5}.lab-description small{display:block;padding:9px 10px;border-left:3px solid var(--gold);background:#fff9ec;color:#6b5a37;font-size:.66rem;line-height:1.5}.lab-description small strong{color:#54200d}

/* Consolidação final de tipografia, navegação e componentes */
:root{--sidebar-width:272px;--content-gutter:clamp(22px,3vw,48px);--control-height:42px}
html{scroll-behavior:smooth}
body{font-size:14px;line-height:1.55;letter-spacing:0}
body>aside{width:var(--sidebar-width);padding:24px 16px 22px}
body>aside .brand{min-height:66px;gap:12px;padding:0 9px 20px}
body>aside .brand>img{width:45px;height:54px}
body>aside .brand b{font-size:1rem;line-height:1.16}
body>aside .brand small{margin-top:3px;font-size:.62rem}
body>aside>nav{display:flex;min-height:0;flex:1;flex-direction:column;gap:3px;margin:2px -4px 12px;padding:0 4px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ffffff2e transparent}
body>aside>nav>a,body>aside .sidebar-nav-group>summary{min-height:43px;gap:11px;padding:9px 11px;border-radius:5px;font-size:.77rem;font-weight:630;line-height:1.25}
body>aside>nav>a>i,body>aside .sidebar-nav-group>summary>i{width:23px;flex:0 0 23px}
body>aside>nav>a>span,body>aside .sidebar-nav-group>summary>span{min-width:0;overflow-wrap:anywhere}
body>aside>nav>a:hover,body>aside>nav>a.active,body>aside .sidebar-nav-group>summary:hover,body>aside .sidebar-nav-group>summary.active{box-shadow:inset 3px 0 var(--gold)}
body>aside .sidebar-subnav{margin:2px 0 5px;padding:2px 0 2px 24px;border-left:1px solid #ffffff1c}
body>aside .sidebar-subnav a{min-height:35px;padding:7px 9px;font-size:.7rem}
body>aside .professor-portal-shortcut{margin-top:0}
body>aside .profile{flex:0 0 auto;margin-top:0;padding-top:16px}
body>aside .profile b{overflow:hidden;font-size:.75rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
body>aside .profile small{font-size:.65rem}
body>main{margin-left:var(--sidebar-width);padding:30px var(--content-gutter) 64px}
body>main>header{min-height:64px;margin-bottom:24px;padding-bottom:16px}
body>main>header>div:first-child{min-width:0}
body>main>header h1{font-size:clamp(1.45rem,2.1vw,1.8rem);line-height:1.18}
body>main>header p{font-size:.8rem;line-height:1.5}
.date{min-width:108px;text-align:center;white-space:nowrap}
h1,h2,h3,h4,h5,h6{text-wrap:balance}
p{overflow-wrap:break-word}
button,.primary,.secondary,.danger{min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.2}
.mini{display:inline-flex;min-height:32px;align-items:center;justify-content:center;line-height:1.2;text-decoration:none}
.toolbar{min-width:0;gap:12px}.toolbar>.actions{min-width:0}
.modal-card{overscroll-behavior:contain}.modal-title{align-items:flex-start;gap:18px;padding-bottom:15px}.modal-title>div{min-width:0}.modal-title p{margin-bottom:0;line-height:1.5}
summary::-webkit-details-marker{display:none}summary::marker{content:""}
.panel-head{gap:16px}.panel-head>div{min-width:0}
input,select,textarea{min-height:var(--control-height);line-height:1.4}
textarea{min-height:92px}

body.sidebar-collapsed>aside{width:78px}
body.sidebar-collapsed>main{margin-left:78px}
body.sidebar-collapsed>aside>nav{overflow:visible}
body.sidebar-collapsed>aside>nav>a>span{display:none}
body.sidebar-collapsed>aside>nav>a,body.sidebar-collapsed>aside .sidebar-nav-group>summary{justify-content:center;padding-left:8px;padding-right:8px}

@media(max-width:1100px) and (min-width:901px){
  :root{--sidebar-width:238px;--content-gutter:24px}
  body>aside{padding-left:12px;padding-right:12px}
  body>aside .brand b{font-size:.92rem}
  body>aside>nav>a,body>aside .sidebar-nav-group>summary{font-size:.72rem}
}
@media(max-width:900px){
  body>aside,body.sidebar-collapsed>aside{width:min(300px,88vw);padding:22px 17px}
  body>aside>nav,body.sidebar-collapsed>aside>nav{overflow-y:auto}
  body>aside>nav>a>span,body.sidebar-collapsed>aside>nav>a>span{display:inline}
  body>aside>nav>a,body.sidebar-collapsed>aside>nav>a,body.sidebar-collapsed>aside .sidebar-nav-group>summary{justify-content:flex-start;padding:9px 11px}
  body>main,body.sidebar-collapsed>main{margin-left:0;padding:22px 20px 54px}
}
@media(max-width:600px){
  :root{--content-gutter:13px}
  body>main,body.sidebar-collapsed>main{padding:17px var(--content-gutter) 40px}
  body>main>header{min-height:56px;margin-bottom:17px;padding:0 0 13px 45px}
  body>main>header h1{font-size:1.32rem}
  body>main>header p{font-size:.72rem}
  .toolbar>.actions{width:100%}
  .toolbar>.actions>*,.toolbar>.actions>details>summary{max-width:100%}
  .modal-title{padding-bottom:13px}
}

/* Estados desativados sem perda de legibilidade */
.item-card.inactive,.lab-card.inactive,.calendar-day.disabled{opacity:1}
.item-card.inactive,.lab-card.inactive{background:#faf8f7;border-style:dashed}
.item-card.inactive .badge,.lab-card.inactive .badge{border:1px solid #ddbcc3;background:#f5e2e5;color:#782637}
.calendar-day.disabled{background:#f1eeec;color:#746d70}
button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:1}
button:disabled{border-color:#d8d1ce;background:#ece9e7;color:#6e676a}
input:disabled,select:disabled,textarea:disabled{border-color:#d8d1ce;background:#f1efed;color:#5f595b}

/* Tipografia unificada de menus e navegação */
body>aside>nav,
body>aside>nav a,
body>aside>nav summary,
.sidebar-subnav,
.reservation-subnav,
.loan-tabs,
.toolbar,
.quick-actions,
.calendar-controls,
.agenda-filters,
.equipment-filters,
.user-filters,
.supply-filters{
  font-family:var(--font-sans);
  font-optical-sizing:auto;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"kern" 1,"liga" 1;
}
body>aside>nav>a,
body>aside .sidebar-nav-group>summary{
  font-size:.79rem;
  font-weight:650;
  letter-spacing:.002em;
}
body>aside .sidebar-subnav a{
  font-size:.71rem;
  font-weight:600;
  letter-spacing:.008em;
}
.reservation-subnav a,
.loan-tabs a{
  font-size:.72rem;
  font-weight:650;
  letter-spacing:.004em;
}
.toolbar .filter,
.toolbar .result-count,
.calendar-controls,
.agenda-filters label,
.equipment-filters select,
.user-filters select,
.supply-filters select{
  font-size:.72rem;
  font-weight:600;
}
.modal>summary,
.inline-editor>summary,
.loan-details>summary,
.toolbar a,
.toolbar button,
.quick-actions b{
  font-family:var(--font-sans);
  font-size:.76rem;
  font-weight:650;
  letter-spacing:.002em;
}
select,option,optgroup{
  font-family:var(--font-sans);
  font-size:.83rem;
}
optgroup{font-weight:700}
option{font-weight:450}

/* Agenda central de reservas */
.agenda-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px;padding:24px 27px;border-radius:7px;background:linear-gradient(115deg,var(--wine-deep),var(--wine));color:#fff}.agenda-hero>div{min-width:0}.agenda-hero>div>span{color:#e1bd68;font-size:.62rem;font-weight:800;letter-spacing:.13em}.agenda-hero h2{margin:5px 0 4px;font-size:1.55rem}.agenda-hero p{margin:0;color:#eadde1;font-size:.78rem}.agenda-hero>details{flex:0 0 auto}.agenda-modal{width:min(760px,calc(100vw - 32px))}
.agenda-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}.agenda-metrics article{display:flex;min-height:78px;flex-direction:column;justify-content:center;padding:13px 16px;border:1px solid var(--line);border-top:3px solid var(--wine);border-radius:5px;background:#fff}.agenda-metrics span{color:var(--muted);font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.agenda-metrics strong{color:var(--wine);font:730 1.5rem var(--font-display)}
.agenda-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto auto;align-items:end;gap:8px;margin-bottom:14px;padding:12px 13px;border:1px solid var(--line);border-radius:5px;background:#fff}.agenda-filters label{margin:0}.agenda-filters input,.agenda-filters select{margin-top:4px}.agenda-filters .primary,.agenda-filters .secondary{height:42px}
.agenda-board{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:8px;overflow-x:auto;padding:2px 1px 10px;overscroll-behavior-inline:contain}.agenda-day{min-height:270px;border:1px solid var(--line);border-radius:5px;background:#fff}.agenda-day.today{border-color:var(--gold);box-shadow:inset 0 3px var(--gold)}.agenda-day>header{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;margin:0;padding:10px 11px;border-bottom:1px solid var(--line);background:#faf8f7}.agenda-day>header div{display:flex;align-items:baseline;gap:5px}.agenda-day>header span{color:var(--wine);font-size:.58rem;font-weight:800}.agenda-day>header strong{font:730 1.15rem var(--font-display)}.agenda-day>header small{color:var(--muted);font-size:.62rem;text-transform:uppercase}.agenda-day>header>b{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#f0e5e8;color:var(--wine);font-size:.6rem}.agenda-day>div{display:grid;gap:6px;padding:8px}
.agenda-event{padding:9px;border-left:3px solid var(--wine);background:#faf6f7}.agenda-event.equipment{border-left-color:#655878;background:#f7f5f9}.agenda-event.cancelled{border-left-color:#8b8385;background:#f1efef}.agenda-event>span{display:block;color:var(--muted);font-size:.55rem;font-weight:700}.agenda-event>strong{display:block;margin:2px 0;color:#45383d;font-size:.68rem;line-height:1.3}.agenda-event>p{margin:0 0 4px;color:#6e6468;font-size:.61rem;line-height:1.35}.agenda-event>small{color:#8b8084;font-size:.55rem}.agenda-event>div{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.agenda-event em,.agenda-event i{padding:2px 5px;border-radius:3px;background:#eee5e8;color:var(--wine);font-size:.52rem;font-style:normal;font-weight:700}.agenda-event i{background:var(--gold-soft);color:#72531c}.agenda-free{display:grid;min-height:190px;place-items:center;border:1px dashed var(--line);color:#8a8084;font-size:.65rem}
.agenda-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:7px;color:var(--muted);font-size:.66rem}.agenda-legend span{display:flex;align-items:center;gap:5px}.agenda-legend i{width:9px;height:9px;background:var(--wine)}.agenda-legend i.equipment{background:#655878}.agenda-legend i.combined{background:var(--gold)}
.agenda-equipment-choice{max-height:230px;overflow:auto;margin:0 0 14px;padding:12px;border:1px solid var(--line)}.agenda-equipment-choice legend{font-size:.72rem;font-weight:700}.agenda-equipment-choice legend small{color:var(--muted)}.agenda-equipment-choice>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.agenda-equipment-choice>div>strong{grid-column:1/-1;margin-top:5px;color:var(--wine);font-size:.65rem}.agenda-equipment-choice label{display:flex;align-items:flex-start;gap:7px;margin:0;padding:7px;background:#faf8f7}.agenda-equipment-choice input{width:auto;min-height:0;margin:2px 0 0}.agenda-equipment-choice span{font-size:.67rem}.agenda-equipment-choice span small{display:block;color:var(--muted)}
@media(max-width:1050px){.agenda-metrics{grid-template-columns:repeat(2,1fr)}.agenda-filters{grid-template-columns:repeat(2,1fr)}.agenda-filters .primary,.agenda-filters .secondary{width:100%}}
@media(max-width:680px){.agenda-hero{align-items:stretch;flex-direction:column;padding:20px}.agenda-hero>details,.agenda-hero>details>summary{width:100%}.agenda-metrics{gap:7px}.agenda-metrics article{min-height:70px;padding:11px}.agenda-filters{grid-template-columns:1fr 1fr}.agenda-equipment-choice>div{grid-template-columns:1fr}.agenda-board{grid-template-columns:repeat(7,82vw)}}
.lab-form-intro{display:flex;flex-direction:column;margin:-4px 0 16px;padding:11px 13px;border-left:3px solid var(--gold);background:#faf7f0}.lab-form-intro strong{color:#4d202b;font-size:.78rem}.lab-form-intro span{margin-top:2px;color:var(--muted);font-size:.68rem}
.lab-calendar{margin-bottom:16px;overflow:hidden}.lab-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px 16px}.lab-calendar-head h3{margin:3px 0;font-size:1.15rem}.lab-calendar-head p{margin:0;color:var(--muted);font-size:.72rem}.lab-calendar-nav{display:flex;align-items:center;gap:10px}.lab-calendar-nav a,.lab-calendar-nav>span{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--wine);font-size:1.25rem;text-decoration:none}.lab-calendar-nav>span{color:#888;background:#f4f1ef}.lab-calendar-nav strong{min-width:150px;text-align:center;font-size:.8rem;text-transform:capitalize}.lab-calendar-weekdays,.lab-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:0 22px}.lab-calendar-weekdays span{padding-bottom:5px;color:var(--muted);font-size:.61rem;font-weight:750;text-align:center;text-transform:uppercase}.lab-calendar-grid{padding-bottom:14px}.lab-calendar-day,.lab-calendar-blank{min-height:82px}.lab-calendar-day{display:flex;min-width:0;flex-direction:column;justify-content:space-between;padding:10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#3f3438;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}.lab-calendar-day:not(.disabled):hover{z-index:1;border-color:var(--wine);box-shadow:0 6px 16px #4f101b17;transform:translateY(-1px)}.lab-calendar-day b{font:720 .9rem var(--font-display)}.lab-calendar-day small{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.59rem;line-height:1.25}.lab-calendar-day small i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#478565}.lab-calendar-day.full small i{background:#a03c4a}.lab-calendar-day.today{box-shadow:inset 0 0 0 2px var(--gold)}.lab-calendar-day.selected{border-color:var(--wine);background:#f8edef;color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine)}.lab-calendar-day.disabled{background:#f2efed;color:#746d70;cursor:not-allowed}.lab-calendar-legend{display:flex;flex-wrap:wrap;gap:16px;padding:10px 22px 13px;border-top:1px solid var(--line);background:#faf8f7}.lab-calendar-legend span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.61rem}.lab-calendar-legend i{width:8px;height:8px;border-radius:50%;background:#478565}.lab-calendar-legend i.full{background:#a03c4a}.lab-calendar-legend i.selected{border-radius:2px;background:var(--wine)}
@media(max-width:700px){.lab-calendar-head{align-items:flex-start;flex-direction:column;padding:16px 14px 12px}.lab-calendar-nav{width:100%;justify-content:space-between}.lab-calendar-nav strong{min-width:0}.lab-calendar-weekdays,.lab-calendar-grid{gap:3px;padding-left:8px;padding-right:8px}.lab-calendar-day,.lab-calendar-blank{min-height:60px}.lab-calendar-day{padding:6px}.lab-calendar-day small{font-size:.5rem}.lab-calendar-day small i{display:none}.lab-calendar-legend{padding-left:12px;padding-right:12px}}
@media(max-width:420px){.lab-calendar-day,.lab-calendar-blank{min-height:52px}.lab-calendar-day b{font-size:.75rem}.lab-calendar-day small{overflow:hidden;display:block;white-space:nowrap;text-overflow:ellipsis}}
.lab-calendar-professor{min-height:calc(100vh - 150px);margin:0;border:0;border-radius:10px;background:linear-gradient(145deg,#fff 0%,#fcf8f7 100%);box-shadow:0 18px 55px #41101a12}.lab-booking-guide{display:grid;grid-template-columns:minmax(220px,.75fr) 1.8fr;gap:24px;padding:20px 34px;background:linear-gradient(115deg,#470914,#741521);color:#fff}.lab-booking-guide>div{display:flex;flex-direction:column;justify-content:center}.lab-booking-guide>div strong{font-size:.92rem}.lab-booking-guide>div span{margin-top:3px;color:#e7d7db;font-size:.67rem}.lab-booking-guide ol{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0;padding:0;list-style:none}.lab-booking-guide li{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #ffffff1f;border-radius:5px;background:#ffffff0b}.lab-booking-guide li b{display:grid;width:25px;height:25px;flex:0 0 auto;place-items:center;border-radius:50%;background:#d7b45d;color:#4c0a14;font-size:.7rem}.lab-booking-guide li span{font-size:.64rem;line-height:1.4}.lab-calendar-professor .lab-calendar-head{padding:26px 34px 21px}.lab-calendar-professor .lab-calendar-head h3{color:#40101a;font-size:clamp(1.5rem,2.5vw,2.15rem);letter-spacing:-.035em}.lab-calendar-professor .lab-calendar-head p{max-width:590px;font-size:.82rem;line-height:1.55}.lab-calendar-nav form{margin:0}.lab-calendar-nav select{min-width:180px;height:36px;margin:0;padding:0 34px 0 11px;border-color:var(--line);font-size:.72rem;font-weight:700;text-transform:capitalize}.lab-calendar-professor .lab-calendar-weekdays,.lab-calendar-professor .lab-calendar-grid{gap:9px;padding-left:34px;padding-right:34px}.lab-calendar-professor .lab-calendar-day,.lab-calendar-professor .lab-calendar-blank{min-height:clamp(76px,9vh,105px)}.lab-calendar-professor .lab-calendar-day{padding:13px}.lab-calendar-professor .lab-calendar-day b{font-size:1.05rem}.lab-calendar-professor .lab-calendar-day small{font-size:.65rem}.lab-day-intro{position:relative;margin-bottom:14px;padding:27px 30px;border-radius:9px;background:linear-gradient(120deg,#490914,#7d1725);color:#fff;overflow:hidden}.lab-day-intro::after{content:"";position:absolute;right:-55px;top:-105px;width:270px;height:270px;border:1px solid #e1bd6755;border-radius:50%}.lab-day-intro>a{position:relative;z-index:1;display:inline-flex;margin-bottom:24px;color:#f0d98e;font-size:.72rem;font-weight:750;text-decoration:none}.lab-day-intro>span{display:block;color:#dfbd68;font-size:.62rem;font-weight:800;letter-spacing:.14em}.lab-day-intro h2{margin:5px 0 6px;font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.04em}.lab-day-intro p{margin:0;color:#eadde0;font-size:.78rem}.lab-day-intro~.lab-catalog{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:16px}.lab-day-intro~.lab-catalog .lab-card{padding:22px;border-radius:9px;box-shadow:0 10px 28px #40101a0d}.lab-day-intro~.lab-catalog .lab-card:hover{border-color:#d5b6bd;box-shadow:0 15px 35px #40101a16}.lab-day-intro~.lab-catalog .lab-availability span{min-height:49px;padding:9px}
@media(max-width:700px){.lab-calendar-professor{min-height:calc(100vh - 120px)}.lab-booking-guide{grid-template-columns:1fr;padding:17px 15px;gap:12px}.lab-booking-guide ol{grid-template-columns:1fr}.lab-booking-guide li{padding:8px}.lab-calendar-professor .lab-calendar-head{padding:20px 16px 17px}.lab-calendar-nav select{width:100%;min-width:0}.lab-calendar-professor .lab-calendar-weekdays,.lab-calendar-professor .lab-calendar-grid{gap:4px;padding-left:8px;padding-right:8px}.lab-calendar-professor .lab-calendar-day,.lab-calendar-professor .lab-calendar-blank{min-height:64px}.lab-calendar-professor .lab-calendar-day{padding:7px}.lab-day-intro{padding:22px 19px}.lab-day-intro>a{margin-bottom:19px}.lab-day-intro~.lab-catalog{grid-template-columns:1fr}.lab-day-intro~.lab-catalog .lab-card{padding:17px}}
.professor-day-toolbar{justify-content:flex-end;padding:0;border:0;background:transparent;box-shadow:none}.professor-day-toolbar .lab-date-control{display:none}.professor-day-toolbar .lab-toolbar-actions{margin-left:auto}

/* Tipografia estável: impede fallback de controles e componentes com shorthand legado. */
body,button,input,select,textarea,optgroup,option,table,th,td,summary,label,a,small,strong,b,em,span,p,li{font-family:var(--font-sans)!important}

/* Movimento institucional: foil discreto, ações vivas e navegação reativa. */
.hero,.dashboard-welcome,.reservation-intro,.professor-welcome,.lab-hero{position:relative;isolation:isolate;overflow:hidden}
.hero::after,.dashboard-welcome::after,.reservation-intro::after,.professor-welcome::after,.lab-hero::after{content:"";position:absolute;z-index:-1;inset:-80% -35%;background:linear-gradient(112deg,transparent 36%,#fff2bd1f 44%,#fff8da42 49%,#d6a94a24 54%,transparent 63%);transform:translateX(-52%) rotate(5deg);animation:unimb-foil 8s ease-in-out infinite;pointer-events:none}
.primary:not(:disabled),summary.primary,.lab-reserve-card{background-image:linear-gradient(112deg,var(--wine-deep) 0%,var(--wine) 38%,#9d2634 50%,var(--wine) 62%,var(--wine-deep) 100%);background-size:220% 100%;animation:unimb-action-glow 2.8s ease-in-out infinite;color:#fff}
.primary:not(:disabled):hover,summary.primary:hover,.lab-reserve-card:hover{background-position:100% 0;box-shadow:0 0 0 3px #b58a3826,0 6px 16px #520a122b;transform:translateY(-1px)}
body>aside nav a,.sidebar-nav-group>summary,.sidebar-subnav a{transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}
body>aside nav a:hover,.sidebar-nav-group>summary:hover,.sidebar-subnav a:hover{transform:translateX(4px);box-shadow:inset 3px 0 var(--gold),0 5px 14px #2603082b}
body>aside nav a:hover i,.sidebar-nav-group>summary:hover i,.sidebar-subnav a:hover i{transform:scale(1.12);color:#f3ce73}
body>aside nav a i,.sidebar-nav-group>summary i,.sidebar-subnav a i{transition:transform .18s ease,color .18s ease}
.conversation-card,.item-card,.lab-card,.panel{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.conversation-card:hover,.item-card:hover,.lab-card:hover{transform:translateY(-2px);border-color:#c5a060;box-shadow:0 9px 24px #520a1217}
@keyframes unimb-foil{0%,18%{transform:translateX(-58%) rotate(5deg)}52%,100%{transform:translateX(58%) rotate(5deg)}}
@keyframes unimb-action-glow{0%,100%{background-position:0 0;box-shadow:0 1px 2px #3d172014}50%{background-position:100% 0;box-shadow:0 0 0 3px #b58a3819,0 4px 11px #520a1221}}
@media(prefers-reduced-motion:reduce){.hero::after,.dashboard-welcome::after,.reservation-intro::after,.professor-welcome::after,.lab-hero::after,.primary:not(:disabled),summary.primary,.lab-reserve-card{animation:none!important}body>aside nav a:hover,.sidebar-nav-group>summary:hover,.sidebar-subnav a:hover,.conversation-card:hover,.item-card:hover,.lab-card:hover{transform:none}}
.period-time-settings{margin:14px 0;padding:14px;border:1px solid var(--line);background:#faf8f7}.period-time-settings>legend{padding:0 6px;color:var(--wine);font-size:.74rem;font-weight:750}.period-time-settings>div{display:grid;grid-template-columns:70px 1fr 1fr;align-items:end;gap:9px;padding:8px 0;border-bottom:1px solid var(--line)}.period-time-settings>div>strong{align-self:center;color:var(--wine);font-size:.72rem}.period-time-settings label{margin:0}.period-time-settings input{margin-top:4px}.period-time-settings>small{display:block;margin-top:9px;color:var(--muted)}
@media(max-width:520px){.period-time-settings>div{grid-template-columns:1fr 1fr}.period-time-settings>div>strong{grid-column:1/-1}}
.reservation-option-locked{border-style:dashed!important;background:#f6f3f3!important}.reservation-option-locked span{color:#655b5e}.reservation-option-locked em{color:var(--wine);font-weight:750}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display)!important}
.user-filter-form{display:flex;min-width:0;flex:1;align-items:center;gap:10px}.user-filter-form>.user-search{min-width:260px;flex:1}.user-filter-form .user-filters{align-items:center}.user-filter-form .secondary{min-height:42px;padding:9px 14px}.users-table{table-layout:auto}.users-table thead th{position:sticky;top:0;z-index:2}.users-panel .table-wrap{max-width:100%}
@media(max-width:1050px){.user-filter-form{width:100%;flex-wrap:wrap}.user-filter-form>.user-search{flex-basis:100%}.user-filter-form .user-filters{display:grid;width:100%;grid-template-columns:1fr 1fr auto auto}.user-filter-form .user-filters select{width:100%}}
@media(max-width:900px){.users-table thead{display:none}.users-table,.users-table tbody,.users-table tr,.users-table td{display:block;width:100%}.users-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;background:#f7f5f3}.users-table tr{min-width:0;padding:15px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 3px 12px #3d172009}.users-table td{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;min-width:0!important;padding:7px 0;border:0;white-space:normal}.users-table td::before{content:attr(data-label);color:var(--muted);font-size:.58rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.users-table td:first-child{display:block;padding:0 0 12px;border-bottom:1px solid var(--line)}.users-table td:first-child::before{display:none}.users-table .person{min-width:0}.users-table .person div{min-width:0}.users-table .person b,.users-table .person small{overflow-wrap:anywhere}.users-table .actions{justify-content:flex-start}.users-panel .pagination{padding-left:12px;padding-right:12px}}
@media(max-width:620px){.user-filter-form .user-filters{grid-template-columns:1fr 1fr}.user-filter-form .user-filters .secondary,.user-filter-form .user-filters .mini{display:flex;align-items:center;justify-content:center}.users-table tbody{grid-template-columns:1fr;padding:8px}.user-overview{grid-template-columns:1fr 1fr}.user-toolbar>details,.user-toolbar>details summary{width:100%;text-align:center}}
.audit-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:15px}.audit-metrics article{display:flex;min-height:82px;flex-direction:column;justify-content:center;padding:14px 17px;border:1px solid var(--line);border-top:3px solid var(--wine);border-radius:6px;background:#fff}.audit-metrics span{color:var(--muted);font-size:.65rem;font-weight:750;text-transform:uppercase}.audit-metrics strong{color:var(--wine);font-size:1.55rem}.audit-filters{display:grid;grid-template-columns:1.4fr repeat(4,minmax(125px,.7fr)) auto;align-items:end;gap:9px;margin-bottom:15px;padding:15px}.audit-filters label{margin:0}.audit-filters input,.audit-filters select{margin-top:5px}.audit-filters>div{display:flex;gap:6px}.audit-panel{margin-bottom:20px}.audit-table td{max-width:330px;white-space:normal;vertical-align:top}.audit-table pre{max-width:420px;max-height:260px;overflow:auto;margin:8px 0 0;padding:10px;border:1px solid var(--line);border-radius:4px;background:#faf8f7;color:#4d4447;font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.audit-entity{display:inline-block;padding:4px 7px;border-radius:3px;background:#f2e8eb;color:var(--wine);font-size:.66rem;font-weight:700;text-transform:capitalize}
@media(max-width:1100px){.audit-filters{grid-template-columns:1fr 1fr 1fr}.audit-filters>div{align-self:end}.audit-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.audit-filters{grid-template-columns:1fr}.audit-filters>div>*{flex:1;text-align:center}.audit-table thead{display:none}.audit-table,.audit-table tbody,.audit-table tr,.audit-table td{display:block;width:100%}.audit-table tr{padding:12px 14px;border-top:1px solid var(--line)}.audit-table td{display:grid;grid-template-columns:80px minmax(0,1fr);max-width:none;padding:6px 0;border:0;white-space:normal}.audit-table td::before{content:attr(data-label);color:var(--muted);font-size:.58rem;font-weight:750;text-transform:uppercase}.audit-table pre{max-width:100%}}

/* Calendários: navegação e leitura consistentes em todas as larguras. */
.reservation-calendar .panel-head{gap:16px}.calendar-controls select{width:185px;height:36px;margin:0;padding:0 32px 0 11px;border-color:var(--line);font-size:.72rem;font-weight:700;text-transform:capitalize}.calendar-controls button:disabled{background:#f1eeec;color:#8a8285;cursor:not-allowed}.calendar-day.has-reservations{border-left:3px solid var(--wine)}.calendar-day.enabled.empty small{color:#337253}.calendar-day.disabled small{color:#786f72}.calendar-grid>span{min-height:58px}.calendar-day-summary{overflow:hidden}
@media(max-width:700px){.reservation-calendar .panel-head{align-items:stretch;flex-direction:column;padding:16px 12px 12px}.reservation-calendar .calendar-controls{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) 38px}.calendar-controls select{width:100%;min-width:0}.calendar-weekdays,.calendar-grid{gap:3px;padding-left:7px;padding-right:7px}.calendar-weekdays span{font-size:.56rem}.calendar-day,.calendar-grid>span{min-height:58px}.calendar-day{min-width:0;padding:6px 5px}.calendar-day b{font-size:.72rem}.calendar-day small{overflow:hidden;display:block;width:100%;font-size:.5rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.anonymous-reservations{grid-template-columns:1fr 1fr}.calendar-day-summary{margin:10px 7px 0;padding:11px}}
@media(max-width:430px){.calendar-weekdays span{font-size:0}.calendar-weekdays span::first-letter{font-size:.56rem}.calendar-day,.calendar-grid>span{min-height:50px}.calendar-day{padding:4px}.calendar-day.has-reservations{border-left-width:2px}.calendar-day small{font-size:0}.calendar-day small::after{content:"";display:block;width:6px;height:6px;margin-top:8px;border-radius:50%;background:#8b8285}.calendar-day.enabled.empty small::after{background:#478565}.calendar-day.has-reservations small::after{background:var(--wine)}.anonymous-reservations{grid-template-columns:1fr}.lab-calendar-professor .lab-calendar-day small{font-size:0}.lab-calendar-professor .lab-calendar-day small i{display:block;margin-top:auto}.lab-calendar-professor .lab-calendar-day,.lab-calendar-professor .lab-calendar-blank{min-height:54px}.lab-calendar-legend{gap:9px}.lab-calendar-legend span{font-size:.55rem}}
.choice-group label.reserved-on-day{background:#f5eeee;color:#6f5960;cursor:not-allowed}.choice-group label.reserved-on-day input{accent-color:#9d3545}.choice-group [data-day-status]{display:block;margin-top:2px;color:#982d3e;font-size:.58rem;font-style:normal;font-weight:750}
.credential-guidance{display:flex;flex-direction:column;margin:-2px 0 17px;padding:11px 13px;border-left:3px solid var(--gold);background:#faf7ef}.credential-guidance strong{color:#4d202b;font-size:.76rem}.credential-guidance span{margin-top:3px;color:var(--muted);font-size:.66rem;line-height:1.5}
.admin-login{background:#26070e url('/images/admin-login-bg.png') left center/cover fixed no-repeat}.admin-login .login-art{position:relative;isolation:isolate;background-image:linear-gradient(90deg,#28070ecf 0%,#430b14a8 46%,#33070d69 100%),url('/images/admin-login-bg.png');background-position:32% center;background-size:cover;background-repeat:no-repeat;border-right-color:var(--gold)}.admin-login .login-art::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,#21060d85,transparent 55%)}.admin-login .login-art h1,.admin-login .login-art>p,.admin-login .portal-label,.admin-login .art-card{position:relative;z-index:1;text-shadow:0 2px 18px #160308}.admin-login .login-art>p{color:#eadde1}.admin-login .art-card{background:#21060db3;border-color:#ffffff2e;backdrop-filter:blur(6px)}.admin-login .art-card small{color:#e8dce0}.admin-login .login-form{background:#fffffff8;backdrop-filter:blur(14px)}
.equipment-reference-upload{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:start;gap:16px}.equipment-reference-preview{display:grid;height:150px;place-items:center;overflow:hidden;border:1px dashed #cdbfc3;border-radius:6px;background:#f7f3f2;color:var(--muted);font-size:.68rem}.equipment-reference-preview img{width:100%;height:100%;object-fit:cover}.equipment-gallery figure.cover-image{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.equipment-gallery figure.cover-image figcaption{background:#faf3df;color:#5d4318}
@media(max-width:620px){.equipment-reference-upload{grid-template-columns:1fr}.equipment-reference-preview{height:180px}}
@media(max-width:900px){.admin-login{display:grid;grid-template-rows:minmax(230px,34vh) 1fr}.admin-login .login-art{display:flex;min-height:230px;padding:80px 28px 26px;justify-content:flex-end;background-position:36% 28%}.admin-login .login-art .seal{top:17px;left:22px;width:58px;height:68px}.admin-login .login-art h1{margin:4px 0 7px;font-size:clamp(1.7rem,6vw,2.35rem)}.admin-login .login-art>p{margin:0;font-size:.78rem}.admin-login .art-card{display:none}.admin-login .portal-label{margin:0;font-size:.55rem}.admin-login .login-form{padding:28px 20px}}
@media(max-width:520px){.admin-login{grid-template-rows:210px 1fr}.admin-login .login-art{min-height:210px;padding:76px 18px 20px;background-position:30% 25%}.admin-login .login-form{align-items:start;padding-top:25px}}
