:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#0b1d3a;background:#f4f6f7;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top right,rgba(15,163,154,.1),transparent 30%),#f4f6f7}button,input,select,textarea{font:inherit}a{color:inherit}.application-shell{min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px clamp(20px,5vw,72px);color:#fff;background:#0b1d3a}.brand-lockup,.app-header__actions{display:flex;align-items:center;gap:14px}.brand-name,.brand-product{margin:0}.brand-name{font-weight:700}.brand-product{margin-top:3px;color:#ffffffb3;font-size:.86rem}.brand-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;color:#0b1d3a;background:#d6ece9;font-weight:800}.environment-badge{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;color:#d6ece9;background:#ffffff14;font-size:.78rem;font-weight:700}.environment-badge__dot{width:8px;height:8px;border-radius:50%;background:#0fa39a}.sign-out-button{padding:8px 12px;border:1px solid rgba(255,255,255,.35);border-radius:10px;color:#fff;background:transparent;font-weight:700;cursor:pointer}.primary-navigation{display:flex;gap:6px;overflow-x:auto;padding:12px clamp(20px,5vw,72px);border-bottom:1px solid rgba(11,29,58,.1);background:#fff}.primary-navigation__link{padding:10px 14px;border-radius:10px;color:#5b6678;font-size:.9rem;font-weight:650;text-decoration:none;white-space:nowrap}.primary-navigation a:hover,.primary-navigation__link.is-active{color:#0b1d3a;background:#d6ece9}.primary-navigation__link.is-disabled{opacity:.65;cursor:not-allowed}.dashboard,.register-page{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:38px 0 56px}.project-hero,.panel,.summary-card,.register-header,.register-controls,.register-record,.register-table-wrap,.register-detail,.register-empty,.management-panel{border:1px solid rgba(11,29,58,.1);background:#fffffff0;box-shadow:0 18px 50px #0b1d3a12}.project-hero{padding:clamp(26px,5vw,48px);border-radius:24px}.project-hero__topline,.register-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.project-code,.section-kicker{color:#0f8f87;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-state,.status-badge,.register-count{padding:7px 11px;border-radius:999px;color:#35605d;background:#d6ece9;font-size:.78rem;font-weight:700}.project-hero h1{margin:22px 0 0;font-size:clamp(2rem,5vw,4rem);line-height:1.06}.project-hero__client{margin:22px 0 0;font-weight:650}.project-hero__location,.dashboard-note p,.register-header p{color:#697386}.project-metadata{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:32px 0 0}.project-metadata div{padding:16px;border-radius:14px;background:#f4f6f7}.project-metadata dt,.register-record dt,.register-detail dt{color:#697386;font-size:.75rem;font-weight:750;text-transform:uppercase}.project-metadata dd,.register-record dd,.register-detail dd{margin:8px 0 0;font-weight:650}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.summary-card{padding:22px;border-radius:18px}.summary-card__label{margin:0;color:#5b6678;font-size:.78rem;font-weight:750;text-transform:uppercase}.summary-card__value{display:block;margin-top:22px;font-size:2.7rem}.summary-card__helper{color:#697386}.panel{margin-top:18px;padding:26px;border-radius:20px}.section-kicker{margin:0 0 8px}.register-header{padding:28px;border-radius:20px}.register-header h1{margin:4px 0 0;font-size:2rem}.register-header p{margin:10px 0 0}.register-header__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px}.access-badge{padding:7px 11px;border:1px solid #b5dad6;border-radius:999px;color:#35605d;background:#fff;font-size:.78rem;font-weight:750;text-transform:capitalize}.button-primary,.button-secondary,.button-link{border-radius:10px;font-weight:750;cursor:pointer}.button-primary{padding:10px 14px;border:1px solid #0b1d3a;color:#fff;background:#0b1d3a}.button-secondary{padding:9px 13px;border:1px solid #aeb7c3;color:#0b1d3a;background:#fff}.button-link{padding:4px;border:0;color:#0f766e;background:transparent}.button-primary:disabled,.button-secondary:disabled{opacity:.55;cursor:wait}.management-notice,.form-message{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 0;padding:14px 16px;border:1px solid #cbd5df;border-radius:12px;color:#435066;background:#fff}.management-notice--warning,.form-message--error{border-color:#e4c58a;color:#684b12;background:#fff8e8}.form-message{align-items:flex-start;flex-direction:column}.form-message p{margin:0}.management-panel{margin-top:16px;padding:24px;border-radius:16px}.management-panel__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.management-panel__heading h2,.management-panel__heading p:last-child{margin:0}.management-panel__heading h2+p{margin-top:8px;color:#697386}.management-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px}.management-actions--compact{justify-content:flex-end;margin:0}.record-form{margin-top:20px}.record-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.record-form label,.attachment-form label{display:grid;align-content:start;gap:7px;color:#435066;font-size:.82rem;font-weight:750}.record-form input,.record-form textarea,.attachment-form input,.attachment-form textarea{width:100%;padding:11px 12px;border:1px solid #b9c2ce;border-radius:10px;color:#0b1d3a;background:#fff}.record-form textarea,.attachment-form textarea{min-height:100px;resize:vertical}.record-form [aria-invalid=true]{border-color:#a14336}.record-form small,.attachment-form small{color:#697386;font-weight:500}.field-error,.record-form small.field-error{color:#9f2d22}.record-form__wide,.record-form__relations{grid-column:1 / -1}.record-form__relations{display:grid;gap:9px;margin:0;padding:16px;border:1px solid #d7dde4;border-radius:12px}.record-form__relations legend{padding:0 6px;color:#435066;font-size:.82rem;font-weight:750}.record-form__relations label{display:flex;align-items:flex-start;gap:9px;font-weight:600}.record-form__relations input{width:auto;margin-top:3px}.record-form__relations p{margin:0;color:#697386}.history-list{display:grid;gap:12px;margin:20px 0;padding:0;list-style:none}.history-list>li{padding:18px;border:1px solid #dfe4e9;border-radius:12px;background:#fff}.history-list__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-list p{margin:12px 0}.history-list dl,.attachment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}.history-list dt,.attachment-summary dt{color:#697386;font-size:.72rem;font-weight:750;text-transform:uppercase}.history-list dd,.attachment-summary dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:.86rem;font-weight:650}.attachment-summary{margin:20px 0}.attachment-form{display:grid;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid #e1e5ea}.register-controls{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px;padding:20px;border-radius:16px}.register-controls label{display:grid;gap:7px;color:#5b6678;font-size:.8rem;font-weight:750}.register-controls input,.register-controls select{width:100%;padding:11px 12px;border:1px solid #c8ced7;border-radius:10px;color:#0b1d3a;background:#fff}.register-results{display:grid;gap:12px;margin-top:16px}.register-table-wrap{overflow-x:auto;border-radius:16px}.register-table{width:100%;border-collapse:collapse;background:#fff}.register-table th,.register-table td{padding:15px 18px;border-bottom:1px solid #e7eaee;text-align:left;vertical-align:middle}.register-table th{color:#5b6678;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.register-table td a{color:#0f766e;font-weight:700}.register-table tbody tr:last-child td{border-bottom:0}.register-detail{padding:24px;border-radius:16px}.register-detail__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.register-detail__heading h2{margin:0}.register-detail__heading>a{color:#0f766e;font-weight:700}.register-detail__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:14px}.register-detail dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 0}.register-detail dl div{padding-top:16px;border-top:1px solid #e7eaee}.register-cards{display:none}.register-record{border-radius:14px;overflow:hidden}.register-record summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer;list-style:none}.register-record summary span:first-child{display:grid;gap:5px}.register-record summary small{color:#697386}.register-record dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0 20px 20px;border-top:1px solid #e7eaee}.register-record dl div{padding-top:16px}.relationship-links{display:flex;flex-wrap:wrap;gap:10px}.relationship-links a{color:#0f766e}.register-empty{margin-top:16px;padding:40px;border-radius:18px;text-align:center}.register-empty h2{margin:0}.register-empty p{color:#697386}.overview-status{display:grid;min-height:55vh;padding:48px 24px;place-items:center;text-align:center}.overview-status__panel{max-width:520px}.overview-status button{margin-top:22px;padding:11px 18px;border:0;border-radius:10px;color:#fff;background:#0b1d3a;font-weight:700}.app-footer{display:flex;justify-content:space-between;gap:20px;padding:24px clamp(20px,5vw,72px);color:#697386;font-size:.8rem}*:focus-visible{outline:3px solid #0fa39a;outline-offset:2px}@media (max-width: 820px){.project-metadata,.summary-grid,.register-record dl,.register-detail dl,.history-list dl,.attachment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.app-header,.app-footer,.register-header,.management-panel__heading,.management-notice{align-items:flex-start;flex-direction:column}.dashboard,.register-page{width:min(100% - 24px,1240px);padding-top:18px}.project-metadata,.summary-grid,.register-controls,.register-record dl,.record-form__grid,.history-list dl,.attachment-summary{grid-template-columns:1fr}.project-hero{border-radius:18px}.register-record summary{align-items:flex-start;flex-direction:column}.register-table-wrap,.register-detail{display:none}.register-cards{display:grid;gap:12px}.register-cards .management-actions--compact{justify-content:flex-start;padding:0 20px 20px}}.app-header__actions{flex-wrap:wrap;min-width:0}.session-identity{min-width:0;max-width:100%;overflow-wrap:anywhere;font-size:.86rem}.session-identity p{margin:3px 0}.session-identity span{color:#fffc}.module-chooser{min-height:calc(100vh - 80px);display:grid;place-items:center;padding:48px 24px}.module-chooser__panel{width:min(960px,100%)}.module-card-grid,.attendance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.module-card,.attendance-card,.attendance-grid>section{display:block;padding:22px;border:1px solid #d8dee8;border-radius:14px;background:#fff;text-decoration:none}.module-card:hover{border-color:#0b1d3a}.eyebrow{margin:0 0 6px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.attendance-page{padding:32px clamp(20px,5vw,72px)}.attendance-page__heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.sample-data-badge{padding:6px 10px;border-radius:999px;background:#fff3cd;border:1px solid #ead38a;font-size:.8rem;font-weight:700}.attendance-table-wrap{overflow-x:auto}.attendance-table{width:100%;border-collapse:collapse;background:#fff}.attendance-table th,.attendance-table td{padding:10px;border:1px solid #d8dee8;text-align:left;vertical-align:top}.attendance-card pre{white-space:pre-wrap}.workspace-home-link{font-weight:600}html{background:#f4f6f7;scroll-behavior:smooth}
