@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css";:root{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:#10213d;background:#f5f7fa;font-synthesis:none;--navy: #073f76;--navy-dark: #052f59;--blue: #1265c7;--green: #74b72e;--border: #e4e9ef;--muted: #6e7c90;--surface: #fff;--shadow: 0 8px 28px rgba(14, 40, 72, .07)}*{box-sizing:border-box}body{min-width:320px;margin:0;background:#f5f7fa}button,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh}.top-header{position:sticky;top:0;z-index:30;height:72px;background:#fffffff5;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-inner{width:min(1160px,100%);height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.header-logo{width:152px;height:48px;object-fit:contain}.header-actions{display:flex;align-items:center;gap:12px}.header-menu,.icon-button{position:relative;width:42px;height:42px;display:grid;place-items:center;color:#53667e;background:transparent;border:0;border-radius:12px;cursor:pointer}.header-menu{display:none}.header-menu:hover,.icon-button:hover{color:var(--navy);background:#eef4f9}.header-avatar{width:40px;height:40px;display:grid;place-items:center;color:#fff;background:var(--navy);border-radius:50%;font-weight:750}.notification-dot{position:absolute;top:7px;right:8px;width:8px;height:8px;background:var(--green);border:2px solid white;border-radius:50%}.main-content{min-height:calc(100vh - 72px)}.portal-page{width:min(1160px,100%);margin:0 auto;padding:34px 24px 54px}.welcome-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.welcome-row>div{min-width:0}.welcome-row>div>span,.page-title>span{color:var(--green);font-size:11px;font-weight:850;letter-spacing:.14em}.welcome-row h1,.page-title h1{margin:6px 0 5px;color:#0c2d54;font-size:clamp(25px,3vw,34px);letter-spacing:-.035em}.welcome-row p,.page-title p{margin:0;color:var(--muted);font-size:14px}.child-picker{min-width:174px;display:flex;align-items:center;gap:8px;padding:10px 11px;color:var(--navy);background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 14px #0e28480a}.child-picker select{min-width:0;flex:1;color:#173a63;background:transparent;border:0;outline:0;font-weight:700}.inline-error{display:flex;align-items:center;gap:8px;margin-bottom:15px;padding:11px 14px;color:#b42318;background:#fff2f0;border:1px solid #ffd1cc;border-radius:10px;font-size:12px}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);align-items:start;gap:18px}.dashboard-main,.dashboard-side{display:grid;gap:18px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.panel-heading.compact{margin-bottom:16px}.heading-with-icon{display:flex;align-items:center;gap:11px;min-width:0}.heading-with-icon>span{width:38px;height:38px;display:grid;flex:0 0 38px;place-items:center;color:var(--navy);background:#edf5fc;border-radius:11px}.heading-with-icon h2{margin:0;color:#12345d;font-size:18px;letter-spacing:-.02em}.heading-with-icon p{margin:3px 0 0;color:#8290a3;font-size:11px}.text-action,.selected-day-heading button{display:flex;align-items:center;gap:2px;color:#718096;background:transparent;border:0;cursor:pointer;font-size:11px}.week-panel{position:relative;padding:22px;transition:opacity .2s ease}.week-panel.is-loading{opacity:.68}.week-actions{display:flex;gap:4px}.week-actions button{width:34px;height:34px;display:grid;place-items:center;color:#65768a;background:#f5f7fa;border:0;border-radius:9px;cursor:pointer}.week-actions svg{width:17px}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.week-days button{position:relative;min-width:0;height:78px;display:grid;justify-items:center;align-content:center;gap:5px;color:#738196;background:#f8fafc;border:1px solid transparent;border-radius:13px;cursor:pointer;transition:.18s ease}.week-days button:hover{border-color:#d6e2ed}.week-days button.selected{color:#103e70;background:#edf6ff;border-color:#b9d6ef;box-shadow:inset 0 0 0 1px #d9ebfa}.week-days button.today:after{content:"오늘";position:absolute;top:-7px;padding:2px 6px;color:#fff;background:var(--navy);border-radius:999px;font-size:11px;font-weight:700}.week-days span{font-size:11px;font-weight:650}.week-days strong{color:inherit;font-size:20px;line-height:1}.week-days i,.status-legend i{width:7px;height:7px;display:block;background:#d3d9e1;border-radius:50%}.week-days i:empty:not([class]){opacity:0}.status-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;padding:14px 0 18px;color:#77869a;font-size:11px}.status-legend span{display:flex;align-items:center;gap:5px}.selected-day-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 0 10px;border-top:1px solid var(--border)}.selected-day-heading strong{color:#203d61;font-size:13px}.day-schedule-list{display:grid;gap:8px}.schedule-row{display:grid;grid-template-columns:auto 74px 1fr auto;align-items:center;gap:11px;min-width:0;padding:12px;background:#fbfcfd;border:1px solid #edf0f3;border-radius:12px}.schedule-status-icon{width:28px;height:28px;display:grid;place-items:center;color:#fff;border-radius:50%}.schedule-time,.schedule-class{min-width:0;display:grid;gap:3px}.schedule-time strong{color:#1b3f68;font-size:13px}.schedule-time span,.schedule-class span{overflow:hidden;color:#8491a2;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.schedule-class strong{overflow:hidden;color:#243c59;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:750;white-space:nowrap}.status-출석{color:#238337!important;background-color:#e7f7e9!important}.status-지각{color:#b86c00!important;background-color:#fff3d8!important}.status-결석{color:#ce3444!important;background-color:#ffebed!important}.status-조퇴{color:#b95a15!important;background-color:#fff0e4!important}.status-예정{color:#1762bd!important;background-color:#e9f3ff!important}.status-미등록{color:#6f7c8c!important;background-color:#edf0f3!important}.week-days i.status-출석,.status-legend i.status-출석{background:#43a047!important}.week-days i.status-지각,.status-legend i.status-지각{background:#f59e0b!important}.week-days i.status-결석,.status-legend i.status-결석{background:#ef4050!important}.week-days i.status-예정,.status-legend i.status-예정{background:#176dcc!important}.next-class-panel,.notice-panel{padding:20px}.next-class-panel{overflow:hidden;background:linear-gradient(145deg,#fff 52%,#eef7ff)}.next-date{margin:2px 0 8px;color:#1864bb;font-size:11px;font-weight:700}.next-class-panel h3{margin:0 0 8px;color:#11375f;font-size:22px;letter-spacing:-.025em}.teacher-line{display:flex;align-items:center;gap:6px;color:#61738a;font-size:12px}.next-class-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:20px;padding-top:14px;color:#8390a0;border-top:1px solid #dfe7ef;font-size:11px}.notice-list{display:grid}.notice-list button{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:7px;padding:11px 0;text-align:left;background:transparent;border:0;border-bottom:1px solid #edf0f3;cursor:pointer}.notice-list button:last-child{border-bottom:0}.notice-list button>span,.full-notice-list button>span{padding:2px 4px;color:#2671c8;text-align:center;border:1px solid #bdd8f5;border-radius:5px;font-size:11px}.notice-list button>span.new,.full-notice-list button>span.new{color:#fff;background:#ef4050;border-color:#ef4050}.notice-list strong{overflow:hidden;color:#2d415c;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.notice-list small{color:#9aa5b2;font-size:11px}.learning-panel{padding:22px}.learning-content{overflow:hidden;border:1px solid var(--border);border-radius:14px}.learning-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;background:#f8fbfe;border-bottom:1px solid var(--border)}.learning-title-row div{min-width:0}.learning-title-row span{color:#6d80a0;font-size:11px}.learning-title-row h3{margin:4px 0 0;color:#17385f;font-size:16px}.learning-title-row .complete-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;color:#25813b;background:#e9f7eb;border-radius:999px;font-weight:700;white-space:nowrap}.learning-block{padding:15px 17px}.learning-block+.learning-block{border-top:1px solid var(--border)}.learning-block>strong{display:flex;align-items:center;gap:7px;color:#174a80;font-size:12px}.learning-block ul{display:grid;gap:5px;margin:10px 0 0;padding-left:18px;color:#627187;font-size:11px;line-height:1.55}.empty-state{min-height:118px;display:grid;place-items:center;align-content:center;gap:5px;padding:18px;color:#9aa6b4;text-align:center}.empty-state>span{width:34px;height:34px;display:grid;place-items:center;color:#8294aa;background:#f0f4f8;border-radius:50%}.empty-state strong{color:#52657b;font-size:12px}.empty-state p{margin:0;font-size:11px}.sub-page{max-width:900px}.page-title{margin-bottom:22px}.page-title>button{display:flex;align-items:center;gap:2px;margin-bottom:17px;padding:0;color:#718196;background:transparent;border:0;cursor:pointer;font-size:11px}.attendance-list-panel{overflow:hidden}.attendance-list-row{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:14px;padding:17px;border-bottom:1px solid var(--border)}.attendance-list-row:last-child{border-bottom:0}.attendance-date{width:48px;height:48px;display:grid;place-items:center;align-content:center;color:var(--navy);background:#eef5fb;border-radius:12px}.attendance-date strong{font-size:18px;line-height:1}.attendance-date span{margin-top:3px;font-size:11px}.attendance-list-row>div:nth-child(2){min-width:0;display:grid;gap:4px}.attendance-list-row>div:nth-child(2) strong{color:#233e5e;font-size:13px}.attendance-list-row>div:nth-child(2) span{color:#8390a1;font-size:11px}.full-notice-list{overflow:hidden}.full-notice-list button{width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:17px;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--border);cursor:pointer}.full-notice-list button:last-child{border-bottom:0}.full-notice-list div{display:grid;gap:4px}.full-notice-list strong{color:#263f5d;font-size:13px}.full-notice-list small{color:#96a2b1;font-size:11px}.full-notice-list svg{width:16px;color:#9ba6b3}.bottom-navigation{display:none}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#071b326b;border:0}.mobile-menu-panel{position:fixed;left:0;top:0;bottom:0;z-index:70;width:270px;display:flex;flex-direction:column;padding:22px 16px;background:#fff;box-shadow:18px 0 50px #071f3a33}.menu-close{align-self:end;width:36px;height:36px;display:grid;place-items:center;color:#66768b;background:#f2f5f8;border:0;border-radius:9px}.mobile-menu-panel>strong{margin:15px 10px 20px;color:#15385f;font-size:18px}.mobile-menu-panel nav{display:grid;gap:5px}.mobile-menu-panel nav button,.logout-button,.bottom-navigation button{display:flex;align-items:center;gap:10px;color:#68788c;background:transparent;border:0;cursor:pointer}.mobile-menu-panel nav button{padding:12px;border-radius:10px}.mobile-menu-panel nav button.active{color:var(--navy);background:#edf5fc;font-weight:700}.mobile-menu-panel nav svg{width:19px}.logout-button{margin-top:auto;padding:12px;border-top:1px solid var(--border);font-size:12px}.page-state{min-height:calc(100vh - 72px);display:grid;place-items:center;align-content:center;gap:12px;color:#62738a}.page-state strong{font-size:13px}.page-state.error svg{color:#d04450}.page-state button{display:flex;align-items:center;gap:6px;padding:9px 13px;color:#fff;background:var(--navy);border:0;border-radius:9px}.spinner{width:30px;height:30px;border:3px solid #d5e0eb;border-top-color:var(--navy);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-status-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#edf6fd,#f5f7fa 58%)}.auth-status-card{width:min(430px,100%);display:grid;justify-items:center;padding:38px;text-align:center;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.auth-status-card img{width:160px;margin-bottom:28px}.auth-status-card h1{margin:16px 0 7px;color:#0f2445;font-size:22px}.auth-status-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.auth-status-card button{margin-top:22px;padding:11px 22px;color:#fff;background:var(--navy);border:0;border-radius:9px;cursor:pointer}.auth-status-icon{width:52px;height:52px;display:grid;place-items:center;color:var(--navy);background:#edf5fb;border-radius:50%}.auth-status-icon>span{width:22px;height:22px;border:3px solid #b7d0e5;border-top-color:var(--navy);border-radius:50%;animation:spin .8s linear infinite}.auth-status-icon.error{color:#dc2626;background:#fef2f2}@media(max-width:860px){.dashboard-layout{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1fr}}@media(max-width:680px){body{background:#f7f8fa}.top-header{height:60px}.header-inner{padding:0 14px}.header-menu{display:grid}.header-logo{width:122px;height:40px;margin-right:auto;margin-left:4px}.header-avatar{width:35px;height:35px;font-size:12px}.icon-button{width:36px;height:36px}.main-content{min-height:calc(100vh - 60px)}.portal-page{padding:22px 13px 92px}.welcome-row{align-items:stretch;margin-bottom:17px}.welcome-row h1{font-size:23px}.welcome-row p{font-size:12px}.child-picker{min-width:auto;align-self:end;padding:8px}.child-picker svg:first-child{display:none}.child-picker select{max-width:92px;font-size:11px}.dashboard-layout,.dashboard-main,.dashboard-side{gap:13px}.dashboard-side{grid-template-columns:1fr}.panel{border-radius:17px;box-shadow:0 5px 18px #0e28480e}.week-panel,.learning-panel{padding:16px 13px}.next-class-panel,.notice-panel{padding:16px}.panel-heading{margin-bottom:16px}.heading-with-icon{gap:8px}.heading-with-icon>span{width:34px;height:34px;flex-basis:34px;border-radius:10px}.heading-with-icon h2{font-size:15px}.heading-with-icon p{font-size:11px}.week-days{gap:3px}.week-days button{height:67px;gap:4px;padding:4px 0;border-radius:11px}.week-days strong{font-size:17px}.week-days button.today:after{font-size:11px}.status-legend{gap:10px;padding:11px 0 14px}.selected-day-heading{padding-top:13px}.schedule-row{grid-template-columns:auto 1fr auto;gap:9px;padding:11px 9px}.schedule-time{display:none}.schedule-class strong{font-size:12px}.schedule-class span{font-size:11px}.status-badge{padding:5px 6px;font-size:11px}.status-badge svg{display:none}.learning-title-row{align-items:start;padding:14px}.learning-title-row h3{font-size:14px}.learning-block{padding:13px 14px}.bottom-navigation{position:fixed;left:10px;right:10px;bottom:8px;z-index:40;height:64px;display:grid;grid-template-columns:repeat(3,1fr);padding:6px;background:#fffffff5;border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 32px #071f3a2e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-navigation button{display:grid;justify-items:center;align-content:center;gap:3px;color:#8b98a8;border-radius:12px;font-size:11px}.bottom-navigation button.active{color:var(--navy);background:#edf5fc;font-weight:750}.bottom-navigation svg{width:18px;height:18px}.attendance-list-row{grid-template-columns:48px 1fr auto;gap:10px;padding:13px}.attendance-date{width:43px;height:43px}}@media(max-width:410px){.welcome-row{display:grid}.child-picker{justify-self:start}.week-actions button{width:30px;height:30px}.status-legend{justify-content:flex-start}}.header-inner{width:100%}.app-layout{display:flex;min-height:calc(100vh - 72px)}.main-content{min-width:0;flex:1}.desktop-sidebar{position:sticky;top:72px;width:224px;height:calc(100vh - 72px);flex:0 0 224px;display:flex;flex-direction:column;padding:22px 14px 16px;background:#fff;border-right:1px solid var(--border)}.sidebar-title{margin:3px 10px 19px;color:#173b62;font-size:17px}.sidebar-navigation{display:grid;gap:5px}.sidebar-navigation button,.logout-button{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;color:#68788c;text-align:left;background:transparent;border:0;border-radius:10px;cursor:pointer}.sidebar-navigation button.active{color:var(--navy);background:#edf5fc;box-shadow:inset 3px 0 var(--navy);font-weight:700}.sidebar-navigation svg{width:18px}.sidebar-footer{display:grid;gap:9px;margin-top:auto;padding-top:13px;border-top:1px solid var(--border)}.sidebar-child-picker{display:grid;gap:7px;padding:10px;background:#f7f9fb;border:1px solid var(--border);border-radius:10px}.sidebar-child-picker>span{display:flex;align-items:center;gap:6px;color:#718096;font-size:11px;font-weight:700}.sidebar-child-picker select{width:100%;color:#193f68;background:transparent;border:0;outline:0;font-size:11px;font-weight:750}.logout-button{padding:9px 11px;font-size:11px}.mobile-menu-panel .sidebar-title{margin-top:15px}.mobile-menu-panel .sidebar-footer{margin-top:auto}.mobile-menu-panel .sidebar-navigation{display:grid;gap:5px}.monthly-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric-card{min-width:0;display:flex;align-items:center;gap:10px;padding:16px 13px}.metric-icon{width:38px;height:38px;display:grid;flex:0 0 38px;place-items:center;border-radius:11px}.metric-icon svg{width:19px}.metric-icon.correct{color:#27823c;background:#eaf7ec}.metric-icon.solved{color:#1e67bc;background:#eaf3fd}.metric-card>div{min-width:0;display:grid;gap:2px}.metric-card small{color:#78879a;font-size:11px}.metric-card strong{color:#12385f;font-size:23px;letter-spacing:-.04em;line-height:1}.metric-card em{margin-left:2px;font-size:11px;font-style:normal;letter-spacing:0}.metric-card p{overflow:hidden;margin:3px 0 0;color:#98a3b0;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.monthly-report-card{position:relative;min-height:208px;overflow:hidden;display:grid;grid-template-columns:1fr 122px;align-items:center;padding:22px;background:linear-gradient(145deg,#fff 55%,#f2f7fd)}.monthly-report-card>div:first-child{position:relative;z-index:2}.report-eyebrow{display:flex;align-items:center;gap:7px;color:#123f70;font-size:14px;font-weight:800}.monthly-report-card h3{margin:19px 0 5px;color:#153c67;font-size:17px;letter-spacing:-.025em}.monthly-report-card p{margin:0;color:#77879b;font-size:11px;line-height:1.55}.monthly-report-card button{display:flex;align-items:center;gap:4px;margin-top:16px;padding:9px 13px;color:#fff;background:linear-gradient(135deg,#0a4c89,#073665);border:0;border-radius:10px;box-shadow:0 7px 14px #073f7633;cursor:pointer;font-size:11px;font-weight:750}.report-illustration{position:relative;width:104px;height:130px;justify-self:end;transform:rotate(7deg);background:linear-gradient(145deg,#f8fbff,#dceafb);border:1px solid #d7e5f4;border-radius:12px;box-shadow:0 13px 20px #265b912e}.report-illustration:before{content:"";position:absolute;top:-1px;right:-1px;width:28px;height:28px;background:#eef6ff;border-bottom:1px solid #d7e5f4;border-left:1px solid #d7e5f4;border-radius:0 12px 0 9px}.report-line{position:absolute;left:19px;height:5px;background:#a4c9ef;border-radius:99px}.line-one{top:22px;width:38px}.line-two{top:34px;width:52px}.report-pie{position:absolute;left:17px;bottom:22px;width:40px;height:40px;background:conic-gradient(#2f77d0 0,#2f77d0 68%,#84b9ef 68%,#84b9ef);border-radius:50%}.report-bar{position:absolute;bottom:22px;width:7px;background:#65bd70;border-radius:3px 3px 0 0}.bar-one{right:30px;height:19px}.bar-two{right:20px;height:31px}.bar-three{right:10px;height:25px}.attendance-page{max-width:1120px}.month-calendar-panel{overflow:hidden;padding:22px;transition:opacity .2s ease}.month-calendar-panel.is-loading{opacity:.6}.month-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.month-calendar-heading span{color:var(--green);font-size:11px;font-weight:750}.month-calendar-heading h2{margin:3px 0 0;color:#153b64;font-size:22px}.monthly-status-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:17px;padding:11px 13px;color:#738297;background:#f7f9fb;border-radius:10px;font-size:11px}.monthly-status-summary span{display:flex;align-items:center;gap:5px}.monthly-status-summary i{width:7px;height:7px;border-radius:50%}.monthly-status-summary b{color:#243f60}.month-calendar{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}.month-calendar-scroll{overflow-x:auto;overscroll-behavior-x:contain}.month-weekday{padding:9px 4px;color:#64758a;text-align:center;background:#f7f9fb;border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-size:11px}.month-calendar button{min-width:0;min-height:106px;display:grid;align-content:start;gap:7px;padding:8px;color:#29445f;text-align:left;background:#fff;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer}.month-calendar button:hover,.month-calendar button.selected{background:#f1f7fd;box-shadow:inset 0 0 0 1px #bad6ee}.month-calendar button.outside{color:#b2bbc6;background:#fafbfc}.month-calendar button.today>span{width:23px;height:23px;display:grid;place-items:center;color:#fff;background:var(--navy);border-radius:50%}.month-calendar button>span{font-size:11px;font-weight:700}.month-calendar button>div{display:grid;gap:3px}.month-calendar button i{overflow:hidden;display:flex;align-items:center;gap:3px;padding:3px 4px;border-radius:4px;font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.month-calendar button i b{font-size:11px;font-weight:800;opacity:.72}.month-calendar button small{color:#7d8da0;font-size:11px}.month-selected-day{padding-top:20px}.month-selected-day h3{margin:0 0 10px;color:#263f5e;font-size:13px}.report-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin:15px 0}.report-summary-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:18px}.report-summary-card>span{grid-row:1 / span 2;width:42px;height:42px;display:grid;place-items:center;color:var(--navy);background:#edf5fc;border-radius:12px}.report-summary-card small{color:#7b899b;font-size:11px}.report-summary-card strong{color:#153d68;font-size:22px}.report-detail-card{padding:20px}.report-detail-card h3{margin:0 0 8px;color:#203f63;font-size:16px}.report-detail-card>p{color:#6f7e91;font-size:11px;line-height:1.7}.report-detail-card blockquote{margin:16px 0 0;padding:13px 15px;color:#52677f;background:#f4f8fb;border-left:3px solid var(--green);border-radius:0 9px 9px 0;font-size:11px;line-height:1.6}.notice-page{max-width:1120px}.notice-board{overflow:hidden}.notice-board>header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--border)}.notice-board>header h2{margin:0;color:#17395f;font-size:19px}.notice-board>header span{color:#8b97a7;font-size:11px}.notice-board-list{display:grid}.notice-board-list button{width:100%;display:grid;grid-template-columns:52px 72px minmax(0,1fr) 100px 18px;align-items:center;gap:10px;padding:19px 24px;color:#243c59;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--border);cursor:pointer}.notice-board-list button:hover{background:#f8fbfe}.notice-board-list button.pinned{background:#f5f9fd}.notice-number{color:#78889b;font-size:11px;font-weight:750;text-align:center}.notice-board-list button.pinned .notice-number{width:30px;height:30px;display:grid;place-items:center;color:var(--navy);background:#e6f1fb;border-radius:50%}.notice-category{padding:3px 5px;color:#2467ad;text-align:center;border:1px solid #b8d2ed;border-radius:5px;font-size:11px;font-weight:750;white-space:nowrap}.notice-category.new{color:#fff;background:#e94757;border-color:#e94757}.notice-board-list strong{overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.notice-board-list time{color:#8b98a8;font-size:11px;text-align:right}.notice-board-list svg{color:#98a5b4}.notice-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px}.notice-pagination button,.notice-pagination strong{width:30px;height:30px;display:grid;place-items:center;border-radius:7px}.notice-pagination button{color:#9aa5b2;background:transparent;border:0;cursor:pointer}.notice-pagination strong{color:#fff;background:var(--navy);font-size:11px}.notice-pagination svg{width:16px}@media(max-width:1100px){.dashboard-layout{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1fr}.notice-panel{grid-column:1 / -1}}@media(max-width:1020px){.desktop-sidebar{display:none}.header-menu{display:grid}}@media(max-width:680px){.app-layout{min-height:calc(100vh - 60px)}.dashboard-layout{display:grid;grid-template-columns:1fr}.dashboard-main,.dashboard-side{display:contents}.monthly-report-card{order:1}.monthly-metrics{order:2}.week-panel{order:3}.learning-panel{order:4}.notice-panel{order:5}.notice-panel{grid-column:auto}.monthly-report-card{min-height:190px;padding:18px;grid-template-columns:1fr 100px}.report-illustration{width:88px;height:112px}.monthly-metrics{gap:8px}.metric-card{padding:13px 10px}.metric-icon{display:none}.metric-card strong{font-size:21px}.month-calendar-panel{padding:14px 9px}.month-calendar-scroll{margin-inline:-9px;padding-bottom:7px}.month-calendar{min-width:700px}.month-calendar button{min-height:92px;padding:6px}.month-calendar button i{display:flex;width:auto;height:auto;padding:4px 5px;border-radius:5px;color:inherit!important;font-size:11px}.month-calendar button>div{display:grid;gap:3px}.month-calendar button small{display:block}.report-summary-grid{gap:8px}.report-summary-card{grid-template-columns:1fr;padding:13px}.report-summary-card>span{display:none}.notice-board>header{padding:17px 15px}.notice-board-list button{grid-template-columns:38px 1fr 16px;gap:8px;padding:15px 13px}.notice-board-list .notice-category{grid-column:2;grid-row:1;justify-self:start}.notice-board-list strong{grid-column:2;grid-row:2;font-size:11px}.notice-board-list time{grid-column:2;grid-row:3;text-align:left;font-size:11px}.notice-board-list button>svg{grid-column:3;grid-row:1 / span 3}.notice-number{grid-column:1;grid-row:1 / span 3}}.monthly-report-page{max-width:1180px;display:grid;gap:16px;color:#142b4b}.monthly-report-title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:4px}.monthly-report-title>div:first-child>span{color:#5b8bc1;font-size:11px;font-weight:850;letter-spacing:.15em}.monthly-report-title h1{margin:8px 0 6px;color:#0b3263;font-size:clamp(27px,3vw,36px);letter-spacing:-.045em}.monthly-report-title p{margin:0;color:#75849a;font-size:12px}.report-back-button{display:flex;align-items:center;gap:5px;margin-bottom:15px;padding:0;color:#667b94;background:transparent;border:0;cursor:pointer;font-size:11px}.report-page-actions{display:flex;align-items:center;gap:6px}.report-page-actions button{height:32px;display:flex;align-items:center;gap:5px;padding:0 10px;border-radius:7px;cursor:pointer;font-size:11px;font-weight:700}.report-share-button{color:#536d89;background:transparent;border:1px solid transparent}.report-download-button{color:#174f88;background:#edf5fc;border:1px solid #d8e6f2;box-shadow:none}.report-page-actions button:hover{background:#e5f0fa}.report-section{min-width:0;padding:20px;background:#fff;border:1px solid #e4eaf1;border-radius:16px;box-shadow:0 6px 22px #1130540e}.report-section>h2{display:flex;align-items:center;gap:4px;margin:0 0 17px;color:#103c71;font-size:16px;letter-spacing:-.025em}.report-section>h2 span{color:#0b559e}.report-student-card{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(300px,auto);align-items:center;gap:16px;padding:21px 24px}.student-avatar{width:70px;height:70px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#2f7fc5,#165b9d);border:5px solid #e1effb;border-radius:50%}.student-avatar span{transform:translateY(1px);font-size:18px;font-weight:850}.student-profile{min-width:0}.student-profile>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:7px}.student-profile h2{margin:0;color:#102f55;font-size:19px}.course-chip{padding:4px 7px;color:#2d69a8;background:#edf5fd;border-radius:5px;font-size:11px;font-weight:750}.student-profile p{margin:3px 0 0;color:#6f7e91;font-size:11px}.report-meta{display:grid;gap:11px;margin:0;padding-left:22px;border-left:1px solid #e2e8ef}.report-meta div{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:9px}.report-meta dt{display:flex;align-items:center;gap:6px;color:#728196;font-size:11px}.report-meta dd{margin:0;color:#334d6b;font-size:11px}.report-meta dd span{display:inline-flex;padding:4px 7px;color:#21823a;background:#e6f5e9;border-radius:5px;font-weight:800}.report-summary-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.report-summary-item{min-width:0;display:flex;align-items:center;gap:9px;padding:13px 11px;background:#fbfcfe;border:1px solid #e7ecf2;border-radius:11px}.report-summary-item>span{width:38px;height:38px;display:grid;flex:0 0 38px;place-items:center;border-radius:10px}.report-summary-item svg{width:19px}.report-summary-item>div{min-width:0;display:grid;gap:3px}.report-summary-item small{color:#718197;font-size:11px}.report-summary-item strong{color:#12365f;font-size:20px;line-height:1;letter-spacing:-.04em}.report-summary-item p{overflow:hidden;margin:0;color:#8795a7;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.report-summary-item.green>span{color:#20a147;background:#e9f7ed}.report-summary-item.blue>span{color:#2776cf;background:#eaf3fd}.report-summary-item.purple>span{color:#8453e6;background:#f2edfd}.report-summary-item.orange>span{color:#f59a23;background:#fff3e2}.report-two-column{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:16px}.report-side-stack{display:grid;gap:16px}.weekly-report-list{display:grid;gap:8px}.week-report-card{--week-accent: #3d8e5a;display:grid;gap:10px;padding:13px 14px;background:#fbfcfe;border:1px solid #e6ebf1;border-left:3px solid var(--week-accent);border-radius:10px}.week-report-card.tone-2{--week-accent: #3f78b4}.week-report-card.tone-3{--week-accent: #7658ba}.week-report-card.tone-4{--week-accent: #d07832}.week-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.week-period{display:flex;align-items:center;gap:7px;min-width:0}.week-period strong{padding:4px 7px;color:var(--week-accent);background:#eef4f8;border-radius:6px;font-size:11px;white-space:nowrap}.week-period time{color:#65788e;font-size:11px;font-weight:700;white-space:nowrap}.week-metrics{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px}.week-metrics span,.week-metrics strong{padding:4px 6px;border-radius:999px;font-size:11px;white-space:nowrap}.week-metrics span{color:#63768c;background:#f0f3f7;font-weight:600}.week-metrics strong{color:#2f6c47;background:#eaf6ee}.week-content{min-width:0}.week-content h3{margin:0 0 5px;color:#1a3d66;font-size:13px}.week-content p{margin:0;color:#6f7f92;font-size:11px;line-height:1.5}.concept-chips{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}.concept-chips span{padding:3px 6px;color:#65778e;background:#f0f3f7;border-radius:5px;font-size:11px}.homework-card-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.homework-report-card{min-width:0;padding:11px;background:#fbfcfe;border:1px solid #e6ebf1;border-radius:9px}.homework-report-card header{display:flex;align-items:start;justify-content:space-between;gap:8px}.homework-report-card header>div{min-width:0;display:grid;gap:3px}.homework-report-card header>div span{color:#3270ad;font-size:11px;font-weight:750}.homework-report-card header>div strong{overflow:hidden;color:#294765;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.homework-report-card dl{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 8px}.homework-report-card dl div{display:flex;align-items:baseline;justify-content:space-between;gap:5px;padding:6px 7px;background:#fff;border:1px solid #edf0f4;border-radius:6px}.homework-report-card dt{color:#79899c;font-size:11px}.homework-report-card dd{margin:0;color:#2d4967;font-size:12px;font-weight:800}.homework-report-card p{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:4px;margin:0;color:#73849a;font-size:11px}.homework-report-card p svg{color:#d28b20}.homework-report-card p strong{overflow:hidden;color:#536b84;text-overflow:ellipsis;white-space:nowrap}.homework-status{display:inline-flex;align-items:center;gap:3px;font-weight:750}.homework-status svg{width:10px;height:10px}.homework-status.done{color:#259243}.homework-status.working{color:#e48816}.homework-status.missed{color:#e34353}.problem-chart-layout{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:14px}.problem-donut{position:relative;width:108px;height:108px;display:grid;place-items:center;background:conic-gradient(#22a6b3 0,#22a6b3 25%,#3478d4 25%,#3478d4 46%,#8b5cf6 46%,#8b5cf6 75%,#ef476f 75%,#ef476f 89%,#f97316 89%,#f97316 96%,#6c63d9 96%,#6c63d9);border-radius:50%}.problem-donut:after{content:"";position:absolute;width:58px;height:58px;background:#fff;border-radius:50%}.problem-donut div{z-index:1;display:grid;place-items:center;color:#173e69}.problem-donut strong{font-size:18px;line-height:1}.problem-donut span{font-size:11px}.problem-legend{display:grid;gap:6px}.problem-legend>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px;color:#60728a;font-size:11px}.problem-legend i{width:7px;height:7px;border-radius:2px}.problem-legend strong{color:#53667d;font-weight:600}.problem-legend small{grid-column:2 / -1;color:#8492a3;font-size:11px}.report-insight{display:flex;gap:8px;margin-top:11px;padding:9px 10px;color:#1f6ab3;background:#edf6ff;border-radius:8px}.report-insight svg{flex:0 0 auto}.report-insight p{margin:0;color:#4e7096;font-size:11px;line-height:1.5}.report-insight code{color:#1c5e9f}.code-feedback-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:18px}.section-caption{display:block;margin-bottom:7px;color:#526a86;font-size:11px;font-weight:750}.student-code{overflow-x:auto;margin:0;padding:14px 16px;color:#dfe9f4;background:linear-gradient(145deg,#16283d,#0e1d31);border-radius:9px;font:11px/1.7 Consolas,Courier New,monospace;box-shadow:inset 0 1px #ffffff0f}.growth-points{margin-top:8px;padding:9px 11px;background:#eff8f1;border-radius:8px}.growth-points strong{color:#288143;font-size:11px}.growth-points ol{display:grid;gap:4px;margin:6px 0 0;padding-left:18px;color:#4f715a;font-size:11px;line-height:1.5}.teacher-feedback{display:grid;align-content:start;gap:8px}.feedback-box{padding:11px 12px;border:1px solid;border-radius:8px}.feedback-box>strong{display:flex;align-items:center;gap:5px;font-size:11px}.feedback-box svg{width:13px}.feedback-box ul{display:grid;gap:4px;margin:7px 0 0;padding-left:16px;color:#53687e;font-size:11px;line-height:1.5}.feedback-box.good{color:#238342;background:#f1faf3;border-color:#dcefe0}.feedback-box.improve{color:#d75c32;background:#fff6f3;border-color:#f5e2dc}.report-bottom-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:start;gap:16px}.competency-list{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.competency-card{min-width:0;padding:11px 9px;background:#f6f9fd;border-radius:9px}.competency-card-heading{display:flex;align-items:center;gap:4px;color:#315f94}.competency-card-heading>span{width:22px;height:22px;display:grid;place-items:center;background:#fff;border-radius:6px}.competency-card-heading svg{width:12px}.competency-card-heading strong{font-size:11px}.competency-score{margin-top:10px;color:#214f84}.competency-score strong{font-size:20px;letter-spacing:-.04em}.competency-score span{font-size:11px}.competency-progress{height:3px;margin:6px 0;overflow:hidden;background:#dfe8f2;border-radius:99px}.competency-progress i{display:block;height:100%;background:#397fc9;border-radius:inherit}.competency-card p{margin:0;color:#718197;font-size:11px;line-height:1.45}.competency-card.green{background:#f1f9f4}.competency-card.green .competency-card-heading,.competency-card.green .competency-score{color:#28824a}.competency-card.green .competency-progress i{background:#45a96a}.competency-card.purple{background:#f5f2fd}.competency-card.purple .competency-card-heading,.competency-card.purple .competency-score{color:#704fb3}.competency-card.purple .competency-progress i{background:#8364c5}.competency-card.red{background:#fff3f5}.competency-card.red .competency-card-heading,.competency-card.red .competency-score{color:#c54f67}.competency-card.red .competency-progress i{background:#df6d81}.competency-card.mint{background:#eff9f8}.competency-card.mint .competency-card-heading,.competency-card.mint .competency-score{color:#258379}.competency-card.mint .competency-progress i{background:#44a89c}.teacher-comment-heading{display:flex;align-items:center;gap:8px}.teacher-comment-heading>span{width:34px;height:34px;display:grid;place-items:center;color:#24639f;background:#eaf3fc;border-radius:50%}.teacher-comment-heading svg{width:17px}.teacher-comment-heading div{display:grid;gap:2px}.teacher-comment-heading strong{color:#1f4269;font-size:11px}.teacher-comment-heading small{color:#8592a2;font-size:11px}.comment-section>p{margin:12px 0;color:#53677e;font-size:11px;line-height:1.75}.comment-points{display:grid;gap:7px}.comment-points div{padding:8px 9px;background:#f8fafc;border-radius:7px}.comment-points strong{display:flex;align-items:center;gap:4px;color:#285d94;font-size:11px}.comment-points p{margin:4px 0 0;color:#6b7b8e;font-size:11px;line-height:1.55}.next-month-plan{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.next-month-plan div{min-width:0;display:flex;align-items:center;gap:7px;padding:10px;color:#355777;background:#f5f8fc;border-radius:8px}.next-month-plan span{width:22px;height:22px;display:grid;flex:0 0 22px;place-items:center;color:#fff;background:#3679bc;border-radius:50%;font-size:11px;font-weight:800}.next-month-plan p{margin:0;font-size:11px;line-height:1.4}.report-footer-note{display:flex;align-items:center;gap:8px;padding:11px 14px;color:#2d6095;background:#eaf3fc;border-radius:9px}.report-footer-note p{flex:1;margin:0;font-size:11px}.report-footer-note span{color:#70839a;font-size:11px}.competency-radar-layout{display:grid;grid-template-columns:minmax(270px,1.15fr) minmax(175px,.85fr);align-items:stretch;gap:12px}.competency-radar-card{display:grid;justify-items:center;padding:11px;background:#fbfcfe;border:1px solid #e7ebf0;border-radius:11px}.radar-heading{width:100%;display:flex;align-items:center;gap:6px;color:#2864a0}.radar-heading strong{font-size:11px}.competency-radar{width:min(100%,330px);overflow:visible}.radar-grid{fill:#f8fafc;fill-opacity:.45;stroke:#dce3ea;stroke-width:1}.radar-axis{stroke:#e3e8ee;stroke-width:1}.radar-score-area{fill:#79aee6;fill-opacity:.48;stroke:#4b91d9;stroke-width:2}.radar-score-point{fill:#fff;stroke:#448bd2;stroke-width:2}.radar-label{fill:#40566f;font-size:11px;font-weight:750}.radar-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;color:#5985b3;font-size:11px}.radar-legend i{width:9px;height:9px;transform:rotate(45deg);background:#8eb9e6;border:1px solid #4c92d8}.radar-legend em{margin-left:5px;color:#8391a2;font-style:normal}.competency-score-list{display:grid;gap:7px}.competency-score-card{display:grid;gap:4px;padding:9px 10px;background:#f7fafe;border:1px solid #e7ebf0;border-radius:9px}.competency-score-card>div:first-child{display:flex;align-items:center;gap:5px;color:#3b6f9f}.competency-score-card>div:first-child span{width:20px;height:20px;display:grid;place-items:center;background:#fff;border-radius:5px}.competency-score-card svg{width:11px}.competency-score-card>div:first-child strong{font-size:11px}.competency-score-card p{margin:0;color:#76869a;font-size:11px;line-height:1.35}.competency-score-card>div:last-child{display:flex;align-items:end;justify-content:space-between;gap:6px}.competency-score-card>div:last-child strong{color:#214f84;font-size:18px;letter-spacing:-.03em}.competency-score-card>div:last-child span{padding:3px 5px;color:#647b94;background:#fff;border-radius:4px;font-size:11px;font-weight:700}.competency-score-card.green>div:first-child,.competency-score-card.green>div:last-child strong{color:#2d8650}.competency-score-card.purple>div:first-child,.competency-score-card.purple>div:last-child strong{color:#7555b8}.competency-score-card.red>div:first-child,.competency-score-card.red>div:last-child strong{color:#bf536a}.competency-score-card.mint>div:first-child,.competency-score-card.mint>div:last-child strong{color:#2c857c}.next-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.next-calendar-heading>div:first-child{display:flex;align-items:center;gap:7px;color:#285f97}.next-calendar-heading strong{font-size:13px}.next-calendar-heading>div:first-child span{padding:3px 6px;color:#66809b;background:#f0f5fa;border-radius:999px;font-size:11px}.next-calendar-legend{display:flex;align-items:center;gap:10px;color:#728298;font-size:11px}.next-calendar-legend span{display:flex;align-items:center;gap:4px}.next-calendar-legend i{width:7px;height:7px;background:#4a91d5;border-radius:2px}.next-calendar-legend span:last-child i{background:#8a65d1}.next-calendar-scroll{overflow-x:auto;border:1px solid #e2e8ef;border-radius:10px}.next-month-calendar{min-width:760px;display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #e2e8ef;border-left:1px solid #e2e8ef}.next-calendar-weekday{padding:8px 5px;color:#597089;text-align:center;background:#f5f8fb;border-right:1px solid #e2e8ef;border-bottom:1px solid #e2e8ef;font-size:11px}.next-month-calendar article{min-height:90px;padding:7px;background:#fff;border-right:1px solid #e2e8ef;border-bottom:1px solid #e2e8ef}.next-month-calendar article.outside{background:#fafbfc}.next-month-calendar article>span{display:block;margin-bottom:5px;color:#405a76;font-size:11px;font-weight:750}.next-month-calendar article.outside>span{color:#b1bac5}.next-month-calendar article>div{display:grid;gap:4px}.next-month-calendar p{display:grid;gap:2px;margin:0;padding:5px 6px;color:#275f98;background:#edf5fc;border-left:2px solid #4a91d5;border-radius:4px}.next-month-calendar p.project{color:#6849a7;background:#f2eefb;border-left-color:#8a65d1}.next-month-calendar time{font-size:11px;font-weight:700}.next-month-calendar p strong{font-size:11px;line-height:1.3}@media(max-width:1120px){.report-two-column,.report-bottom-grid{grid-template-columns:1fr}}@media(max-width:760px){.monthly-report-page{gap:11px}.monthly-report-title{display:grid;align-items:start}.monthly-report-title h1{font-size:25px}.report-page-actions{justify-self:start}.report-section{padding:15px 13px;border-radius:14px}.report-student-card{grid-template-columns:auto 1fr;padding:16px}.student-avatar{width:58px;height:58px}.report-meta{grid-column:1 / -1;padding:12px 0 0;border-top:1px solid #e2e8ef;border-left:0}.report-summary-list{grid-template-columns:1fr 1fr}.week-card-header{display:grid;align-items:start;gap:7px}.week-metrics{justify-content:flex-start}.homework-card-list{grid-template-columns:1fr}.problem-chart-layout{grid-template-columns:100px 1fr}.problem-donut{width:92px;height:92px}.code-feedback-layout,.competency-radar-layout{grid-template-columns:1fr}.competency-score-list{grid-template-columns:1fr 1fr}.competency-score-card:last-child{grid-column:1 / -1}.next-calendar-heading{align-items:start}.next-calendar-heading,.next-calendar-heading>div:first-child{flex-wrap:wrap}.next-calendar-scroll{margin-inline:-13px;border-radius:0}.report-footer-note{align-items:start;flex-wrap:wrap}}@media print{@page{size:A4;margin:10mm}body{min-width:0;background:#fff}.top-header,.desktop-sidebar,.bottom-navigation,.report-page-actions,.report-back-button{display:none!important}.app-layout,.main-content{display:block;min-height:auto}.monthly-report-page{width:100%;max-width:none;gap:9px;padding:0}.monthly-report-title{margin-bottom:3px}.monthly-report-title h1{font-size:25px}.report-section{padding:11px;border-radius:8px;box-shadow:none;break-inside:avoid}.report-section>h2{margin-bottom:9px;font-size:12px}.report-student-card{padding:12px}.report-summary-list{gap:5px}.report-summary-item{padding:8px}.report-two-column,.report-side-stack{gap:9px}.code-feedback-layout{gap:10px}.report-bottom-grid{gap:9px}.report-bottom-grid,.competency-radar-layout{grid-template-columns:1fr}.competency-score-list{grid-template-columns:repeat(5,1fr)}.next-month-calendar{min-width:0}.next-month-calendar article{min-height:68px;padding:4px}.next-month-calendar p{padding:3px}.report-footer-note{padding:7px 9px}}.report-v2-page{--report-blue: #073f76;--report-blue-soft: #edf4f9;--report-ink: #10233f;--report-muted: #64748b;--report-line: #dfe7f0;max-width:980px;display:grid;gap:24px;color:var(--report-ink)}.report-v2-toolbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:-10px}.report-v2-main-back{display:inline-flex;align-items:center;gap:5px;padding:0;color:#677991;background:transparent;border:0;cursor:pointer;font-size:13px;font-weight:700}.report-v2-main-back:hover{color:#073f76}.report-v2-month-control{position:relative}.report-v2-month-button{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;color:#073f76;background:#fff;border:1px solid #dce5ef;border-radius:14px;box-shadow:0 3px 10px #1c36550f;cursor:pointer;font-size:13px;font-weight:800}.report-v2-month-popover{position:absolute;top:calc(100% + 9px);right:0;width:310px;padding:16px;background:#fff;border:1px solid #dce5ef;border-radius:18px;box-shadow:0 18px 45px #12284329}.report-v2-month-popover:before{content:"";position:absolute;top:-6px;right:28px;width:12px;height:12px;background:#fff;border-top:1px solid #dce5ef;border-left:1px solid #dce5ef;transform:rotate(45deg)}.report-v2-month-popover header{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.report-v2-month-popover header>button{width:34px;height:34px;display:grid;place-items:center;color:#53667e;background:#f4f7fa;border:1px solid #e4ebf2;border-radius:10px;cursor:pointer}.report-v2-month-popover header>button:disabled{color:#bdc6d0;cursor:not-allowed;opacity:.55}.report-v2-month-popover header strong{color:#10233f;font-size:17px}.report-v2-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.report-v2-month-grid button{min-height:54px;display:grid;place-items:center;gap:3px;padding:8px 6px;color:#203852;background:#f8fafc;border:1px solid #e5ebf2;border-radius:12px;cursor:pointer;font-size:13px;font-weight:800}.report-v2-month-grid button.current{color:#fff;background:#073f76;border-color:#073f76}.report-v2-month-grid button:disabled{color:#a6b1bf;background:#f3f5f7;cursor:not-allowed}.report-v2-month-popover>p{margin:12px 2px 0;color:#758397;font-size:12px;line-height:1.45}.report-v2-cover,.report-v2-section{overflow:hidden;background:#fff;border:1px solid #dce5ef;border-radius:26px;box-shadow:0 3px 10px #1c365514}.report-v2-cover-main{min-height:180px;display:flex;align-items:flex-start;justify-content:space-between;gap:32px;padding:38px 42px;color:#fff;background:radial-gradient(circle at 92% 10%,rgba(116,183,46,.22),transparent 28%),linear-gradient(135deg,#063967,#073f76 58%,#0d5687)}.report-v2-eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:14px;color:#e4efff;font-size:15px;font-weight:750}.report-v2-cover h1{margin:0;color:#fff;font-size:clamp(34px,4.2vw,48px);letter-spacing:-.045em;line-height:1.12}.report-v2-cover-main p{margin:10px 0 0;color:#dbeaff;font-size:16px;line-height:1.6}.report-v2-cover-actions{min-width:max-content;display:grid;justify-items:end;gap:16px}.report-v2-status{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;color:#fff;background:#ffffff21;border-radius:999px;font-size:13px;font-weight:800}.report-v2-status.public{color:#efffe2;background:#74b72e3d;box-shadow:inset 0 0 0 1px #cff2a93d}.report-v2-status.private{color:#e4eaf0;background:#08192b40}.report-v2-cover-actions>div{display:flex;gap:8px}.report-v2-cover-actions button{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;color:#073f76;background:#fff;border:0;border-radius:14px;cursor:pointer;font-size:13px;font-weight:800}.report-v2-cover-actions button:last-child{width:38px;justify-content:center;padding-inline:0;color:#fff;background:#ffffff29;border-radius:14px}.report-v2-meta-grid{display:grid;grid-template-columns:repeat(4,1fr)}.report-v2-meta{min-width:0;display:flex;align-items:center;gap:13px;padding:22px 26px;border-right:1px solid var(--report-line)}.report-v2-meta:last-child{border-right:0}.report-v2-meta>svg{width:20px;flex:0 0 20px;color:#65768d}.report-v2-meta div{min-width:0;display:grid;gap:4px}.report-v2-meta span{color:#718097;font-size:13px}.report-v2-meta strong{overflow:hidden;color:#10233f;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.report-v2-report-number{padding:11px 24px;color:#758397;background:#f8fafc;border-top:1px solid var(--report-line);text-align:right;font-size:12px}.report-v2-report-number strong{margin-left:6px;color:#52657d;font-family:Cascadia Code,D2Coding,Consolas,monospace;font-weight:650}.report-v2-section{padding:38px 40px 40px}.report-v2-section>*{min-width:0}.report-v2-section-heading{display:flex;align-items:flex-start;gap:15px;margin-bottom:28px}.report-v2-section-heading>span{width:42px;height:42px;display:grid;flex:0 0 42px;place-items:center;color:#073f76;background:#eaf2f8;border-radius:50%;font-size:16px;font-weight:850}.report-v2-section-heading h2{margin:1px 0 4px;color:#0c203a;font-size:24px;letter-spacing:-.035em}.report-v2-section-heading p{margin:0;color:#68788e;font-size:15px;line-height:1.55}.report-v2-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.report-v2-summary-card,.report-v2-summary-detail article,.report-v2-week-card,.report-v2-trend-card,.report-v2-platform-card,.report-v2-code-card,.report-v2-radar-card,.report-v2-skill-card,.report-v2-comment-card,.report-v2-next-direction,.report-v2-plan-layout aside article,.report-v2-calendar{border:1px solid var(--report-line);border-radius:20px}.report-v2-summary-card{padding:21px 20px}.report-v2-summary-card>span{display:flex;align-items:center;gap:7px;color:#62748c;font-size:13px;font-weight:750}.report-v2-summary-card svg{width:17px;color:#0a568f}.report-v2-summary-card>strong{display:block;margin-top:13px;color:#071a34;font-size:22px;letter-spacing:-.035em}.report-v2-summary-card p{margin:6px 0 0;color:#6f7e91;font-size:13px}.report-v2-attendance-breakdown{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.report-v2-attendance-breakdown span{padding:4px 7px;border-radius:999px;font-size:12px;font-weight:750}.report-v2-attendance-breakdown .present{color:#287e3c;background:#e8f6ea}.report-v2-attendance-breakdown .late{color:#a76600;background:#fff3da}.report-v2-attendance-breakdown .absent{color:#c53b48;background:#ffedef}.report-v2-summary-detail{display:grid;grid-template-columns:1fr 1.35fr;gap:14px;margin-top:20px}.report-v2-summary-detail article{padding:21px 22px}.report-v2-summary-detail article:last-child{background:#f4fbf7;border-color:#bde8cd}.report-v2-summary-detail h3{display:flex;align-items:center;gap:7px;margin:0 0 14px;color:#18314f;font-size:15px}.report-v2-summary-detail article:last-child h3{color:#2dac68}.report-v2-summary-detail article>div{display:flex;flex-wrap:wrap;gap:7px}.report-v2-summary-detail span{padding:7px 11px;color:#1768dd;background:#e9f1ff;border-radius:999px;font-size:13px;font-weight:750}.report-v2-summary-detail p{margin:0;color:#243c59;font-size:13px;line-height:1.7}.report-v2-week-list{display:grid;gap:14px}.report-v2-week-card{--week-accent: #4d81b7;--week-soft: #f4f8fc;padding:21px 24px;background:linear-gradient(90deg,var(--week-soft),white 26%);border-left:4px solid var(--week-accent)}.report-v2-week-card.week-tone-1{--week-accent: #4d81b7;--week-soft: #f0f6fc}.report-v2-week-card.week-tone-2{--week-accent: #62a15e;--week-soft: #f2f8f1}.report-v2-week-card.week-tone-3{--week-accent: #8069b4;--week-soft: #f5f2fa}.report-v2-week-card.week-tone-4{--week-accent: #ca8b45;--week-soft: #fbf5ed}.report-v2-week-card>header,.report-v2-week-card>header>div,.report-v2-understanding,.report-v2-understanding>span{display:flex;align-items:center}.report-v2-week-card>header{justify-content:space-between;gap:16px}.report-v2-week-card>header>div{gap:9px}.report-v2-week-card>header>div strong{padding:4px 9px;color:var(--week-accent);background:color-mix(in srgb,var(--week-accent) 12%,white);border-radius:999px;font-size:13px}.report-v2-week-card time{color:#697a91;font-size:13px;font-weight:700;white-space:nowrap}.report-v2-understanding{gap:8px}.report-v2-understanding>span{gap:3px;padding:4px 7px;border:1px solid var(--report-line);border-radius:999px}.report-v2-understanding i{width:8px;height:8px;background:#f2d6d9;border-radius:50%}.report-v2-understanding i:nth-child(2){background:#f4e4c2}.report-v2-understanding i:nth-child(3){background:#bde7d1}.report-v2-understanding strong{padding:5px 9px;border-radius:999px;font-size:13px}.report-v2-understanding.red strong{color:#d0525c;background:#fff0f1}.report-v2-understanding.yellow strong{color:#a96c0d;background:#fff5df}.report-v2-understanding.green strong{color:#279b61;background:#e9f8f0}.report-v2-understanding.red>span{border-color:#efd0d4;background:#fff8f8}.report-v2-understanding.yellow>span{border-color:#eddfbf;background:#fffbf3}.report-v2-understanding.green>span{border-color:#c8e8d5;background:#f5fcf8}.report-v2-understanding.red i:first-child{background:#e45d67}.report-v2-understanding.yellow i:nth-child(2){background:#e4ae48}.report-v2-understanding.green i:nth-child(3){background:#35b977}.report-v2-week-card h3{margin:14px 0 4px;color:#0b2039;font-size:16px}.report-v2-week-description{margin:0;color:#68788d;font-size:14px;line-height:1.6}.report-v2-learning-point{margin:13px 0;padding:10px 13px;color:#273f5d;background:#ffffffb8;border-radius:11px;font-size:14px;line-height:1.6}.report-v2-learning-point strong{color:var(--week-accent)}.report-v2-concepts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.report-v2-concepts span{padding:5px 9px;color:#66788e;background:#f0f3f7;border-radius:999px;font-size:12px}.report-v2-week-card footer{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1.8fr);gap:14px;padding-top:13px;border-top:1px solid var(--report-line)}.report-v2-week-footer-item{min-width:0;display:flex;align-items:flex-start;gap:6px;color:#65758a;font-size:14px;line-height:1.55}.report-v2-week-footer-item>svg{flex:0 0 auto;margin-top:2px;color:#27b96f}.report-v2-week-footer-item:last-child>svg{color:#eb9a16}.report-v2-week-footer-item strong{flex:0 0 auto;color:#172e4a;white-space:nowrap}.report-v2-week-footer-item span{min-width:0;overflow-wrap:anywhere}.report-v2-trend-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.report-v2-trend-card{padding:23px}.report-v2-trend-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.report-v2-trend-card h3{display:flex;align-items:center;gap:7px;margin:0;color:#102741;font-size:16px}.report-v2-trend-card h3 svg{color:#1768dd}.report-v2-trend-card.green h3 svg{color:#2fb373}.report-v2-trend-card header>span{display:flex;align-items:center;gap:3px;padding:6px 10px;color:#1768dd;background:#eaf2ff;border-radius:999px;font-size:12px;font-weight:800}.report-v2-trend-card.green header>span{color:#29a867;background:#e9f8f0}.report-v2-trend-card>p:not(.report-v2-trend-note){margin:8px 0 0;color:#68798f;font-size:13px}.report-v2-trend-value{display:block;margin:16px 0 6px;color:#071b35;font-size:34px;letter-spacing:-.04em}.report-v2-trend-value small{margin-left:6px;color:#607188;font-size:13px;font-weight:650}.report-v2-trend-chart svg{width:100%;height:auto;aspect-ratio:8 / 3;overflow:visible}.report-v2-trend-chart line{stroke:#dce4ed;stroke-width:1}.report-v2-trend-chart polyline{fill:none;stroke:#1768dd;stroke-width:2.5;vector-effect:non-scaling-stroke}.report-v2-trend-card.green polyline{stroke:#32b474}.report-v2-trend-chart circle{fill:#fff;stroke:#1768dd;stroke-width:2.5;vector-effect:non-scaling-stroke}.report-v2-trend-card.green circle{stroke:#32b474}.report-v2-trend-chart>div{display:flex;justify-content:space-between;color:#69798e;font-size:12px}.report-v2-trend-note{margin:14px 0 0;padding:11px 13px;color:#26405e;background:#f7f9fb;border-radius:11px;font-size:13px;line-height:1.6}.report-v2-trend-note strong{color:#1768dd}.report-v2-trend-card.green .report-v2-trend-note strong{color:#29a867}.report-v2-subtitle{margin:26px 0 12px;color:#102640;font-size:16px}.report-v2-platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.report-v2-platform-card{padding:19px}.report-v2-platform-card header,.report-v2-rate-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.report-v2-platform-card header>strong{font-size:15px}.difficulty{padding:4px 9px;color:#1768dd;background:#eaf2ff;border-radius:999px;font-size:12px;font-weight:750}.difficulty-1{color:#28a968;background:#eaf8f1}.difficulty-2{color:#d34a4a;background:#fff0f0}.report-v2-platform-score{margin:17px 0 14px;color:#617087;font-size:13px}.report-v2-platform-score strong{color:#091d37;font-size:25px}.report-v2-rate-row{color:#68798f;font-size:12px}.report-v2-rate-row strong{color:#1768dd}.report-v2-progress{height:6px;margin-top:6px;overflow:hidden;background:#edf1f5;border-radius:999px}.report-v2-progress i{height:100%;display:block;background:#1768dd;border-radius:inherit}.report-v2-platform-card>p:last-child{margin:15px 0 0;color:#354a65;font-size:13px;line-height:1.55}.report-v2-code-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}.report-v2-code-card{display:flex;flex-direction:column;overflow:hidden}.report-v2-code-card>header{padding:18px 20px;background:#f7f9fb;border-bottom:1px solid #e8edf2}.report-v2-code-card h3{display:flex;align-items:center;gap:7px;margin:0;color:#102640;font-size:16px}.report-v2-code-card h3 svg{color:#1768dd}.report-v2-code-card header p{margin:5px 0 0;color:#697a90;font-size:13px}.report-v2-code-window{flex:0 0 auto;padding:17px 20px 20px;color:#ecf5ff;background:#0c1e31}.report-v2-code-window>div{display:flex;align-items:center;gap:7px;margin-bottom:16px;color:#9fbedb;font:650 13px/1.4 D2Coding,Cascadia Code,JetBrains Mono,Consolas,monospace}.report-v2-code-window i{width:10px;height:10px;background:#f04d4d;border-radius:50%}.report-v2-code-window i:nth-child(2){background:#f2ad21}.report-v2-code-window i:nth-child(3){margin-right:5px;background:#40c589}.report-v2-code-window pre{margin:0;white-space:pre-wrap;font-family:D2Coding,Cascadia Code,JetBrains Mono,Consolas,monospace;font-size:15px;font-weight:700;line-height:1.62;font-variant-ligatures:contextual;letter-spacing:0}.report-v2-code-feedback{min-height:105px;flex:1 1 auto;display:flex;align-items:flex-start;gap:9px;margin:0;padding:17px 20px;color:#24405b;background:#f3faf6;font-size:13px;line-height:1.7}.report-v2-code-feedback svg{flex:0 0 auto;color:#2db36f}.report-v2-code-feedback strong{color:#2aaa69}.report-v2-competency-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:20px}.report-v2-radar-card{padding:22px}.report-v2-radar-card h3{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:7px;margin:0;font-size:16px;white-space:nowrap}.report-v2-radar-card h3 svg{width:18px;height:18px;flex:0 0 18px;color:#1768dd}.report-v2-radar-chart{width:min(100%,390px);display:block;margin:3px auto 0;overflow:visible}.report-v2-radar-grid{fill:#f7faff;fill-opacity:.28;stroke:#d9e3ee;stroke-width:1}.report-v2-radar-axis{stroke:#dbe4ee;stroke-width:1}.report-v2-radar-area{fill:#72aaf0;fill-opacity:.43;stroke:#1768dd;stroke-width:2}.report-v2-radar-average{fill:none;stroke:#9ca9b8;stroke-width:1.8;stroke-dasharray:5 4}.report-v2-radar-point{fill:#fff;stroke:#1768dd;stroke-width:2}.report-v2-radar-label{fill:#172b45;font-size:12px;font-weight:750}.report-v2-radar-legend{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px 18px;margin-top:2px;color:#6b7a90;font-size:12px}.report-v2-radar-legend span{display:flex;align-items:center;gap:7px}.report-v2-radar-legend i{width:11px;height:11px;display:block;transform:rotate(45deg)}.report-v2-radar-legend i.mine{background:#1768dd}.report-v2-radar-legend i.average{background:#fff;border:2px solid #9ca9b8}.report-v2-skill-list{display:grid;gap:11px}.report-v2-skill-card{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 14px;padding:17px 20px}.report-v2-skill-card div{min-width:0}.report-v2-skill-card h3{display:flex;align-items:center;gap:6px;margin:0;color:#102741;font-size:15px}.report-v2-skill-card h3 svg{color:#1768dd}.report-v2-skill-card p{margin:5px 0 0;color:#697a90;font-size:12px}.report-v2-skill-card>strong{grid-row:1 / span 2;grid-column:2;font-size:26px}.report-v2-skill-card>span{width:max-content;grid-column:2;justify-self:end;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:750}.report-v2-skill-card.level-excellent>strong{color:#178852}.report-v2-skill-card.level-excellent>span{color:#167b4b;background:#e4f6ec}.report-v2-skill-card.level-good>strong{color:#2475c3}.report-v2-skill-card.level-good>span{color:#1765ae;background:#e9f2fc}.report-v2-skill-card.level-normal>strong{color:#b47b13}.report-v2-skill-card.level-normal>span{color:#9e6b0b;background:#fff4dc}.report-v2-skill-card.level-needs-work>strong{color:#d06923}.report-v2-skill-card.level-needs-work>span{color:#b6571a;background:#fff0e6}.report-v2-skill-card.level-weak>strong{color:#c94b58}.report-v2-skill-card.level-weak>span{color:#ae3542;background:#ffeaed}.report-v2-comment-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.report-v2-comment-card{padding:22px}.report-v2-comment-card.good{background:#f4fbf7;border-color:#bce8cd}.report-v2-comment-card.improve{background:#fff9f0;border-color:#f2cf92}.report-v2-comment-card h3,.report-v2-next-direction h3,.report-v2-plan-layout aside h3,.report-v2-calendar>header h3{display:flex;align-items:center;gap:7px;margin:0;font-size:16px}.report-v2-comment-card.good h3{color:#27aa68}.report-v2-comment-card.improve h3{color:#b66408}.report-v2-comment-card ul,.report-v2-plan-layout aside ul{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}.report-v2-comment-card li{display:flex;align-items:flex-start;gap:9px;color:#243c57;font-size:15px;line-height:1.7}.report-v2-comment-card li svg{flex:0 0 auto;margin-top:3px;color:#2eb270}.report-v2-comment-card.improve li i{width:7px;height:7px;flex:0 0 7px;margin-top:8px;background:#bd690c;border-radius:50%}.report-v2-next-direction{margin-top:18px;padding:22px;background:#f4f8ff;border-color:#a9c9fa}.report-v2-next-direction h3{color:#1768dd}.report-v2-next-direction p{margin:14px 0;color:#233e5c;font-size:14px;line-height:1.75}.report-v2-next-direction>strong{display:block;color:#617188;text-align:right;font-size:13px}.report-v2-plan-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.report-v2-plan-layout aside{display:grid;grid-template-columns:1.4fr 1fr;align-content:start;gap:15px}.report-v2-plan-layout aside article{padding:20px}.report-v2-plan-layout aside h3{color:#102841}.report-v2-plan-layout aside h3 svg{color:#1768dd}.report-v2-plan-layout aside li{position:relative;padding-left:15px;color:#243e5b;font-size:13px;line-height:1.55}.report-v2-plan-layout aside li:before{content:"";position:absolute;top:7px;left:0;width:6px;height:6px;background:#1768dd;border-radius:50%}.report-v2-plan-layout aside p{margin:15px 0 0;color:#6a7b90;font-size:13px;line-height:1.65}.report-v2-calendar{width:100%;min-width:0;overflow:hidden;padding:22px;border-radius:24px}.report-v2-calendar>header{display:flex;min-width:0;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:17px}.report-v2-calendar>header h3 svg{color:#1768dd}.report-v2-calendar>header div{display:flex;flex-wrap:wrap;gap:12px;color:#64758c;font-size:12px}.report-v2-calendar>header span{display:flex;align-items:center;gap:5px}.report-v2-calendar>header i{width:8px;height:8px;background:#1768dd;border-radius:50%}.report-v2-calendar>header i.project{background:#775bd4}.report-v2-calendar>header i.review{background:#35b978}.report-v2-calendar>header i.assessment{background:#e34d55}.report-v2-calendar-grid{display:grid;width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.report-v2-calendar-grid>strong{padding:4px 0 8px;color:#5d6e84;text-align:center;font-size:12px}.report-v2-calendar-grid>strong:first-child{color:#ef4444}.report-v2-calendar-grid>strong:nth-child(7){color:#1768dd}.report-v2-calendar-grid article{min-width:0;min-height:104px;padding:10px;border:1px solid var(--report-line);border-radius:19px}.report-v2-calendar-grid article.outside{min-height:0;border-color:transparent;opacity:0}.report-v2-calendar-grid article>span{color:#172d47;font-size:12px;font-weight:800}.report-v2-calendar-events{min-width:0}.report-v2-calendar-grid article:nth-of-type(7n+1)>span{color:#ef4444}.report-v2-calendar-grid article:nth-of-type(7n)>span{color:#1768dd}.report-v2-calendar-grid p{min-width:0;overflow:hidden;margin:7px 0 0;padding:6px 7px;color:#1768dd;background:#eaf2ff;border-radius:12px;font-size:12px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}.report-v2-calendar-grid p>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-v2-calendar-grid p.review{color:#249d62;background:#e5f7ed}.report-v2-calendar-grid p.project{color:#6347bf;background:#eeeafb}.report-v2-calendar-grid p.assessment{color:#d93b45;background:#fee9eb}@media(max-width:980px){.report-v2-cover-main{padding:32px}.report-v2-cover-main{display:grid}.report-v2-cover-actions{justify-items:start}.report-v2-meta-grid{grid-template-columns:1fr 1fr}.report-v2-meta:nth-child(2){border-right:0}.report-v2-meta:nth-child(-n+2){border-bottom:1px solid var(--report-line)}.report-v2-summary-grid,.report-v2-platform-grid{grid-template-columns:1fr 1fr}.report-v2-platform-card:last-child{grid-column:1 / -1}.report-v2-code-grid,.report-v2-competency-layout,.report-v2-plan-layout{grid-template-columns:1fr}.report-v2-plan-layout aside{grid-template-columns:1fr 1fr}.report-v2-calendar{overflow:hidden}}@media(max-width:680px){.report-v2-page{gap:14px}.report-v2-toolbar{display:grid;margin-bottom:-3px}.report-v2-month-control,.report-v2-month-button{width:100%}.report-v2-month-button{justify-content:center}.report-v2-month-popover{left:0;right:auto;width:min(100%,calc(100vw - 26px))}.report-v2-month-popover:before{right:auto;left:50%}.report-v2-cover,.report-v2-section{border-radius:18px}.report-v2-cover-main{min-height:0;padding:25px 20px}.report-v2-eyebrow{font-size:12px}.report-v2-cover h1{font-size:29px}.report-v2-cover-main p{font-size:13px}.report-v2-cover-actions{width:100%}.report-v2-cover-actions>div{width:100%}.report-v2-cover-actions button{flex:1;justify-content:center}.report-v2-cover-actions button:last-child{flex:0 0 38px}.report-v2-meta-grid{grid-template-columns:1fr}.report-v2-meta,.report-v2-meta:nth-child(2){padding:15px 20px;border-right:0;border-bottom:1px solid var(--report-line)}.report-v2-meta:last-child{border-bottom:0}.report-v2-section{padding:24px 17px}.report-v2-section-heading{gap:11px;margin-bottom:20px}.report-v2-section-heading>span{width:36px;height:36px;flex-basis:36px}.report-v2-section-heading h2{font-size:20px}.report-v2-section-heading p{font-size:12px}.report-v2-summary-grid,.report-v2-summary-detail,.report-v2-trend-grid,.report-v2-platform-grid,.report-v2-comment-grid,.report-v2-plan-layout aside{grid-template-columns:1fr}.report-v2-platform-card:last-child{grid-column:auto}.report-v2-summary-card{padding:18px}.report-v2-week-card{padding:18px 16px}.report-v2-week-card>header{align-items:flex-start}.report-v2-understanding strong{display:none}.report-v2-week-card footer{grid-template-columns:1fr;gap:9px}.report-v2-trend-card{padding:18px}.report-v2-trend-card>header{align-items:flex-start}.report-v2-trend-card header>span{max-width:130px;line-height:1.4}.report-v2-code-window{min-height:0}.report-v2-radar-card{overflow:hidden;padding:15px 8px}.report-v2-radar-chart{width:calc(100% - 12px)}.report-v2-skill-card{grid-template-columns:minmax(0,1fr) auto;padding:15px}.report-v2-skill-card p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-v2-skill-card>strong{font-size:22px}.report-v2-comment-card,.report-v2-next-direction{padding:18px}.report-v2-plan-layout{gap:16px}.report-v2-plan-layout aside{grid-template-columns:1fr}.report-v2-calendar{margin-inline:0;padding:12px 8px 14px;border-radius:16px}.report-v2-calendar>header{display:grid;gap:9px;margin-bottom:11px;padding-inline:3px}.report-v2-calendar>header div{gap:5px 9px;font-size:10px}.report-v2-calendar>header i{width:6px;height:6px}.report-v2-calendar-grid{gap:3px}.report-v2-calendar-grid>strong{padding:2px 0 5px;font-size:10px}.report-v2-calendar-grid article{min-height:66px;padding:5px 4px;border-radius:10px}.report-v2-calendar-grid article>span{font-size:10px}.report-v2-calendar-events{display:flex;align-items:center;flex-wrap:wrap;gap:3px;margin-top:6px}.report-v2-calendar-grid p{width:7px;height:7px;flex:0 0 7px;margin:0;padding:0;border-radius:50%}.report-v2-calendar-grid p>span{display:none}.report-v2-calendar-grid p.class{background:#1768dd}.report-v2-calendar-grid p.review{background:#35b978}.report-v2-calendar-grid p.project{background:#775bd4}.report-v2-calendar-grid p.assessment{background:#e34d55}.report-v2-report-number{padding:10px 20px;text-align:left}}@media print{.report-v2-page{width:100%;max-width:none;gap:12px;padding:0}.report-v2-toolbar,.report-v2-cover-actions{display:none!important}.report-v2-cover,.report-v2-section{border-radius:10px;box-shadow:none;break-inside:avoid}.report-v2-cover-main{min-height:0;padding:22px 25px}.report-v2-cover h1{font-size:30px}.report-v2-meta{padding:12px 16px}.report-v2-section{padding:22px}.report-v2-section-heading{margin-bottom:18px}.report-v2-trend-chart svg{height:90px}.report-v2-code-window{min-height:175px}.report-v2-calendar-grid article{min-height:68px}}
