.portal{font-size:16px;line-height:1.5}.portal h1{font-size:clamp(25px,4vw,36px);margin:0}.portal h2{font-size:22px;margin:12px 0 18px}.portal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0}.portal-heading p{margin:4px 0;color:#c5bb9d}.portal label{display:block}.portal input:not([type=checkbox]),.portal select{display:block;width:100%;min-width:0;min-height:44px;margin:6px 0 16px;padding:10px 12px;color:#f6df9b;background:#151515;border:1px solid #65522c;border-radius:8px;font:inherit;color-scheme:dark}.portal button{background:#e9c468!important;color:#14110a!important;border:1px solid #e9c468!important;border-radius:8px;padding:10px 16px!important;font-size:16px;min-height:44px;line-height:1.3}.portal button:hover{background:#ffdfa0!important}.portal button:disabled{opacity:.5}.portal .muted{color:#c5bb9d;font-size:14px}.profile-form{display:flex;gap:12px;align-items:center}.profile-form label{flex:1}.profile-form button{margin-top:9px}.student-picker{max-width:520px}.summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1px;background:#554423;border:1px solid #554423;border-radius:14px;overflow:hidden;margin:24px 0}.summary>div{display:flex;flex-direction:column;justify-content:center;padding:22px;background:#14130f}.summary strong{font-size:36px;color:#ffdb7e}.summary span{font-size:14px;color:#dbcba5}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.panel{border:1px solid #554423;border-radius:14px;padding:20px;background:#11110e}.weekdays{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.weekdays label{display:flex;flex-direction:column;align-items:center;border:1px solid #554423;padding:8px;border-radius:6px}.portal input[type=checkbox]{width:20px;height:20px;accent-color:#e9c468;flex-shrink:0}.portal .check{display:flex;align-items:flex-start;gap:9px;line-height:1.4;margin:16px 0}.notice{border-left:3px solid #e9c468;background:#201b0e;padding:14px}.error{border-left:3px solid #ff9696;background:#301414;color:#ffd0d0;padding:14px}.sessions{display:grid;gap:12px}.session{border:1px solid #554423;border-radius:12px;padding:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}.session span{display:block;color:#c5bb9d;font-size:14px;margin-top:6px}.actions{display:flex;flex-wrap:wrap;gap:8px}.makeup{width:100%}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #fff3ce!important;outline-offset:3px}a{color:#f4d17c}@media(max-width:700px){.admin-grid{grid-template-columns:1fr}.summary>div{padding:16px 10px}.summary strong{font-size:28px}.profile-form{display:block}.profile-form button{margin:0}.portal-heading{align-items:flex-start}.portal-heading button{padding:8px!important}.session{align-items:flex-start}}.square-panel{margin:24px 0}.square-card{min-height:90px;background:#fff;border-radius:8px;padding:16px;margin:16px 0}.square-refresh{margin:16px 0}.square-reference{overflow-wrap:anywhere;font-size:12px!important}.student-content{border:0;padding:0;margin:0;min-width:0}.portal details>summary{cursor:pointer;padding:16px 0;color:#bba775}.portal details{margin:16px 0}.contact-profile{margin:24px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-profile input[readonly]{color:#c5bb9d;background:#202018}.contact-profile .muted{margin-top:0;line-height:1.5}.contact-details dt{font-size:14px;color:#c5bb9d;margin-top:14px}.contact-details dd{margin:2px 0 12px;overflow-wrap:anywhere}.contact-profile form>label:not(.check){margin-top:22px}@media(max-width:700px){.contact-grid{grid-template-columns:1fr;gap:0}.contact-profile{padding:16px}}.chat-panel summary{font-weight:700;font-size:1.1rem;cursor:pointer}.chat-messages{display:flex;flex-direction:column;gap:12px;max-height:420px;overflow:auto;margin:18px 0}.chat-message{border:1px solid #665021;border-radius:12px;padding:12px;max-width:90%;overflow-wrap:anywhere}.chat-message.mine{align-self:flex-end;background:#26200e}.chat-message.theirs{align-self:flex-start;background:#161616}.chat-message p{white-space:pre-wrap;margin:8px 0}.chat-message time{font-size:.8rem;color:#c2b58c}.chat-panel textarea{display:block;resize:vertical;width:100%;box-sizing:border-box;background:#171717;color:#ffe5a0;border:1px solid #665021;border-radius:8px;padding:12px;font:inherit;margin:8px 0 14px}.portal button.danger-button{background:#6b2028!important;border:1px solid #f5a5aa!important;color:#ffe7e9!important}.portal button.danger-button:hover{background:#85303a!important}.delete-student{margin-top:20px}.delete-student input{margin-bottom:16px}.pricing-panel summary{font-size:1.1rem;font-weight:700}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.price-preview{display:flex;flex-direction:column;gap:6px;padding:16px;border-left:3px solid #e9c468;background:#201b0e;margin:16px 0}.price-preview strong{font-size:1.4rem}.price-preview del{color:#c5bb9d}@media(max-width:700px){.pricing-grid{grid-template-columns:1fr;gap:0}}.online-catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.online-catalog article{border:1px solid #65522c;padding:16px;border-radius:12px}.online-catalog h3{font-size:17px;margin:0 0 12px}.online-catalog strong{font-size:28px}.online-catalog p{font-size:14px;color:#c5bb9d}.online-status{margin:20px 0}@media(max-width:700px){.online-catalog{grid-template-columns:1fr}}.documents-panel{margin:24px 0}.documents-panel fieldset{border:0;padding:0;min-width:0}.documents-panel input[type=file]{max-width:100%;font-size:14px}.pdf-reader{box-sizing:border-box;width:min(1000px,100vw);max-width:100vw;height:94dvh;max-height:100dvh;border:1px solid #65522c;border-radius:12px;padding:18px;background:#11110e;color:#f0ce70;overflow:auto}.pdf-reader::backdrop{background:#000b}.pdf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.pdf-toolbar strong{overflow-wrap:anywhere}.pdf-reader .actions{align-items:center;margin-bottom:16px}.pdf-pages{width:100%;overflow:auto;min-height:140px}.pdf-pages canvas{display:block;background:#fff}.pdf-text{white-space:pre-wrap;color:#f5e4bb}.pdf-reader details{margin-top:16px}@media(max-width:700px){.pdf-reader{padding:12px}.pdf-reader button{font-size:14px}}
