:root{--bg:#f4f8fb;--surface:#fff;--text:#173042;--muted:#6a7f8f;--line:#dbe6ec;--primary:#0f766e;--primary2:#14b8a6;--navy:#10395d;--accent:#f59e0b;--danger:#dc2626;--success:#16a34a;--shadow:0 14px 38px rgba(31,64,85,.1);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}input,select,textarea{border:1px solid #cfdde5;border-radius:10px;background:#fff;padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary2);box-shadow:0 0 0 3px #14b8a61f}button:disabled{opacity:.5;cursor:not-allowed}.publicHeader{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:12px 28px;background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.publicBrand{display:flex;gap:12px;align-items:center}.publicBrand>span,.brandStar{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,var(--primary),var(--primary2));display:grid;place-items:center;color:#fff;font-size:24px;box-shadow:0 8px 22px #14b8a640}.publicBrand b,.publicBrand strong{display:block}.publicBrand b{font-size:13px;color:var(--navy)}.publicBrand strong{font-size:16px}.headerActions{display:flex;gap:10px}.primaryBtn,.ghostBtn,.successBtn,.dangerBtn,.miniBtn{border:0;border-radius:12px;padding:10px 15px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px}.primaryBtn{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 7px 18px #0f766e33}.ghostBtn,.miniBtn{background:#fff;border:1px solid var(--line);color:var(--navy)}.successBtn{background:#e8f8ee;color:#166534}.dangerBtn{background:#fff0f0;color:#b91c1c}.miniBtn{padding:7px 9px;font-size:12px}.wide{width:100%}.hero{min-height:385px;padding:58px max(28px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;background:radial-gradient(circle at 78% 20%,rgba(56,189,248,.25),transparent 28%),radial-gradient(circle at 92% 78%,rgba(251,113,133,.18),transparent 25%),linear-gradient(135deg,#e9fbf8,#f4f9ff 55%,#fff7ed)}.eyebrow,.kicker{font-size:11px;font-weight:900;letter-spacing:1.25px;color:var(--primary)}.hero h1{font-size:48px;line-height:1.05;margin:12px 0;color:var(--navy);letter-spacing:-1.5px}.hero h1 span{background:linear-gradient(90deg,var(--primary),#0ea5e9,#fb7185);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:.84em}.hero p{max-width:650px;color:#527083;font-size:17px}.podium{display:flex;align-items:end;justify-content:center;gap:12px;min-height:250px}.podiumCard{width:145px;border:1px solid rgba(255,255,255,.9);background:#fff;border-radius:22px 22px 8px 8px;text-align:center;padding:22px 10px;box-shadow:var(--shadow)}.podiumCard.first{height:230px;background:linear-gradient(#fff6cf,#fff);border-color:#f3d468}.podiumCard.second{height:190px}.podiumCard.third{height:165px}.podiumCard>div{font-size:34px}.podiumCard b{display:block;font-size:28px;color:var(--navy);margin:6px 0}.podiumCard small{color:var(--muted)}.container{max-width:1180px;margin:auto;padding:34px 24px 70px}.sectionHead,.pageHead,.panelHead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.sectionHead h2,.pageHead h1{margin:3px 0;color:var(--navy);font-size:31px}.pageHead{margin-bottom:18px}.pageHead p,.panelHead p{margin:5px 0 0;color:var(--muted)}.filterGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px;margin:18px 0;box-shadow:0 5px 18px #1f40550a}.filterGrid label,.fullField,.smallField,.profileCard label,.formGrid label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;color:#526a7a}.metricGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.metricCard{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px;display:flex;align-items:center;gap:13px}.metricCard>span{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#e7f8f6,#eff7ff);display:grid;place-items:center;font-size:21px}.metricCard small{display:block;color:var(--muted)}.metricCard b{display:block;font-size:25px;color:var(--navy)}.dashboardGrid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.span8{grid-column:span 8}.span7{grid-column:span 7}.span5{grid-column:span 5}.span4{grid-column:span 4}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 7px 22px #1f40550b}.panelHead h3{margin:2px 0;color:var(--navy);font-size:20px}.tableWrap{overflow:auto;margin-top:12px}table{width:100%;border-collapse:separate;border-spacing:0;min-width:680px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#6a7f8f;padding:10px 12px;background:#f5f9fb;border-bottom:1px solid var(--line)}td{padding:11px 12px;border-bottom:1px solid #edf2f5;vertical-align:middle}tbody tr:hover{background:#fbfdfd}td input,td select{padding:7px;font-size:12px;max-width:180px}.emptyCell{text-align:center!important;color:var(--muted);padding:28px!important}.scoreText{color:var(--primary);font-weight:900}.chartBox{margin-top:10px}.privacyNote,.warning{padding:12px 14px;border-radius:12px;font-size:13px}.privacyNote{background:#f4f8fb;color:#5f7382}.warning{background:#fff8e6;border:1px solid #f2d99a;color:#765710;margin:12px 0}.pill,.status{display:inline-flex;border-radius:999px;padding:5px 9px;background:#e9f8f6;color:var(--primary);font-size:11px;font-weight:900}.status.locked,.status.rejected{background:#fff0f0;color:#a82626}.status.approved{background:#e8f8ee;color:#166534}.status.pending{background:#fff7df;color:#7a5a00}.appShell{display:grid;grid-template-columns:255px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#10395d,#0b4c5c);color:#fff;padding:18px 14px;display:flex;flex-direction:column}.sideBrand{display:flex;align-items:center;gap:10px;padding:8px 8px 20px;border-bottom:1px solid rgba(255,255,255,.13)}.sideBrand b,.sideBrand small{display:block}.sideBrand small{opacity:.7}.sidebar nav{display:flex;flex-direction:column;gap:5px;padding-top:14px}.sidebar nav a{padding:12px;border-radius:12px;color:#ffffffc7;font-weight:800;display:flex;gap:10px}.sidebar nav a.active,.sidebar nav a:hover{background:#ffffff21;color:#fff}.sideUser{margin-top:auto;padding:12px;border-top:1px solid rgba(255,255,255,.13)}.sideUser b,.sideUser small{display:block}.sideUser small{opacity:.7}.sideUser button{width:100%;margin-top:10px;border:0;border-radius:10px;padding:9px;background:#fb718524;color:#ffd7dd;font-weight:800}.appContent{min-width:0}.mobileBar{display:none}.appPage{padding:28px}.appFilters{grid-template-columns:repeat(4,1fr);margin:0 0 18px}.filterButton{align-self:end;height:43px}.scoreBadge{min-width:110px;height:76px;border-radius:19px;background:linear-gradient(135deg,var(--navy),var(--primary));color:#fff;display:flex;align-items:baseline;justify-content:center;padding-top:16px;font-size:28px;font-weight:900}.scoreBadge small{font-size:13px;opacity:.75;margin-left:3px}.scoreLayout{display:grid;grid-template-columns:275px minmax(0,1fr);gap:18px}.classPanel{padding:14px;max-height:calc(100vh - 220px);position:sticky;top:20px}.classList{overflow:auto;max-height:calc(100vh - 305px)}.classItem{width:100%;border:1px solid transparent;background:#f7fafb;border-radius:13px;padding:10px 11px;margin:6px 0;display:flex;justify-content:space-between;text-align:left}.classItem span b,.classItem span small,.classItem strong small{display:block}.classItem span b{font-size:16px;color:var(--navy)}.classItem span small,.classItem strong small{font-size:10px;color:var(--muted)}.classItem strong{text-align:right;color:var(--primary);font-size:18px}.classItem.active{border-color:#77d7cd;background:#effbf9}.classItem.done{background:#f3fbf6}.scorePanel{min-height:450px}.emptyState{min-height:180px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted);font-size:18px}.scoreClassHead{display:flex;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.scoreClassHead h2{font-size:27px;margin:5px 0;color:var(--navy)}.scoreClassHead p{margin:2px 0;color:var(--muted)}.lockBox{display:flex;gap:7px;align-items:start}.criteriaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.criterionCard{border:1px solid var(--line);border-radius:15px;padding:14px}.criterionHead{display:flex;justify-content:space-between;gap:10px}.criterionHead span{font-size:10px;color:var(--primary);font-weight:900;text-transform:uppercase}.criterionHead h4{margin:2px 0;color:var(--navy)}.criterionHead>div:last-child b{font-size:22px;color:var(--primary)}.criterionHead>div:last-child small{color:var(--muted)}.counter{display:flex;align-items:center;gap:5px;margin:10px 0}.counter button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#f5f9fa;font-weight:900}.counter input{width:74px;text-align:center;padding:7px}.countRule,.eventTitle{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px dashed #e1eaef;padding-top:9px;margin-top:9px}.countRule span b,.countRule span small,.eventTitle span b,.eventTitle span small{display:block}.countRule span small,.eventTitle span small{font-size:10px;color:var(--muted)}.eventGroup{margin-top:8px}.studentEvent{display:grid;grid-template-columns:1.3fr 1fr 36px;gap:6px;margin-top:6px}.studentEvent input{font-size:12px;padding:8px}.studentEvent button{border:0;border-radius:9px;background:#fff0f0;color:var(--danger)}.smallField{margin-top:9px}.smallField input{padding:8px;font-size:12px}.fullField{margin-top:14px}.stickySave{position:sticky;bottom:8px;margin-top:16px;padding:12px 14px;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;display:flex;justify-content:space-between;align-items:center}.stickySave small,.stickySave b{display:block}.stickySave b{font-size:25px;color:var(--primary)}.commentsPanel{max-width:980px}.commentRow{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;margin-bottom:10px}.periodBadge{background:linear-gradient(145deg,#e9fbf8,#eff7ff);border-radius:12px;display:grid;place-items:center;align-content:center;font-size:11px;color:var(--muted)}.periodBadge b{font-size:23px;color:var(--navy)}.commentRow textarea{width:100%}.commentRow small{color:var(--muted)}.actionsRight{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.formGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fullSpan{grid-column:1/-1}.lateForm{margin-bottom:18px}.requestList{display:flex;flex-direction:column;gap:9px}.requestCard{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;justify-content:space-between;gap:12px}.requestCard h4{margin:8px 0 3px}.requestCard p{margin:2px 0}.requestCard small{color:var(--muted)}.requestActions{display:flex;align-items:center;gap:7px}.tabBar{display:flex;gap:7px;overflow:auto;margin-bottom:12px}.tabBar button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:800;white-space:nowrap}.tabBar button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.adminPanel{min-height:320px}.subHead{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.createStrip{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:8px;padding:13px;border:1px solid #cfe5e3;border-radius:14px;background:linear-gradient(135deg,#f2fffd,#f7fbff);margin:12px 0}.createStrip input,.createStrip select{min-width:0}.wideInput{grid-column:span 2}.inlineCheck{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.inlineCheck input{width:18px;height:18px}.cellSub{display:block;color:var(--muted);font-size:11px}.actionCell{white-space:nowrap}.weeksGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.weekCard{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfdfd}.weekCard>div b,.weekCard>div span{display:block}.weekCard>div b{color:var(--navy)}.weekCard>div span{font-size:10px;color:var(--primary);font-weight:900}.weekCard label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800;color:var(--muted);margin-top:7px}.weekCard input{padding:7px}.weekCard .miniBtn{width:100%;margin-top:8px}.profileCard{max-width:600px}.profileCard label{margin:11px 0}.profileCard input{width:100%}.authPage{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 15% 20%,rgba(20,184,166,.18),transparent 30%),linear-gradient(135deg,#f2fbfa,#f5f9ff)}.authCard{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow);text-align:center}.authLogo{width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,var(--primary),#38bdf8);color:#fff;display:grid;place-items:center;font-size:28px;margin:auto}.authCard h1{margin:12px 0 3px;color:var(--navy)}.authCard p{color:var(--muted);margin:0 0 16px}.authCard label{display:flex;flex-direction:column;gap:5px;text-align:left;margin:10px 0;font-size:12px;font-weight:800;color:#526a7a}.authLinks{display:flex;justify-content:space-between;margin-top:12px;font-size:13px;color:var(--primary)}.loadingBox{min-height:200px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.spinner{width:24px;height:24px;border:3px solid #dcebea;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toastHost{position:fixed;top:18px;right:18px;z-index:300;display:flex;flex-direction:column;gap:8px}.toast{width:min(380px,calc(100vw - 36px));background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 14px;box-shadow:var(--shadow);display:flex;gap:8px;font-weight:700}.toast.error{border-color:#f2caca;color:#a82626}.toast.info{border-color:#cfe4ee;color:#38566a}@media(max-width:1100px){.hero{grid-template-columns:1fr;text-align:center}.hero p{margin:auto}.dashboardGrid .span8,.dashboardGrid .span7,.dashboardGrid .span5,.dashboardGrid .span4{grid-column:span 12}.criteriaGrid{grid-template-columns:1fr}.createStrip,.weeksGrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.publicHeader{padding:10px 14px}.publicBrand b{font-size:10px}.publicBrand strong{font-size:13px}.hero{padding:36px 18px}.hero h1{font-size:37px}.container{padding:24px 14px}.metricGrid,.filterGrid,.appFilters{grid-template-columns:repeat(2,1fr)}.appShell{display:block}.sidebar{position:fixed;left:-270px;top:0;width:255px;z-index:120;transition:.2s;box-shadow:none}.navOpen .sidebar{left:0;box-shadow:20px 0 50px #00000040}.mobileBar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}.mobileBar button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 10px}.appPage{padding:14px}.scoreLayout{grid-template-columns:1fr}.classPanel{position:static;max-height:none}.classList{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));overflow:auto}.formGrid,.createStrip,.weeksGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.publicBrand b{display:none}.publicBrand>span{width:38px;height:38px}.headerActions .ghostBtn{display:none}.hero{display:block}.hero h1{font-size:31px}.podium{margin-top:24px;min-height:170px;gap:7px}.podiumCard{width:31%;padding:13px 5px}.podiumCard.first{height:175px}.podiumCard.second{height:150px}.podiumCard.third{height:132px}.podiumCard b{font-size:21px}.filterGrid,.appFilters{grid-template-columns:1fr 1fr;padding:11px}.metricGrid{gap:8px}.metricCard{padding:12px}.metricCard b{font-size:20px}.panel{padding:13px}.appPage{padding:10px}.pageHead h1{font-size:25px}.scoreBadge{min-width:82px;height:60px;font-size:21px;padding-top:13px}.classList{grid-template-columns:repeat(2,minmax(135px,1fr))}.studentEvent{grid-template-columns:1fr 36px}.studentEvent input:nth-child(2){grid-column:1/-1;grid-row:2}.commentRow{grid-template-columns:58px 1fr}.formGrid{grid-template-columns:1fr}.requestCard{display:block}.requestActions{margin-top:10px}.createStrip{grid-template-columns:1fr}.wideInput{grid-column:auto}.weeksGrid{grid-template-columns:1fr}.toastHost{top:8px;right:8px}.toast{width:calc(100vw - 16px)}}.mutedLine{display:block;color:var(--muted);font-size:10px;margin-top:3px}.classItem.draft{background:#fff9e9;border-color:#f6d982}.classItem.draft strong{color:#b7791f}.draftStatus{background:#fff5d6!important;color:#9a6700!important}.finalizedBanner{margin:14px 0;padding:13px 15px;border:1px solid #bfe8d1;background:#f0fbf5;border-radius:14px;display:flex;flex-direction:column;gap:4px;color:#22613f}.finalizedBanner span{font-size:12px;color:#52705f}.dangerOutline{border-color:#efb9b9!important;color:#ad2c2c!important;background:#fff7f7!important}.stageTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0 10px}.stageTabs button{border:1px solid var(--line);background:#f8fbfc;border-radius:14px;padding:11px;display:flex;align-items:center;gap:9px;text-align:left;color:var(--navy)}.stageTabs button:hover{border-color:#8ed8d0}.stageTabs button.active{border-color:var(--primary);background:#effbf9;box-shadow:0 0 0 2px #0d948814}.stageTabs button.done{background:#f3fbf6}.stageTabs button.done .stageNo{background:#27945d;color:#fff;border-color:#27945d}.stageTabs b,.stageTabs small{display:block}.stageTabs b{font-size:13px}.stageTabs small{font-size:10px;color:var(--muted);margin-top:2px}.stageNo{width:28px;height:28px;border:1px solid #bdd8dc;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:900;flex:0 0 auto;background:#fff}.stageSummary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border:1px solid #dce8ed;border-radius:13px;background:linear-gradient(135deg,#f8fcfc,#f7faff)}.stageSummary h3{margin:2px 0 0;color:var(--navy)}.stageState{border-radius:999px;padding:6px 10px;background:#fff5d6;color:#9a6700;font-size:11px;font-weight:900}.stageState.done{background:#e8f8ee;color:#24653b}.scoreFieldset{border:0;padding:0;margin:0;min-width:0}.scoreFieldset:disabled{opacity:.76}.scoreFieldset:disabled button,.scoreFieldset:disabled input,.scoreFieldset:disabled textarea{cursor:not-allowed}.emptyState.compact{min-height:90px;font-size:13px}.workflowHelp{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;padding:10px 12px;border-radius:12px;background:#f6f9fb;color:#597080;font-size:11px}.workflowHelp b{color:var(--navy)}.workflowActions{gap:14px}.scoreNow em{display:block;font-style:normal;color:var(--muted);font-size:10px;margin-top:2px}.saveButtons{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.stageDoneBtn,.finalizeBtn{border:0;border-radius:11px;padding:10px 13px;font-weight:900}.stageDoneBtn{background:#e8f7f5;color:#0b7067}.finalizeBtn{background:linear-gradient(135deg,#0f766e,#0b4f6c);color:#fff;box-shadow:0 8px 18px #0f766e33}.stageDoneBtn:disabled,.finalizeBtn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.lockedNote{font-weight:800;color:var(--muted);font-size:12px}@media(max-width:820px){.stageTabs{grid-template-columns:1fr}.workflowActions{align-items:flex-start}.saveButtons{width:100%;justify-content:stretch}.saveButtons button{flex:1;min-width:145px}}@media(max-width:600px){.stageTabs button{padding:9px}.stageSummary{align-items:flex-start}.workflowActions{position:static;display:block}.saveButtons{margin-top:10px;display:grid;grid-template-columns:1fr}.saveButtons button{width:100%}}.ledgerPanel{margin-top:18px}.ledgerFilters{margin:12px 0 14px}.ledgerTable table{min-width:1180px}.ledgerTable th:nth-child(n+3),.ledgerTable td:nth-child(n+3){min-width:190px;white-space:pre-wrap}.ledgerTable td{vertical-align:top;line-height:1.45}.pageHead>.primaryBtn{align-self:flex-start;white-space:nowrap}@media(max-width:760px){.pageHead>.primaryBtn{width:100%}.ledgerFilters{grid-template-columns:1fr}}.reportPeriodNote{margin:-4px 2px 14px;padding:9px 12px;border:1px solid #cfe9e7;border-radius:12px;background:#f4fbfa;color:#40626b;font-size:13px;font-weight:700}.penaltyProposalPanel{margin-top:18px;border:1px solid #f0c36b;background:linear-gradient(180deg,#fffdf8,#fff);border-radius:18px;padding:18px}.penaltyProposalPanel .panelHead{align-items:flex-start}.penaltyApprovedSummary{min-width:170px;border:1px solid #f59e0b;background:#fff7ed;border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.penaltyApprovedSummary small{color:#9a5b06}.penaltyApprovedSummary b{font-size:24px;color:#b45309}.penaltyApprovedSummary span{font-size:12px;color:#7c4a03}.penaltyProposalForm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.penaltyProposalForm label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:13px}.penaltyProposalForm input,.penaltyProposalForm select,.penaltyProposalForm textarea{width:100%;border:1px solid #d7e0e8;border-radius:10px;padding:10px 11px;background:#fff}.penaltyProposalForm .fullSpan{grid-column:1/-1}.warningBtn{border:0;border-radius:11px;background:#d97706;color:#fff;font-weight:800;padding:11px 16px;cursor:pointer}.warningBtn:disabled{opacity:.55;cursor:not-allowed}.penaltyProposalList{display:grid;gap:8px;margin-top:14px}.penaltyProposalItem{border:1px solid #e5e7eb;border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:#fff}.penaltyProposalItem>div{display:grid;gap:5px}.penaltyProposalItem p{margin:0;color:#475569}.penaltyProposalItem small{color:#526a7a}.adminPenaltyStack{display:grid;gap:18px}.penaltyRuleCreate label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700}.penaltyRuleCreate label input{min-width:90px}.penaltyRequests{display:grid;gap:10px}.penaltyRequestCard{align-items:flex-start}.penaltyRequestMain{display:grid;gap:7px;min-width:0}.requestMeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.decisionBox{margin-top:5px;border-radius:10px;padding:9px 11px;background:#ecfdf5;color:#166534}.rejectedBox{background:#fff1f2;color:#9f1239}.inlineActions{display:flex;gap:8px;align-items:center}.inlineActions select{border:1px solid #d7e0e8;border-radius:9px;padding:8px 10px;background:#fff}.status.cancelled{background:#f1f5f9;color:#64748b}.status.pending{background:#fff7ed;color:#b45309}.status.approved{background:#ecfdf5;color:#166534}.status.rejected{background:#fff1f2;color:#be123c}@media(max-width:1000px){.penaltyProposalForm{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.penaltyProposalForm{grid-template-columns:1fr}.penaltyProposalForm .fullSpan{grid-column:auto}.penaltyProposalItem,.penaltyRequestCard{flex-direction:column}.penaltyApprovedSummary{align-items:flex-start;width:100%}}.commentsPanel{max-width:none;width:100%;padding:14px 16px}.commentRow{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:8px 10px;margin-bottom:7px;align-items:stretch}.commentRow textarea{width:100%;min-height:58px;max-height:150px;padding:8px 10px;line-height:1.35;resize:vertical}.periodBadge{min-height:58px}.periodBadge b{font-size:20px}.commentRow small{display:block;margin-top:3px;font-size:10px}.commentsPanel .actionsRight{margin-top:8px}.logbookRuleNote{margin:0 0 14px;padding:12px 14px;border:1px solid #bfe3de;border-radius:14px;background:linear-gradient(135deg,#f1fbf9,#f7fbff);color:#3c5f68;font-size:13px}.logbookRuleNote b{color:var(--navy)}.logbookFilters{grid-template-columns:repeat(4,minmax(0,1fr))}.logbookMetrics{margin-top:0}.logbookPanel{margin-top:14px}.logbookTable th:nth-child(1){min-width:70px}.logbookTable th:nth-child(3){min-width:180px}.logbookTable th:nth-child(4){min-width:150px}.logbookTable th:nth-child(5){min-width:240px}.logbookScoreInput{width:130px;text-align:center;font-weight:800}.logbookNoteInput{width:100%;min-width:220px}.logbookTable small{color:var(--muted);white-space:nowrap}.logbookPanel .actionsRight{margin-top:14px}.reportFormulaNote{margin:0 2px 14px;padding:9px 12px;border:1px solid #d7e5ec;border-radius:12px;background:#f8fbfd;color:#506b7b;font-size:12px}@media(max-width:900px){.logbookFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.commentRow{grid-template-columns:54px minmax(0,1fr)}}@media(max-width:600px){.logbookFilters{grid-template-columns:1fr}.commentsPanel{padding:10px}.commentRow{grid-template-columns:48px minmax(0,1fr);padding:7px}.commentRow textarea{min-height:64px}.logbookScoreInput{width:105px}}.sideInstall{padding:10px 8px 4px;margin-top:auto}.installAppBtn{border:1px solid #b9e4df;background:linear-gradient(135deg,#ecfdf9,#eef8ff);color:#0f5e58;border-radius:12px;padding:10px 14px;font-weight:900;box-shadow:0 5px 14px #0f766e14}.installAppBtn.compact{width:100%;padding:9px 10px;font-size:12px}.sidebar .installAppBtn{border-color:#fff3;background:#ffffff1a;color:#fff;box-shadow:none}.sideMeta{padding:10px 12px 9px;border-top:1px solid rgba(255,255,255,.13);font-size:10px;line-height:1.55;color:#ffffffb8}.sideMeta b{color:#fff;font-weight:800}.sideUser{margin-top:0}.adminKickerLine{display:flex;align-items:center;gap:8px}.versionTag{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;background:#e6f7f4;color:#0f766e;font-size:10px;font-weight:900;border:1px solid #bde5df}.roleProfileGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0}.roleProfileCard{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfdfd;cursor:pointer;transition:.15s}.roleProfileCard:hover,.roleProfileCard.active{border-color:#79d4ca;background:#effbf9;box-shadow:0 0 0 2px #14b8a614}.roleProfileCard b{display:block;color:var(--navy);font-size:13px}.roleProfileCard p{margin:5px 0;color:var(--muted);font-size:11px;line-height:1.4}.roleProfileCard small{color:var(--primary);font-weight:800;font-size:10px}.permissionEditor{margin:16px 0;border:1px solid #b9dedb;border-radius:17px;padding:16px;background:linear-gradient(135deg,#f7fffd,#f9fbff)}.permissionIdentityGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.permissionIdentityGrid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;color:#526a7a}.permissionIdentityGrid .inlineCheck{flex-direction:row;align-items:center;align-self:end;padding-bottom:9px}.permissionToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #dce9ed;border-bottom:1px solid #dce9ed;padding:11px 0;margin:8px 0 14px}.permissionToolbar b,.permissionToolbar small{display:block}.permissionToolbar small{color:var(--muted);font-size:10px;margin-top:3px}.permissionGroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permissionGroup{border:1px solid #dce8ed;border-radius:13px;background:#fff;padding:11px}.permissionGroup h4{margin:0 0 8px;color:var(--navy);font-size:12px;letter-spacing:.5px}.permissionItem{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:start;padding:8px 4px;border-top:1px dashed #edf2f4}.permissionItem:first-of-type{border-top:0}.permissionItem input{width:17px;height:17px;margin-top:2px}.permissionItem span b,.permissionItem span small,.permissionItem span code{display:block}.permissionItem span b{font-size:12px;color:#183d55}.permissionItem span small{font-size:10px;color:var(--muted);line-height:1.35}.permissionItem span code{font-size:9px;color:#7b8d99;margin-top:2px}.permissionItem em{font-style:normal;font-size:9px;border-radius:999px;padding:3px 6px;background:#fff0f0;color:#a82626}.permissionItem.disabled{opacity:.62}.permissionCount{display:inline-flex;border-radius:999px;padding:4px 8px;background:#edf8f6;color:#0f766e;font-size:10px;font-weight:900}.helpPage .pageHead{align-items:flex-start}.helpIntro{margin-bottom:14px}.helpIntro h3,.helpGrid h3,.helpSafety h3{margin-top:0;color:var(--navy)}.permissionChips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.permissionChips span{border-radius:999px;background:#eff7fa;border:1px solid #d9e7ed;padding:4px 8px;font-size:10px;color:#4d6979}.helpGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.helpGrid .panel{min-height:150px}.helpGrid p,.helpSafety p{color:#526a7a;margin-bottom:0}.helpSafety{margin-top:14px;border-color:#efd7a1;background:#fffaf0}@media(max-width:1150px){.roleProfileGrid{grid-template-columns:repeat(3,1fr)}.permissionIdentityGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.sideInstall{margin-top:auto}.roleProfileGrid{grid-template-columns:1fr 1fr}.permissionGroups,.helpGrid{grid-template-columns:1fr}}@media(max-width:600px){.roleProfileGrid,.permissionIdentityGrid{grid-template-columns:1fr}.permissionToolbar{align-items:flex-start;flex-direction:column}.permissionToolbar .ghostBtn{width:100%}.adminKickerLine{align-items:flex-start;flex-direction:column;gap:4px}}
