@charset "utf-8";

.page-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px;margin:4px 0 16px}
.page-top h2{font-family:var(--font-head);font-size:24px;font-weight:700;letter-spacing:-.02em}
.page-top p{margin-top:2px;font-size:15px;color:var(--text-3)}
.page-actions{display:flex;flex-wrap:wrap;gap:8px}
.back{display:inline-flex;align-items:center;gap:4px;margin-bottom:6px;color:var(--text-3);font-size:15px;font-weight:600}
.back .ico{width:18px;height:18px;stroke-width:2.2}
.back:hover{color:var(--role)}

.stack{display:flex;flex-direction:column;gap:16px}
.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.split{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}

.subtab{display:flex;flex-wrap:wrap;margin-bottom:16px;border-bottom:1px solid var(--line)}
.subtab a,.subtab button{display:inline-flex;align-items:center;gap:6px;height:50px;margin-bottom:-1px;padding:0 18px;border-bottom:3px solid transparent;color:var(--text-3);font-size:16px;font-weight:600;white-space:nowrap}
.subtab a:hover,.subtab button:hover{color:var(--text)}
.subtab .is-on{border-color:var(--role);color:var(--role);font-weight:700}
.subtab em{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 7px;border-radius:11px;background:var(--surface-2);color:var(--text-3);font-size:13px;font-weight:700}
.subtab .is-on em{background:var(--role);color:#fff}

.inp{display:block;width:100%;height:50px;padding:0 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:16px;transition:border-color .15s,background-color .15s}
.inp::placeholder{color:#9AA3B0}
.inp:hover{border-color:#C3CAD4}
.inp:focus{outline:0;border-color:var(--role)}
.inp:disabled,.inp[readonly]{background:var(--surface-2);color:var(--text-3)}
.inp.is-error{border-color:var(--red)}
select.inp{padding-right:44px;appearance:none;-webkit-appearance:none;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7584' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/18px;cursor:pointer}
textarea.inp{height:auto;min-height:160px;padding:14px 16px;line-height:1.65;resize:vertical}
textarea.inp.editor{min-height:360px}
.inp-sm{height:44px;font-size:15px}
select.inp-sm{padding-right:40px;background-position:right 12px center}
.inp-auto{width:auto}
.w-80{max-width:80px}
.w-120{max-width:120px}
.w-160{max-width:160px}
.w-200{max-width:200px}
.w-280{max-width:280px}
.w-400{max-width:400px}

.inp-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.inp-row + .inp-row{margin-top:8px}
.inp-row > .inp{flex:1;min-width:0}
.inp-row > .inp.inp-auto,.inp-row > .inp[class*="w-"]{flex:0 1 auto}
.inp-row > .btn{flex:none}
.inp-row .dash-sep{flex:none;color:var(--text-3)}
.inp-unit{position:relative;flex:1;min-width:0}
.inp-unit .inp{padding-right:48px}
.inp-unit span{position:absolute;right:16px;top:50%;color:var(--text-3);font-size:15px;transform:translateY(-50%)}
.inp-ico{position:relative;flex:1;min-width:0}
.inp-ico > .ico{position:absolute;left:15px;top:50%;width:20px;height:20px;color:var(--text-3);transform:translateY(-50%)}
.inp-ico .inp{padding-left:44px}
.pw{position:relative}
.pw .inp{padding-right:52px}
.pw-eye{position:absolute;right:4px;top:50%;display:grid;place-items:center;width:44px;height:44px;color:var(--text-3);transform:translateY(-50%)}
.pw-eye .ico{width:22px;height:22px}
.pw-eye:hover{color:var(--text)}
.pw-eye .ico-off,.pw-eye.is-on .ico-on{display:none}
.pw-eye.is-on .ico-off{display:block}

.msg{display:flex;align-items:center;gap:5px;margin-top:7px;font-size:14px;font-weight:500}
.msg .ico{width:16px;height:16px;stroke-width:2.4}
.msg--err{color:var(--red)}
.msg--ok{color:var(--green)}
.help{margin-top:7px;font-size:14px;color:var(--text-3)}
.help b{color:var(--text-2)}

.ck{position:relative;display:inline-flex;align-items:center;gap:9px;min-height:28px;font-size:16px;font-weight:500;color:var(--text);cursor:pointer}
.ck input{flex:none;width:22px;height:22px;margin:0;border:1.5px solid #B8C0CC;border-radius:4px;background:var(--surface) no-repeat center/14px;appearance:none;-webkit-appearance:none;cursor:pointer;transition:background-color .15s,border-color .15s}
.ck input:checked{border-color:var(--role);background-color:var(--role);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.ck input[type="radio"]{border-radius:50%}
.ck input[type="radio"]:checked{background:var(--surface);border:7px solid var(--role)}
.ck input:disabled{background-color:var(--surface-2);cursor:default}
.ck input:disabled + span{color:var(--text-3)}
.ck-sm{font-size:15px}
.ck-sm input{width:20px;height:20px}
.ck-list{display:flex;flex-wrap:wrap;gap:10px 24px;padding-block:12px}
.ck-list--col{flex-direction:column;align-items:flex-start;gap:12px}

.choice{position:relative;display:block;min-width:0;cursor:pointer}
.choice input{position:absolute;inset:0;opacity:0;cursor:pointer}
.choice > span{display:flex;align-items:center;justify-content:center;gap:6px;min-height:50px;height:100%;padding:6px 12px;text-align:center;word-break:keep-all;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text-2);font-size:16px;font-weight:500;transition:border-color .15s,color .15s,background-color .15s}
.choice > span .ico{width:20px;height:20px}
.choice:hover > span{border-color:#C3CAD4}
.choice input:checked + span{border-color:var(--role);background:var(--role-weak);color:var(--role);font-weight:700}
.choice input:focus-visible + span{outline:2px solid var(--role);outline-offset:2px}
.choice-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.choice-list--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice-list--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.choice-list--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.choice-list--6{grid-template-columns:repeat(6,minmax(0,1fr))}

.file{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.file input{position:absolute;width:1px;height:1px;opacity:0}
.file-btn{cursor:pointer}
.file input:focus-visible + .file-btn{outline:2px solid var(--role);outline-offset:2px}
.file-name{min-width:0;font-size:15px;color:var(--text-3);word-break:break-all}
.file-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.file-list li{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2);font-size:15px}
.file-list li > .ico{width:20px;height:20px;color:var(--text-3)}
.file-list li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-list li em{font-size:13px;color:var(--text-3)}
.file-del{display:grid;place-items:center;flex:none;width:30px;height:30px;color:var(--text-3)}
.file-del .ico{width:18px;height:18px}
.file-del:hover{color:var(--red)}
.thumb-up{display:grid;place-items:center;flex:none;width:120px;height:120px;border:1px dashed #B8C0CC;border-radius:var(--radius);background:var(--surface-2);color:var(--text-3);font-size:13px;text-align:center;cursor:pointer;overflow:hidden}
.thumb-up .ico{width:28px;height:28px;margin:0 auto 4px}
.thumb-up img{width:100%;height:100%;object-fit:cover}

.switch{position:relative;display:inline-block;flex:none;width:50px;height:28px;border-radius:999px;background:#CBD2DB;vertical-align:middle;transition:background-color .15s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s}
.switch.is-on{background:var(--green)}
.switch.is-on::after{transform:translateX(22px)}
.switch-wrap{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--text-2)}

.frm{border-top:2px solid var(--text)}
.panel > .frm{border-top:0}
.frm-row{display:grid;grid-template-columns:200px minmax(0,1fr);border-bottom:1px solid var(--line-2)}
.frm-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.frm-2 > .frm-row{grid-template-columns:200px minmax(0,1fr)}
.frm-th{display:flex;align-items:center;gap:2px;padding:14px 22px;background:var(--surface-2);color:var(--text-2);font-size:15px;font-weight:600}
.frm-td{min-width:0;padding:12px 22px}
.frm-td > .ck-list{padding-block:10px}
.frm-row--top .frm-th{align-items:flex-start;padding-top:26px}
.req::after{content:"*";margin-left:3px;color:var(--red);font-weight:700}
.frm-sec{display:flex;align-items:center;gap:8px;padding:26px 22px 12px;font-family:var(--font-head);font-size:18px;font-weight:700}
.frm-sec::before{content:"";width:4px;height:18px;border-radius:2px;background:var(--role)}
.frm-note{display:flex;align-items:center;gap:8px;padding:14px 22px;border-bottom:1px solid var(--line-2);background:var(--role-weak);color:var(--text-2);font-size:15px}
.frm-note .ico{width:20px;height:20px;color:var(--role)}

.fld + .fld,.fld + div > .fld:first-child{margin-top:20px}
.fld-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:15px;font-weight:600;color:var(--text-2)}
.fld-label small{font-size:13px;font-weight:500;color:var(--text-3)}

.btn-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px}
.btn-bar .btn{min-width:140px}
.btn-bar--between{justify-content:space-between}
.btn-bar--between > div{display:flex;flex-wrap:wrap;gap:8px}
.btn-danger{background:var(--surface);border-color:var(--red);color:var(--red)}
.btn-danger:hover{background:var(--red);color:#fff}
.btn-dark{background:var(--text);color:#fff}
.btn-dark:hover{background:#000}
.btn-icon{width:48px;padding:0}
.btn-sm.btn-icon{width:40px}

.filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:16px 22px;border-bottom:1px solid var(--line)}
.filter .inp{height:44px;font-size:15px}
.filter select.inp{width:auto;min-width:130px;padding-right:40px;background-position:right 12px center}
.filter .inp-ico{min-width:220px}
.filter .inp-ico .ico{left:13px}
.filter .inp-ico .inp{padding-left:40px}
.filter .btn{height:44px}
.filter-date{display:flex;align-items:center;gap:6px}
.filter-date .inp{width:150px}
.filter-date span{color:var(--text-3)}
.list-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:14px 22px}
.total{font-size:15px;color:var(--text-2)}
.total b{font-family:var(--font-head);font-size:18px;font-weight:700;color:var(--role)}
.list-meta-r{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.list-meta select.inp{width:auto;height:40px;padding-right:38px;font-size:14px;background-position:right 10px center;background-size:16px}

.tbl-wrap{margin:0 -22px}
.panel > .tbl-wrap{margin:0}
.tbl th{height:48px;padding:0 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2);font-size:14px;font-weight:600;color:var(--text-3);text-align:left;white-space:nowrap}
.tbl td{height:64px;padding:8px 14px;border-bottom:1px solid var(--line-2);font-size:15px;font-weight:500}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl th:first-child,.tbl td:first-child{padding-left:22px}
.tbl th:last-child,.tbl td:last-child{padding-right:22px}
.tbl tbody tr:hover td{background:#FAFBFD}
.tbl .c{text-align:center}
.tbl .r{text-align:right}
.tbl .n{font-family:var(--font-head);font-size:17px;font-weight:700;white-space:nowrap}
.tbl .sub{color:var(--text-3)}
.tbl .nowrap{white-space:nowrap}
.tbl .date{color:var(--text-3);white-space:nowrap}
.tbl .t-chk{width:56px}
.tbl .t-num{width:72px;color:var(--text-3);text-align:center}
.tbl .t-title a{font-weight:600}
.tbl .t-title a:hover{color:var(--role);text-decoration:underline}
.tbl .t-title .ico{display:inline-block;width:17px;height:17px;margin-left:4px;vertical-align:-3px;color:var(--text-3)}
.tbl tr.is-notice td{background:var(--role-weak)}
.tbl--compact td{height:54px}
.tbl--compact .t-label{display:none}
.tbl .person .avatar{width:38px;height:38px;font-size:14px}
.tbl .person-info strong{font-size:16px}
.tbl .person-info span{font-size:13px}
.t-label{display:none}
.t-file{display:inline-flex;align-items:center;gap:6px;color:var(--role);font-weight:600}
.t-file .ico{width:18px;height:18px}
.t-file:hover{text-decoration:underline}
.t-acts{display:flex;justify-content:center;gap:6px}
.tbl-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:14px 22px;border-top:1px solid var(--line)}
.tbl-foot > div{display:flex;flex-wrap:wrap;gap:6px}

.sq-btns{display:flex;justify-content:center;gap:6px}
.sq-btn{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text-2);transition:border-color .15s,color .15s,background-color .15s}
.sq-btn .ico{width:20px;height:20px}
.sq-btn:hover{border-color:var(--role);color:var(--role)}
.sq-btn--ok{border-color:var(--role);background:var(--role);color:#fff}
.sq-btn--ok:hover{background:var(--role-deep);color:#fff}
.sq-btn--del:hover{border-color:var(--red);color:var(--red)}

.st{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:var(--radius);color:#fff;font-size:13px;font-weight:600;white-space:nowrap}
.st--ing{background:#2563EB}
.st--done{background:var(--green)}
.st--end{background:#8A93A2}
.st--ready{background:var(--amber)}
.st--wait{background:var(--amber)}
.st--stop{background:var(--red)}
.st--line{border:1px solid var(--line);background:var(--surface);color:var(--text-2)}
.rc{display:inline-flex;align-items:center;height:24px;padding:0 7px;border-radius:var(--radius);color:#fff;font-size:12px;font-weight:600;white-space:nowrap}
.rc--player{background:#0EA5E9}
.rc--coach{background:#12B886}
.rc--expert{background:#2B6BF3}
.rc--admin{background:#475569}

.pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;padding:20px 16px 24px}
.pager a,.pager strong,.pager span{display:grid;place-items:center;min-width:40px;height:40px;padding:0 6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text-2);font-size:15px;font-weight:600}
.pager a:hover{border-color:var(--role);color:var(--role)}
.pager strong{border-color:var(--role);background:var(--role);color:#fff}
.pager span{border:0;background:none;color:var(--text-3)}
.pager .ico{width:18px;height:18px;stroke-width:2.4}
.pager .is-disabled{color:#C3CAD4;pointer-events:none}

.dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid var(--text)}
.panel > .dl{border-top:0}
.dl > div{display:grid;grid-template-columns:160px minmax(0,1fr);border-bottom:1px solid var(--line-2)}
.dl > div.full{grid-column:1/-1}
.dl dt{display:flex;align-items:center;padding:14px 22px;background:var(--surface-2);color:var(--text-2);font-size:15px;font-weight:600}
.dl dd{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;min-height:54px;padding:12px 22px;font-size:16px;word-break:break-all}

.prof{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;padding:22px}
.prof .avatar{width:68px;height:68px;font-size:24px}
.prof-info{flex:1;min-width:0}
.prof-info strong{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--font-head);font-size:24px;font-weight:700;line-height:1.3}
.prof-info p{margin-top:4px;font-size:15px;color:var(--text-3)}
.prof-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px;font-size:15px;color:var(--text-2)}
.prof-meta span{display:inline-flex;align-items:center;gap:5px}
.prof-meta .ico{width:18px;height:18px;color:var(--text-3)}
.prof-acts{display:flex;flex-wrap:wrap;gap:8px}

.view-head{padding:24px 22px 18px;border-bottom:1px solid var(--line)}
.view-head h3{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--font-head);font-size:22px;font-weight:700;line-height:1.4}
.view-meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:14px;color:var(--text-3)}
.view-meta span{display:inline-flex;align-items:center;gap:4px}
.view-meta .ico{width:16px;height:16px}
.view-body{min-height:220px;padding:28px 22px;font-size:16px;line-height:1.85;word-break:break-all}
.view-body p + p{margin-top:12px}
.view-body img{max-width:100%;height:auto;margin:12px 0;border-radius:var(--radius)}
.view-file{padding:16px 22px;border-top:1px solid var(--line-2);background:var(--surface-2)}
.view-file .file-list{margin:0}
.view-file .file-list li{background:var(--surface)}
.view-file .file-list a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.view-file .file-list a:hover{color:var(--role);text-decoration:underline}
.prevnext{border-top:1px solid var(--line)}
.prevnext li{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;padding:8px 22px;border-bottom:1px solid var(--line-2);font-size:15px}
.prevnext li:last-child{border-bottom:0}
.prevnext span{display:inline-flex;align-items:center;gap:4px;color:var(--text-3);font-weight:600}
.prevnext span .ico{width:17px;height:17px}
.prevnext a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prevnext a:hover{color:var(--role)}
.prevnext time{color:var(--text-3);font-size:14px}

.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:64px 20px;color:var(--text-3);font-size:16px;text-align:center}
.empty .ico{width:48px;height:48px;color:#C3CAD4;stroke-width:1.5}

.alert{display:flex;align-items:flex-start;gap:10px;padding:14px 18px;border:1px solid var(--line);border-left:4px solid var(--c,var(--role));border-radius:var(--radius);background:var(--surface);font-size:15px;line-height:1.6}
.alert > .ico{width:22px;height:22px;margin-top:1px;color:var(--c,var(--role))}
.alert strong{display:block;margin-bottom:2px}
.alert--warn{--c:var(--amber)}
.alert--err{--c:var(--red)}
.alert--ok{--c:var(--green)}

.modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
.modal.is-open{display:flex}
.modal-dim{position:absolute;inset:0;background:rgba(15,23,42,.55)}
.modal-box{position:relative;display:flex;flex-direction:column;width:100%;max-width:520px;max-height:calc(100vh - 40px);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.modal-head{display:flex;align-items:center;gap:10px;min-height:62px;padding:8px 10px 8px 22px;border-bottom:1px solid var(--line);background:#F8F9FC}
.modal-head h3{flex:1;font-family:var(--font-head);font-size:19px;font-weight:700}
.modal-body{padding:22px;overflow-y:auto}
.modal-body > * + *{margin-top:16px}
.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--line)}
.modal-open{overflow:hidden}

.t-test{display:flex;align-items:center;gap:12px}
.t-test > div > strong{display:block;font-size:16px;font-weight:700;line-height:1.3}
.t-test > div > span{font-size:13px;color:var(--text-3)}
.t-test .avatar{width:40px;height:40px;font-size:15px;color:#fff}
.rate{display:flex;align-items:center;gap:12px;min-width:160px}
.rate .bar{flex:1;height:8px;--bar-c:var(--role)}
.rate b{min-width:46px;font-family:var(--font-head);font-size:16px;font-weight:700;text-align:right}

.test-pick{display:flex;flex-wrap:wrap;gap:8px}
.test-pick a{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:16px;font-weight:600;color:var(--text-2)}
.test-pick a:hover{border-color:var(--role);color:var(--role)}
.test-pick a.is-on{border-color:var(--role);background:var(--role);color:#fff}
.test-pick small{font-size:13px;font-weight:500;opacity:.8}

.test-sum{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line-2)}
.test-sum--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.test-sum li{display:flex;flex-direction:column;gap:2px;padding:16px 22px}
.test-sum li + li{border-left:1px solid var(--line-2)}
.test-sum span{font-size:14px;color:var(--text-3)}
.test-sum b{font-family:var(--font-head);font-size:24px;font-weight:700}
.test-sum b small{margin-left:2px;font-family:var(--font);font-size:14px;font-weight:600;color:var(--text-3)}
.panel > .test-sum:first-child{border-top:0}

.target-box{border:1px solid var(--line);border-radius:var(--radius)}
.target-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line-2);background:var(--surface-2)}
.target-head .inp{height:40px;font-size:14px}
.target-head .inp-ico{flex:1;min-width:180px}
.target-list{max-height:320px;overflow-y:auto}
.target-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-2)}
.target-list li:last-child{border-bottom:0}
.target-list .person .avatar{width:34px;height:34px;font-size:13px}
.target-list .person-info strong{font-size:15px}
.target-list .person-info span{font-size:13px}
.target-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-top:1px solid var(--line-2);font-size:14px;color:var(--text-2)}
.target-foot b{color:var(--role)}

.sum-box{padding:6px 22px 18px}
.sum-box li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-2);font-size:15px}
.sum-box li span{color:var(--text-3)}
.sum-box li strong{font-weight:700;text-align:right}
.sum-box .btn-block{margin-top:18px}
.sum-box .btn-block + .btn-block{margin-top:8px}

.ans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;padding:18px 22px}
.ans{display:flex;align-items:center;justify-content:space-between;gap:6px;height:44px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--radius);font-size:14px}
.ans span{color:var(--text-3)}
.ans b{font-family:var(--font-head);font-size:17px;font-weight:700}
.ans.is-rev{border-color:var(--amber);background:var(--amber-weak)}
.ans.is-rev b small{margin-left:4px;font-family:var(--font);font-size:12px;font-weight:600;color:var(--amber-deep)}

.score-list{padding:6px 22px 20px}
.score-row{display:grid;grid-template-columns:150px minmax(0,1fr) 56px;align-items:center;gap:14px;padding:10px 0}
.score-row + .score-row{border-top:1px solid var(--line-2)}
.score-row span{font-size:15px;font-weight:600}
.score-row .bar{height:10px}
.score-row b{font-family:var(--font-head);font-size:18px;font-weight:700;text-align:right}
.score-row.lv2 span{padding-left:14px;font-weight:500;color:var(--text-2)}
.score-row.lv2 .bar{height:6px}
.score-row.lv2 .bar i{opacity:.5}
.score-row.lv2 b{font-size:15px;color:var(--text-2)}
.score-row.is-low .bar{--bar-c:var(--amber)}
.score-row.is-low b{color:var(--amber-deep)}

.sw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px 22px 22px}
.sw .sub-head{margin-bottom:10px}

.memo{padding:18px 22px;font-size:16px;line-height:1.8;word-break:break-all}
.memo + .memo{border-top:1px solid var(--line-2)}
.memo-label{display:block;margin-bottom:4px;font-size:14px;font-weight:600;color:var(--text-3)}
.panel > .view-body:last-child{min-height:0}
.panel > .panel-head:not(:first-child){border-top:1px solid var(--line);border-radius:0}

.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:16px}
.item{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.item-top{display:flex;align-items:center;gap:12px;padding:18px 20px 0}
.item-top > .ico{flex:none;width:44px;height:44px;padding:10px;border-radius:var(--radius);background:var(--role-weak);color:var(--role)}
.item-top strong{display:block;font-size:17px;font-weight:700;line-height:1.35}
.item-top div > span{font-size:13px;color:var(--text-3)}
.item-desc{flex:1;padding:12px 20px 16px;font-size:15px;line-height:1.6;color:var(--text-2)}
.item-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-2)}
.item-meta li{display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 4px}
.item-meta li + li{border-left:1px solid var(--line-2)}
.item-meta span{font-size:12px;color:var(--text-3)}
.item-meta b{font-size:15px;font-weight:700}
.item-acts{display:flex;gap:6px;padding:12px 20px;border-top:1px solid var(--line-2)}
.item-acts .btn{flex:1}

.step-list{counter-reset:step}
.step-list li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line-2);font-size:15px}
.step-list li:last-child{border-bottom:0}
.step-list li::before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--role-weak);color:var(--role);font-size:14px;font-weight:700}
.step-list em{font-size:14px;color:var(--text-3)}

.pred{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line-2)}
.pred li{display:flex;flex-direction:column;gap:4px;padding:18px 22px}
.pred li + li{border-left:1px solid var(--line-2)}
.pred span{font-size:14px;color:var(--text-3)}
.pred b{font-family:var(--font-head);font-size:30px;font-weight:700;line-height:1.1;color:var(--role)}
.pred b small{margin-left:2px;font-family:var(--font);font-size:14px;color:var(--text-3)}
.pred .delta{font-size:14px}

.lines-chart{padding:20px 22px 10px}
.lines-chart svg{display:block;width:100%;height:200px;overflow:visible}
.lines-chart .gl{stroke:var(--line-2);vector-effect:non-scaling-stroke}
.lines-chart polyline{fill:none;stroke:var(--c,var(--role));stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.lines-chart .is-dash{stroke-dasharray:6 5}
.lines-x{display:flex;justify-content:space-between;padding-top:8px;font-size:13px;color:var(--text-3)}
.lines-legend{display:flex;flex-wrap:wrap;gap:6px 16px;padding:0 22px 18px;font-size:14px;font-weight:600;color:var(--text-2)}
.lines-legend li{display:flex;align-items:center;gap:6px}
.lines-legend i{display:block;width:18px;height:3px;border-radius:2px;background:var(--c,var(--role))}
.lc1{--c:var(--role)}
.lc2{--c:#14B8A6}
.lc3{--c:#F5A524}
.lc4{--c:#F04E4E}
.lc5{--c:#8C7BF6}

.print-only{display:none}

@media print{
	.sidebar,.topbar,.tabbar,.footer,.dim,.page-actions,.btn-bar,.back,.skip{display:none !important}
	.app,.main,.container{display:block;margin:0;padding:0}
	.panel{break-inside:avoid;border-color:#ccc}
	.print-only{display:block}
}

@container (max-width:760px){
	.tbl-wrap{margin:0 -16px}
	.panel > .tbl-wrap{margin:0}
	.tbl--card thead{display:none}
	.tbl--card,.tbl--card tbody{display:block}
	.tbl--card tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:14px 16px;border-bottom:1px solid var(--line-2)}
	.tbl--card tbody tr:last-child{border-bottom:0}
	.tbl--card tbody tr:hover td{background:none}
	.tbl--card tr.is-notice{background:var(--role-weak)}
	.tbl--card td,.tbl--card td:first-child,.tbl--card td:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:2px;height:auto;padding:0;border:0;text-align:left;white-space:normal}
	.tbl--card .t-label{display:block;font-size:13px;font-weight:500;color:var(--text-3)}
	.tbl--card .t-main{grid-column:1/-1}
	.tbl--card .t-full{grid-column:1/-1}
	.tbl--card .t-acts,.tbl--card td.t-act{grid-column:1/-1;flex-direction:row;justify-content:flex-start;padding-top:4px}
	.tbl--card td.t-chk,.tbl--card td.t-num{display:none}
	.tbl--card .c,.tbl--card .r{text-align:left}
	.tbl--card .sq-btns{justify-content:flex-start}
	.tbl--card .rate{min-width:0;width:100%}
	.filter{padding:14px 16px}
	.list-meta,.tbl-foot{padding-inline:16px}
	.inp-row{flex-wrap:nowrap}
	.inp-row:has(> select.inp-auto){flex-wrap:wrap}
	.inp-row > .inp[class*="w-"],.inp-row > .inp-unit{flex:1 1 0;min-width:0;max-width:none}
	.inp-row > select.inp-auto{flex:1 1 100%}
	.frm-td .inp-unit[class*="w-"],.frm-td .pw[class*="w-"],.frm-td .inp-row[class*="w-"],.frm-td .choice-list[class*="w-"]{max-width:none}
	.frm-row,.frm-2 > .frm-row{grid-template-columns:minmax(0,1fr)}
	.frm-2{grid-template-columns:minmax(0,1fr)}
	.frm-th,.frm-row--top .frm-th{padding:14px 16px 0;background:none;font-size:15px}
	.frm-td{padding:8px 16px 16px}
	.frm-sec{padding:22px 16px 6px}
	.frm-note{padding-inline:16px}
	.dl{grid-template-columns:minmax(0,1fr)}
	.dl > div{grid-template-columns:110px minmax(0,1fr)}
	.dl dt{padding:12px 16px}
	.dl dd{padding:10px 16px}
	.prof{padding:18px 16px}
	.view-head{padding:20px 16px 16px}
	.view-body{padding:22px 16px}
	.view-file{padding:14px 16px}
	.prevnext li{grid-template-columns:76px minmax(0,1fr);padding-inline:16px}
	.prevnext time{display:none}
	.choice-list--6{grid-template-columns:repeat(3,minmax(0,1fr))}
	.test-sum,.test-sum--4{grid-template-columns:repeat(2,minmax(0,1fr))}
	.test-sum li{padding:14px 16px}
	.test-sum li:nth-child(odd){border-left:0}
	.test-sum li:nth-child(n+3){border-top:1px solid var(--line-2)}
	.test-sum li:last-child:nth-child(odd){grid-column:1/-1}
	.ans-grid,.score-list,.sum-box,.memo,.lines-chart{padding-inline:16px}
	.lines-legend{padding-inline:16px}
	.score-row{grid-template-columns:96px minmax(0,1fr) 44px;gap:10px}
	.sw{grid-template-columns:minmax(0,1fr);padding:16px}
	.pred{grid-template-columns:minmax(0,1fr)}
	.pred li{padding:14px 16px}
	.pred li + li{border-left:0;border-top:1px solid var(--line-2)}
	.lines-chart svg{height:160px}
}

@media (max-width:1279px){
	.split{grid-template-columns:minmax(0,1fr)}
}

@media (max-width:1023px){
	.cols-2{grid-template-columns:minmax(0,1fr)}
}

@media (max-width:767px){
	.page-top{margin:6px 2px 14px}
	.page-top h2{font-size:21px}
	.page-actions{width:100%}
	.page-actions .btn{flex:1}
	.stack{gap:12px}
	.cols-2{gap:12px}
	.subtab{margin-bottom:12px}
	.subtab a,.subtab button{flex:1;justify-content:center;height:48px;padding:0 8px;font-size:15px}
	.filter .inp-ico{flex:1 1 100%;min-width:0}
	.filter select.inp{flex:1 1 calc(50% - 4px);min-width:0}
	.filter-date{flex:1 1 100%}
	.filter-date .inp{flex:1;width:auto;min-width:0}
	.filter .btn{flex:1}
	.btn-bar .btn{flex:1;min-width:0}
	.btn-bar--between > div{flex:1}
	.pager{gap:3px}
	.pager a,.pager strong,.pager span{min-width:36px;height:36px;font-size:14px}
	.modal{align-items:flex-end;padding:0}
	.modal-box{max-width:none;max-height:90vh;border-radius:var(--radius) var(--radius) 0 0}
	.modal-body{padding:18px 16px}
	.modal-head{padding-left:16px}
	.modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
	.modal-foot .btn{flex:1}
}
