/* P05: green school identity with controlled Sugu Dev accents.
   Text uses dark foregrounds; red is reserved for destructive/error states. */
:root{--gp-ink:#12344c;--gp-muted:#476675;--gp-teal:#007f87;--gp-amber:#8c6000;--gp-red:#b9203b;--gp-line:#d8e6e1;--gp-soft:#f2f8f5}
body.gs-p05{color:var(--gp-ink);background:linear-gradient(135deg,#f6faf8,#edf5f5);font-size:15px;-webkit-font-smoothing:antialiased}
.gs-p05 p,.gs-p05 .subtitle,.gs-p05 .gs-limit,.gs-p05 .kpi small{color:var(--gp-muted);line-height:1.55}
.gs-p05 label{font-weight:650;color:#163d4c;line-height:1.5}
.gs-p05 input,.gs-p05 select,.gs-p05 textarea{color:#12344c;background:#fff;border-color:#c7dcd3;font-size:15px;min-height:44px}
.gs-p05 input::placeholder,.gs-p05 textarea::placeholder{color:#677f87;font-weight:400}
.gs-p05 input:focus,.gs-p05 select:focus,.gs-p05 textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #00854f18;outline:none}
.gs-p05 input[readonly]{background:#edf5f7;border-color:#bfd8df;font-weight:700;color:#174956}
.gs-p05 input:disabled,.gs-p05 select:disabled{background:#f0f3f3;color:#566d74}
.gs-p05 .primary{background:var(--green);border-color:var(--green);color:white;box-shadow:0 3px 8px #006a4216}
.gs-p05 button{font-weight:650;min-height:42px;transition:background .15s,border-color .15s,box-shadow .15s}
.gs-p05 button:not(.primary):not(:disabled):hover{background:#edf6f2;border-color:#a8cbbd}
.gs-p05 button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.gs-p05 button:focus-visible,.gs-p05 a:focus-visible{outline:3px solid #e4b536;outline-offset:3px}
.gs-p05 .sidebar a{font-size:14px;color:#385a68}
.gs-p05 .sidebar a.active{color:white;background:var(--navy);box-shadow:inset 4px 0 #0ab783}
.gs-p05 .sidebar a[href="#banking"] .icon{color:var(--gp-teal);background:#e3f3f5}
.gs-p05 .sidebar a[href="#reportcards"] .icon{color:#956900;background:#fff5d8}
.gs-p05 .sidebar a.active .icon{color:inherit;background:#ffffff1a}
.gs-p05 .panel,.gs-p05 .record-toolbar{border:1px solid #dce9e4;box-shadow:0 5px 20px #163f3206}
.gs-p05 .panel-head{border-bottom-color:var(--gp-line)}
.gs-p05 th{color:#365c56;background:#eef6f2;font-weight:700;font-size:12px;letter-spacing:.065em}
.gs-p05 td{color:#163d4c;font-size:14px}
.gs-p05 td small{color:#516f7a;font-size:12px;line-height:1.5}
.gs-p05 .badge{font-weight:750;letter-spacing:.04em;background:#e3f3eb;color:#005e3a}
.gs-p05 .badge.amber{background:#fff2cd;color:#805500}
.gs-p05 .badge.red{background:#ffeaef;color:var(--gp-red)}
.gs-p05 .kpi{border-top:3px solid #b1d6c5}
.gs-p05 .kpi:nth-child(2){border-top-color:#1fa4aa}
.gs-p05 .kpi:nth-child(3){border-top-color:#dcb343}
.gs-p05 .kpi:first-child small,.gs-p05 .kpi:first-child .kpi-head{color:#f0fff6;opacity:1}
.gs-p05 .gs-save-state{border-left:3px solid var(--gp-teal)}
.gs-p05 .eyebrow{font-weight:750;letter-spacing:.14em;color:#00764b;font-size:11px}
.gp-section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 18px}
.gp-section-title h2{font-size:24px;margin:7px 0}.gp-section-title p{margin:0;font-size:14px}
.gp-student-account .gs-three{margin:20px 0}.gp-student-account .panel{margin:22px 0}
.gp-plan{padding:20px;background:#f7fbf8;border:1px solid #c7e0d3;border-radius:12px}
.gp-plan [hidden],.gp-grading-fields [hidden],.gp-bank-fields[hidden]{display:none!important}
.gp-plan .gs-fields{margin-bottom:16px}.gp-plan-preview{margin-top:16px}
.gp-tranche-title{display:flex;align-items:center;justify-content:space-between;margin:8px 0 14px;gap:12px}
.gp-tranche-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:12px;align-items:end;background:#fff;padding:14px;border:1px solid #dbe8e2;border-radius:10px;margin:10px 0}
.gp-tranche-row button{min-width:42px;color:var(--gp-red)}
.gp-zero{margin-top:16px}.gp-grading-fields{padding:22px;border:1px solid #e3d5a6;background:#fffcf2;border-radius:12px}
.gp-grading-fields h3{margin-top:0;color:#6b5016}.gp-grading-fields .gs-fields{margin:18px 0}
.gp-bank-fields{padding:22px;border:1px solid #add6da;background:#f1f9fa;border-radius:12px}
.gp-bank-fields input:focus{border-color:var(--gp-teal);box-shadow:0 0 0 3px #007f871a}
.gp-bank-notice{display:flex;gap:18px;align-items:flex-start;border:1px solid #b6d9dc;border-left:4px solid var(--gp-teal);border-radius:12px;padding:20px 24px;background:#f0f9fa;margin:20px 0;color:#174f58}
.gp-bank-notice>.icon{margin-top:3px;color:var(--gp-teal);flex-shrink:0}.gp-bank-notice p{margin:7px 0 0;font-size:14px}
.gp-bank-notice:has(>b){display:block}.gp-hour-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}
.gp-hour-summary>div{border:1px solid #c3dce2;border-left:4px solid var(--gp-teal);border-radius:10px;padding:18px;background:#f3f9fa}
.gp-hour-summary small{display:block;color:#42616d;font-weight:600;line-height:1.5;margin-bottom:7px}.gp-hour-summary b{font-size:21px;color:#12555d}
/* Dialogs are actual accessible HTML dialogs, not fake browser prompt overlays. */
.gp-dialog,#modal{border:1px solid #c6ddd3;border-radius:20px;padding:0;max-width:min(640px,calc(100vw - 32px));width:640px;box-shadow:0 25px 90px #082f4660;color:var(--gp-ink);overflow:auto;max-height:90dvh}
.gp-dialog::backdrop,#modal::backdrop{background:#0b2d405c;backdrop-filter:blur(5px)}
.gp-dialog-accent{height:5px;background:linear-gradient(90deg,#00854f 0 55%,#0099a2 55% 76%,#eabb31 76% 90%,#c51d3e 90% 100%)}
.gp-dialog-body{padding:30px 30px 20px;display:flex;gap:20px;align-items:flex-start}
.gp-dialog-body h2{font-size:24px;margin:6px 0 12px;line-height:1.25}
.gp-dialog-body p{font-size:15px;line-height:1.7;color:#3d5b69;margin:0;white-space:pre-wrap}
.gp-dialog-icon{display:inline-flex;padding:15px;background:#e5f4ec;color:#007c4b;border-radius:15px;flex-shrink:0}
.gp-dialog-icon .icon{width:25px;height:25px}.gp-dialog footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 30px 28px;background:#f8fbf9;border-top:1px solid #e2ede7;flex-wrap:wrap}
.gp-dialog footer button{display:inline-flex;gap:8px;align-items:center;padding:11px 17px}
.gp-dialog-form{display:grid;gap:18px;padding:0 30px}.gp-dialog-form footer{margin:8px -30px 0}.gp-dialog-form .subtitle{font-size:13px}
#modal .modal-head{background:linear-gradient(110deg,#f0f8f2,#edf7f8);border-top:5px solid var(--green);padding:24px}
#modal .modal-head h2{font-size:22px}#modal .modal-foot{background:#f7fbf9;border-top:1px solid #dbe8e1}
.gp-report-context{border-left:4px solid var(--gp-teal);padding:18px 22px;background:#eef7f7;border-radius:10px;margin:20px 0}
.gp-report-context h2{margin:5px 0}.gp-report-context p{font-size:14px;max-width:1000px}
.gp-report-filters{grid-template-columns:1.3fr 1fr}
.gp-report{margin-top:24px;padding:28px;max-width:1200px}.gp-report>header{text-align:center;border-bottom:2px solid #007c4b;padding-bottom:23px;margin-bottom:24px}
.gp-report h2{margin:10px 0;font-size:26px}.gp-report>header p{margin:0 0 12px}
.gp-report-identity{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;padding:20px;background:#f2f7f4;border:1px solid #c5dacf;border-radius:10px;margin-bottom:24px}
.gp-report-identity>div{display:flex;flex-direction:column;gap:7px}.gp-report-identity small{color:#49675e}.gp-report-identity b{font-size:20px}.gp-report-identity span{font-size:14px;color:#446476}
.gp-report table th{background:#075b40;color:#fff;font-size:11px;letter-spacing:.02em;padding:13px 10px}
.gp-report td{border-bottom:1px solid #d3e4da;padding:13px 10px;text-align:right}.gp-report td:first-child{text-align:left;font-weight:650}.gp-report tbody tr:nth-child(even){background:#f5faf7}
.gp-report-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}
.gp-report-stats>div{padding:18px;border:1px solid #c7dbd0;border-radius:10px;display:flex;flex-direction:column;gap:8px}
.gp-report-stats>div:first-child{background:#075b40;color:#fff;border-color:#075b40}.gp-report-stats small{font-size:12px;font-weight:650}.gp-report-stats b{font-size:24px}.gp-report-stats span{font-size:13px}
.gp-button{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid #bdcfc7;border-radius:10px;background:#fff;color:#143e4d;font-weight:650;text-decoration:none}
.gp-report-actions{margin:22px 0;gap:12px}.gs-p05 .table-wrap{overflow-x:auto;max-width:100%}.gs-p05 .gp-report .table-wrap table{min-width:660px}
@media(max-width:900px){.gp-tranche-row{grid-template-columns:1fr 1fr}.gp-tranche-row button{justify-self:end}.gp-section-title{align-items:flex-start;flex-direction:column}.gp-hour-summary{grid-template-columns:1fr}.gp-report{padding:18px}.gp-report-stats{grid-template-columns:1fr}.gp-report-filters{grid-template-columns:1fr}}
@media(max-width:540px){.gp-plan,.gp-bank-fields,.gp-grading-fields{padding:14px}.gp-tranche-row{grid-template-columns:1fr}.gp-tranche-title{align-items:flex-start;flex-direction:column}.gp-dialog-body{padding:24px 20px;gap:12px}.gp-dialog-icon{padding:10px}.gp-dialog-body h2{font-size:20px}.gp-dialog footer{padding:18px 20px;flex-direction:column-reverse}.gp-dialog footer button{justify-content:center;width:100%}.gp-dialog-form{padding:0 20px}.gp-dialog-form footer{margin:0 -20px}.gp-report-identity{grid-template-columns:1fr}.gp-bank-notice{padding:16px;gap:12px}.gp-report{padding:14px}.gs-p05 .gp-report table td{display:table-cell!important}.gs-p05 .gp-report table tr{display:table-row!important}.gs-p05 .gp-report table th{display:table-cell!important}.gs-p05 .gp-report table thead{display:table-header-group!important}.gs-p05 .gp-report td:before{display:none!important}}
@media(prefers-reduced-motion:reduce){.gs-p05 *{scroll-behavior:auto!important;transition:none!important}}
@media print{.gp-report-actions,.gp-report-filters,.gp-bank-notice button,.gp-section-title button{display:none!important}.gp-report{box-shadow:none;border:0;padding:0;max-width:none}.gp-report .table-wrap{overflow:visible}.gp-report table{min-width:0!important}.gp-report-identity,.gp-report-stats{break-inside:avoid}.gp-report tr{break-inside:avoid}.gp-report thead{display:table-header-group}}

@media print{.gs-p05 .kpi:first-child small,.gs-p05 .kpi:first-child .kpi-head{color:#12344c}}
