:root{color-scheme:light;--bg:#FAFBF0;--panel:#FFFFFF;--panel-sub:#F3F4E9;--border:#DCDDCE;--text:#141414;--dim:#75796C;--navy:#0E3854;--amber:#B97A14;--red:#C2402E;--green:#2F7D4E;--learn:#6F8FA6;--blue:var(--navy);--blue-dark:var(--navy);--card:var(--panel);--muted:var(--dim);--ok:var(--green);--warn:var(--amber);--bad:var(--red)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;background:var(--bg);color:var(--text);font-size:14px}header.appbar{background:var(--card);border-bottom:1px solid var(--border);padding:12px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:-webkit-sticky;position:sticky;top:0;z-index:5}header.appbar h1{font-size:16px;margin:0;color:var(--blue-dark)}.weeknav{display:flex;align-items:center;gap:6px}.weeknav button{border:1px solid var(--border);background:#fff;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:14px}.weeknav button:hover{background:var(--panel-sub)}.weeklabel{font-weight:600;min-width:180px;text-align:center}.filters{display:flex;gap:6px;flex-wrap:wrap}.filters button{border:1px solid var(--border);background:#fff;border-radius:14px;padding:3px 12px;cursor:pointer;font-size:13px;color:var(--muted)}.filters button.active{background:var(--blue);border-color:var(--blue);color:#fff}.draftbar{display:flex;align-items:center;gap:8px;margin-left:auto}.draftbadge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:12px}.draftbadge.dirty{background:#fdf1dc;color:#9a6a10;border:1px solid #ecd3a2}.draftbadge.clean{background:#e9f5ee;color:#1e6e42;border:1px solid #bfe0cc}.btn,.draftbar button{border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-size:13px;font-weight:600}.btn-approve{background:var(--ok);color:#fff}.btn-approve:disabled{background:#a9c9b6;cursor:default}.btn-plain{background:#fff;border:1px solid var(--border);color:var(--muted)}.btn-plain:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--blue);color:#fff}.statusline{font-size:12px;color:var(--muted);width:100%}.statusline.err{color:var(--bad);font-weight:600}.availbar{width:100%;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:7px;margin-top:2px;border-top:1px dashed var(--border)}.availbar .atitle{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.02em;margin-right:2px;white-space:nowrap}.availbar .atoggle{border:1px solid var(--border);background:#fff;border-radius:10px;padding:1px 8px;cursor:pointer;font-size:11px;color:var(--muted);margin-left:auto}.apill{display:inline-flex;align-items:baseline;gap:5px;font-size:12px;border-radius:12px;padding:2px 9px;border:1px solid;white-space:nowrap;cursor:default}.apill b{font-size:12.5px}.apill .used{font-size:10.5px;opacity:.75}.apill.g{background:#e9f5ee;border-color:#bfe0cc;color:#1e6e42}.apill.a{background:#fdf1dc;border-color:#ecd3a2;color:#9a6a10}.apill.r{background:#fdeaea;border-color:#eab8b3;color:#a93226;font-weight:600}.apill.n{background:var(--panel-sub);border-color:#dfe3e7;color:#5a646e}main.planner{padding:14px 16px 40px;overflow-x:auto}table.grid{border-collapse:separate;border-spacing:0;width:100%;min-width:1100px}.grid td,.grid th{border:1px solid var(--border);background:var(--card);padding:6px;vertical-align:top}.grid th{font-size:12px;font-weight:600;color:var(--muted);padding:8px 6px}.grid th.today{color:var(--blue)}.grid td.rowhead{min-width:150px;font-size:12.5px;font-weight:600;background:var(--panel-sub)}.grid td.rowhead .badge{display:inline-block;margin-top:3px;font-size:10.5px;font-weight:500;color:#fff;border-radius:8px;padding:1px 7px}.grid td.empty-slot{background:var(--panel-sub)}.grid td.cell{min-width:150px}.count{font-size:11px;margin-bottom:4px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:4px}.count.ok{color:var(--ok)}.count.low{color:var(--warn)}.count.crit{color:var(--bad)}.closebtn2{border:1px solid var(--border);background:#fff;border-radius:5px;padding:0 5px;cursor:pointer;font-size:10px;color:var(--muted);line-height:16px}.closebtn2:hover{color:var(--bad);border-color:var(--bad)}td.closedcell{background:repeating-linear-gradient(45deg,#F0F1E6,#F0F1E6 8px,#E7E8DC 0,#E7E8DC 16px);text-align:center}.closedhead{font-size:12px;font-weight:700;color:var(--muted);margin:6px 0 8px;letter-spacing:.06em}.closedwarn{font-size:11px;color:var(--bad);font-weight:600;margin-bottom:4px;text-align:left}.closebtn{border:1px solid var(--border);background:#fff;border-radius:6px;padding:3px 10px;cursor:pointer;font-size:11px;color:var(--muted);margin:6px 0}.closebtn:hover{background:var(--panel-sub)}.pos{display:flex;align-items:flex-start;gap:4px;margin:2px 0}.pos .plabel{flex:0 0 30px;font-size:10px;font-weight:700;color:var(--dim);padding-top:4px;letter-spacing:.02em;line-height:1.3;white-space:nowrap;cursor:default}.pos .plabel.req{color:var(--bad)}.pos .plabel.pref{color:var(--warn)}.pos .pbody{flex:1 1;min-width:0}.chip{display:flex;align-items:center;justify-content:space-between;gap:4px;margin:1px 0;padding:2px 6px;border-radius:6px;font-size:12px;border:1px solid var(--ok);background:#EAF3ED}.chip.draftnew{border:1px dashed var(--amber);background:#F7EFDD}.chip.absent{border:1px solid var(--border);background:var(--panel-sub);color:var(--muted)}.chip .x{color:var(--muted);cursor:pointer;padding:0 2px;font-weight:700}.chip .x:hover{color:var(--bad)}select.adder{width:100%;border:1px dashed var(--border);border-radius:6px;background:#fff;color:var(--muted);font-size:11.5px;padding:2px}select.adder:disabled{opacity:.5}.legend{margin-top:10px;font-size:12px;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap}.legend span{display:inline-flex;align-items:center;gap:5px}.dot{width:10px;height:10px;border-radius:3px;display:inline-block}.loading{padding:40px;text-align:center;color:var(--muted)}.snappanel{margin-top:26px;border-top:2px solid var(--border);padding-top:14px}.snaphead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.snaphead h2{font-size:14px;margin:0 auto 0 0;color:var(--blue-dark)}.snapempty{font-size:12.5px;color:var(--muted)}.snaplist{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:10px;gap:10px;margin-top:12px}.snapcard{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:5px}.snaptop{display:flex;justify-content:space-between;align-items:center;gap:8px}.snapname{font-weight:700;font-size:13px;overflow-wrap:anywhere}.snapbadge{font-size:11px;font-weight:700;border-radius:10px;padding:1px 8px;white-space:nowrap}.snapbadge.ok{background:#e9f5ee;color:#1e6e42;border:1px solid #bfe0cc}.snapbadge.bad{background:#fdf1dc;color:#9a6a10;border:1px solid #ecd3a2}.snapdays,.snapmeta{font-size:11.5px;color:var(--muted)}.snapacts{display:flex;gap:8px;margin-top:3px;flex-wrap:wrap}.snapcard{cursor:pointer}.snapcard:hover{border-color:#C6C8B8}.snapcard.sel{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.snappreview{margin-top:16px;overflow-x:auto}.sphead{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.sphead h3{font-size:13.5px;margin:0 auto 0 0;color:var(--blue-dark)}.sphead .spmeta{font-weight:500}.spdiff,.sphead .spmeta{font-size:12px;color:var(--muted)}.spdiff .spadd{color:var(--blue)}.spdiff .sprem{color:var(--bad)}.chip.added{border:2px solid var(--navy);background:#E9EFF4;font-weight:600}.chip.removed{border:1px dashed var(--bad);background:#fdf3f2;color:var(--muted);text-decoration:line-through}.modal-bg{position:fixed;inset:0;background:rgba(18,28,40,.45);z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;border-radius:10px;max-width:560px;width:100%;max-height:80vh;overflow:auto;padding:18px 22px;box-shadow:0 10px 40px rgba(0,0,0,.25)}.modal h2{font-size:15px;color:var(--bad);margin:0 0 4px}.modal .msub{font-size:12px;color:var(--muted);margin:0 0 12px}.modal ul{margin:0 0 14px;padding-left:4px;list-style:none;font-size:13px}.modal li{margin:6px 0;padding:7px 10px;background:#fdf3f2;border:1px solid #eccfcb;border-radius:7px}.modal li b{color:var(--bad)}.centerbox{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:26px 28px;max-width:400px;width:100%}.card h1{font-size:18px;color:var(--blue-dark);margin:0 0 4px}.card p.sub{font-size:13px;color:var(--muted);margin:0 0 18px}.card input[type=email]{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px;margin-bottom:12px}.card button[type=submit]{width:100%;padding:10px}.notice{font-size:13px;margin-top:12px}.notice.ok{color:var(--ok)}.notice.err{color:var(--bad)}.mylist{max-width:640px;margin:0 auto;padding:16px}.mycard{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin:10px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.mycard.absent{opacity:.6}.mycard .d{font-weight:700;font-size:15px}.mycard .d small{font-weight:500;color:var(--muted);margin-left:6px}.mycard .s{font-size:13px;color:var(--muted)}.poschip{display:inline-block;background:var(--blue);color:#fff;font-size:11px;font-weight:700;border-radius:8px;padding:2px 8px;margin-left:8px}.absentbtn{border:1px solid var(--bad);background:#fff;color:var(--bad);border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}.absentbtn:hover{background:#fdeaea}.tag-absent{font-size:12px}.grid th .holname,.tag-absent{font-weight:700;color:var(--bad)}.grid th .holname{font-size:10px;margin-top:2px}.grid th .holbtn{display:block;margin:3px auto 0;border:1px solid var(--border);background:#fff;border-radius:5px;padding:1px 7px;font-size:10px;color:var(--muted);cursor:pointer;line-height:16px}.grid th .holbtn:hover{color:var(--bad);border-color:var(--bad)}.grid th .holbtn.on{background:var(--bad);border-color:var(--bad);color:#fff;font-weight:700}.grid th .holbtn.on:hover{background:#a53125;color:#fff}.grid th .holswap{color:var(--ok);margin-top:3px}.grid th .holswap,.spbadge{font-size:10px;font-weight:700}.spbadge{display:inline-block;margin:2px 0 4px;padding:1px 7px;border-radius:9px;background:#fdf6ec;border:1px solid #e2c98f;color:#8a6210;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spform{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin:8px 0}.spform .sprow{gap:8px;margin:4px 0;font-size:13px}.spform .sprow,.spform .sprow label{display:flex;align-items:center;cursor:pointer}.spform .sprow label{gap:4px}.spform .spmain{font-size:14px}.spform .sploc{color:var(--muted);font-size:12px}.spform .spdetail{margin:4px 0 2px 24px}.spform .spdetail .finput{margin:4px 0}.hpcount{margin-left:5px;padding:0 5px;border-radius:8px;background:#E9EFF4;border:1px solid #c3d3de;color:#40586B;font-size:10px;font-weight:700}.chip .tasknote{color:var(--muted);font-size:10.5px}.nextshift{background:var(--navy);color:#fff;border-radius:14px;padding:16px 18px;margin:4px 0 16px;box-shadow:0 2px 8px rgba(14,56,84,.28)}.nextshift .nslabel{font-size:12px;font-weight:700;letter-spacing:.12em;color:#AFC5D4;margin-bottom:4px}.nextshift .nsdate{font-size:24px;font-weight:800}.nextshift .nsdate small{font-size:15px;font-weight:600;margin-left:2px}.nextshift .nstoday{margin-left:8px;padding:2px 9px;border-radius:10px;background:#ffd166;color:#5c4405;font-size:12px;font-weight:800;vertical-align:middle}.nextshift .nswhere{margin:6px 0 12px;font-size:15px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.nextshift .poschip{background:#fff;color:var(--navy)}.nextshift .tasknote{color:#C3D3DE;font-size:13px}.nextshift .absentbtn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.45);color:#fff}.gridtoggle{margin-left:10px;border:1px solid var(--border);background:#fff;border-radius:6px;padding:2px 10px;font-size:12px;color:var(--muted);cursor:pointer}.gridtoggle:hover{color:var(--navy);border-color:var(--navy)}.weeknav-sm{display:inline-flex;gap:4px;margin-left:10px}.weeknav-sm .gridtoggle{margin-left:0}.daycards{display:none}.daytabs{display:flex;gap:5px;margin:6px 0 10px;overflow-x:auto}.daytab{flex:1 0 auto;min-width:42px;border:1px solid var(--border);background:#fff;border-radius:9px;padding:6px 2px 5px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;text-align:center}.daytab .dnum{display:block;font-size:11px;font-weight:600;margin-top:1px}.daytab.today{border-color:var(--navy);color:var(--navy)}.daytab.sel{background:var(--navy);border-color:var(--navy);color:#fff}.daytab.sel .dnum{color:#C3D3DE}.dayhead{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 2px 10px;font-size:14px}.dayhead .holname{font-size:11px;color:var(--bad);font-weight:700}.dayhead .holswap{font-size:11px;color:var(--ok);font-weight:700}.daycard{border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:#fff}.daycard .dchead{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-size:15px}.daycard .dctime{color:var(--muted);font-size:12.5px}.daycard .count{font-size:13px;margin-bottom:6px}.daycard .pos{display:flex;gap:8px;align-items:flex-start;margin:4px 0}.daycard .plabel{min-width:64px}.daycard.closedcell{background:var(--panel-sub)}@media (max-width:640px){.weektable{display:none}.daycards{display:block}.legend{display:none}.appbar{padding:10px 12px}.appbar h1{font-size:17px}.planner{padding:10px 12px 40px}.weeklabel{font-size:13px}.availbar{display:none}.mycard .d{font-size:15px}.secttitle{font-size:16px}}.annlist{margin-top:4px}.ann{background:#fdf8e5;border:1px solid #ecdfa8;border-radius:6px;padding:3px 7px;margin:2px 0;font-size:11.5px;color:#5c4d13;text-align:left}.ann .annbody{display:block;overflow-wrap:anywhere}.ann .annwho{display:block;font-size:10px;color:#8a7a3d;text-align:right}.ann .x{color:#8a7a3d;cursor:pointer;padding:0 3px;font-weight:700}.ann .x:hover{color:var(--bad)}.annbtn{display:block;width:100%;margin-top:4px;border:1px dashed #ecdfa8;background:#fffdf4;border-radius:6px;padding:2px;cursor:pointer;font-size:10.5px;color:#8a7a3d}.annbtn:hover{background:#fdf8e5}.chip.me{border-width:2px;font-weight:700}.secttitle{font-size:15px;color:var(--blue-dark);margin:18px 0 10px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.secttitle .sectmeta{font-size:12px;font-weight:500;color:var(--muted)}.sectempty{font-size:13px;color:var(--muted);background:var(--card);border:1px dashed var(--border);border-radius:10px;padding:18px}.upcoming{margin-top:26px}.mylist.inpage{max-width:640px;margin:0;padding:0}.snapnote{font-size:11.5px;color:#5c4d13;background:#fdf8e5;border:1px solid #ecdfa8;border-radius:6px;padding:4px 8px;overflow-wrap:anywhere}.snappreview .snapnote{margin:0 0 8px;max-width:720px}.modal h2.oktitle{color:var(--blue-dark)}.modal .flabel{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:10px 0 4px}.modal .finput,.modal .ftext{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:14px;font-family:inherit}.modal .ftext{resize:vertical}.modal .facts{display:flex;gap:8px;margin-top:14px;justify-content:flex-end}.chip.override{outline:2px dotted var(--amber);outline-offset:1px}.ovmark{color:var(--amber);font-weight:700;margin-right:3px}.ovpanel{width:100%;margin-top:6px;padding:8px 10px;background:#FBF3E3;border:1px solid #e2c98f;border-radius:8px}.ovpanelhead{font-size:12px;font-weight:700;color:var(--amber);margin-bottom:6px}.ovrow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:5px 0;border-top:1px dashed #e2c98f;font-size:12.5px}.ovrow:first-of-type{border-top:none}.ovinfo{display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap}.ovreason{font-size:12px}.ovby,.ovreason{color:var(--muted)}.ovby{font-size:11px}.ovacts{display:inline-flex;gap:6px}.ovwait{color:var(--muted);font-size:11.5px;font-style:italic}.ovcount{font-size:12.5px;background:var(--panel-sub);border:1px solid var(--border);border-radius:8px;padding:6px 10px;margin:4px 0 2px}.ovcount.warn{background:#FBF3E3;border-color:#E2C98F;color:var(--amber)}.ovcount .ovhint{display:block;font-weight:700;font-size:12px;margin-top:2px}.chip .timechip{display:block;width:-moz-fit-content;width:fit-content;margin:1px 0 0;padding:0 4px;border-radius:7px;font-size:9.5px;border:1px solid #cfdde9}.chip .timechip,.timechip{font-weight:700;background:#eef3f8;color:#0e3854;white-space:nowrap}.timechip{display:inline-block;margin-left:4px;padding:0 5px;border-radius:8px;font-size:10.5px;border:1px solid #cfdde9;vertical-align:1px}.chip>span:first-child{min-width:0}.chip .timechip.changed,.timechip.changed{background:#fdf1dc;border-color:#ecd3a2;color:#9a6a10}.chipacts{display:inline-flex;gap:3px;align-items:center}.chip .x.t{font-weight:600;font-size:10px;border:1px solid var(--border);border-radius:4px;padding:0 3px;line-height:14px}.chip .x.t:hover{color:var(--blue);border-color:var(--blue)}.timerow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 4px}.timerow .flabel{margin:0}.ftime{width:120px}.loctabs{margin:6px 0 10px}.icsbox{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px}.icsnote{font-size:12.5px;color:var(--muted);margin:0 0 8px}.icsurlrow{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.icsurl{flex:1 1;min-width:220px}.icssteps,.icsurl{font-size:12px;color:var(--muted)}.icssteps{margin:10px 0 0;padding-left:18px}.icssteps li{margin:3px 0}.modal .ftime{width:130px}input.icsurl{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-family:inherit;background:var(--panel-sub)}.ann.pub{background:#e8f1f8;border-color:#b9d3e8;color:#15405e}.ann.pub .annwho,.ann.pub .x{color:#4f7799}.ann .pubmark{display:inline-block;font-size:10px;font-weight:700;color:#15405e;background:#cfe2f1;border-radius:4px;padding:0 5px;margin-right:5px;vertical-align:1px}.modal .pubtoggle{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;background:#fff}.modal .pubtoggle.on{background:#e8f1f8;border-color:#b9d3e8}.modal .pubtoggle input{margin-top:3px}.modal .pubtoggle b{display:block;font-size:13px}.modal .pubtoggle small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}.mycard .pubnote{display:block;margin-top:4px;font-size:12px;color:#15405e;background:#e8f1f8;border:1px solid #b9d3e8;border-radius:6px;padding:3px 8px;overflow-wrap:anywhere}.notiflog .failcount{margin-left:10px;font-size:11px;font-weight:700;color:#fff;background:var(--bad);border-radius:10px;padding:1px 8px;vertical-align:2px}.notiflog .pendcount{margin-left:8px;font-size:11px;font-weight:600;color:var(--amber);background:#FBF3E3;border:1px solid #e2c98f;border-radius:10px;padding:0 8px;vertical-align:2px}.logtable{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px;background:var(--card)}.logtable td,.logtable th{border-bottom:1px solid var(--border);padding:5px 8px;text-align:left;vertical-align:top}.logtable th{font-size:11px;color:var(--muted);font-weight:600;background:var(--panel-sub)}.logtable tr.st-failed td{background:#fdf3f2}.logstatus{display:inline-block;border-radius:4px;padding:0 6px;font-size:11px;font-weight:600}.logstatus.sent{color:var(--ok);background:#EAF3ED}.logstatus.pending{color:var(--amber);background:#F7EFDD}.logstatus.failed{color:#fff;background:var(--bad)}.logstatus.skipped{color:var(--muted);background:var(--panel-sub)}.logtable .logerr{color:var(--muted);max-width:320px;overflow-wrap:anywhere}.chip .dhtag{border-radius:6px;background:#E9EFF4;border:1px solid #c3d3de}.chip .dhtag,.chip .trtag{margin-left:4px;padding:0 4px;color:var(--navy);font-size:10px;font-weight:700;white-space:nowrap}.chip .trtag{border-radius:6px;background:#F4F7FA;border:1px dashed var(--learn)}.btn-em{color:var(--bad);border-color:var(--bad)}.embanner{width:100%;margin-top:6px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:2px solid var(--bad);border-radius:8px;color:var(--bad);font-size:12.5px;font-weight:700}.embanner,.emwarn{padding:8px 10px;background:#fdf3f2}.emwarn{margin:6px 0;border:1px solid var(--bad);border-radius:8px}.emwarn ul{margin:4px 0 0 18px;font-size:12.5px}.apnotes{margin:6px 0;padding:6px 10px;background:var(--panel-sub);border:1px solid var(--border);border-radius:8px}.apnotes .msub{margin:2px 0}.pf{max-width:1240px;margin:0 auto;padding:18px 16px 60px;display:flex;flex-direction:column;gap:18px}.pf-head{justify-content:space-between}.pf-head,.pf-head .l,.pf-head .r{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.pf-head h1{margin:0;font-size:20px;color:var(--navy)}.pf-meta{font-size:12px;color:var(--dim)}.pf-back{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--navy);text-decoration:none;font-weight:600;font-size:13px}.pf-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:12px;min-width:0}.pf-card.em{border:2px solid var(--navy)}.pf-card h2{margin:0;font-size:16px;color:var(--navy)}.pf-card .sub{font-size:12px;color:var(--dim)}.pf-row{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}.pf-row>*{flex:1 1 320px}.pf-cols{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}.pf-side{flex:1 1 300px;max-width:100%}.pf-main{flex:999 1 620px;min-width:0;gap:18px}.pf-inset,.pf-main{display:flex;flex-direction:column}.pf-inset{background:var(--panel-sub);border-radius:10px;padding:12px 14px;gap:8px}.pf-empty{background:var(--panel);border:1px dashed var(--border);border-radius:12px;padding:16px;font-size:13px;color:var(--dim)}.pf-empty a{color:var(--navy);font-weight:600}.pf-avatar{width:64px;height:64px;border-radius:50%;background:var(--navy);color:var(--bg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;flex-shrink:0}.pf-avatar.sm{width:44px;height:44px;font-size:15px}.pf-name{font-size:22px;font-weight:700;color:var(--navy);line-height:1.2}.pf-tags{display:flex;flex-wrap:wrap;gap:6px}.pf-tag{font-size:12px;font-weight:500;padding:3px 10px;border-radius:999px;background:#EEEFE6;color:var(--text);white-space:nowrap}.pf-tag.main{background:var(--navy);color:#fff;font-weight:700}.pf-tag.lang{background:#EEF3F7;color:var(--navy);border:1px solid var(--learn)}.pf-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.pf-kv span{display:block}.pf-kv .k{font-size:12px;color:var(--dim)}.pf-kv .v{font-weight:700}.pf-meter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:4px;gap:4px}.pf-meter span{height:8px;border-radius:4px;background:#E3E5D7}.pf-meter span.on{background:var(--navy)}.pf-meter span.next{background:transparent;border:2px dashed var(--learn)}.pf-bar,.pf-meter.lg span{height:10px}.pf-bar{border-radius:5px;background:#E3E5D7;overflow:hidden}.pf-bar>span{display:block;height:100%;background:var(--navy)}.pf-line{display:flex;justify-content:space-between;gap:4px 8px;font-size:13px;flex-wrap:wrap}.pf-pill{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.pf-pill.met{background:#E3EFE7;color:#245F3B}.pf-pill.gap{background:#FBF0DC;color:#7A4E08}.pf-pill.learning{background:#EEF3F7;color:var(--navy)}.pf-pill.blank{background:#EEEFE6;color:#45515B}.pf-pill.pending{background:#fff;color:var(--navy);border:2px solid var(--navy)}.pf-pill.soon{background:#FBF0DC;color:#7A4E08}.pf-pill.ov{background:#fff;color:#7A4E08;border:1px solid var(--amber)}.pf-pill.guest{background:#EEF3F7;color:var(--navy);border:1px solid var(--learn)}.pf-pill.bad{background:#F7E4E1;color:#8E2A1C}.pf-strength{font-size:13px;font-weight:700;padding:5px 11px;border-radius:9px;background:#E3EFE7;color:#245F3B}.q-認定{background:var(--navy);color:#fff}.q-対応可,.q-認定{border:1px solid var(--navy)}.q-対応可{background:#fff}.q-学習中,.q-対応可{color:var(--navy)}.q-学習中{background:#F4F7FA;border:1px dashed var(--learn)}.tip{position:relative;cursor:help;outline:none}.tip .tipbox{display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:30;width:max-content;max-width:min(300px,80vw);background:var(--navy);color:#fff;font-size:12px;font-weight:400;line-height:1.55;padding:9px 11px;border-radius:8px;box-shadow:0 8px 20px rgba(14,56,84,.28);white-space:pre-line;text-align:left;pointer-events:none}.tip:focus .tipbox,.tip:focus-within .tipbox,.tip:hover .tipbox{display:block}.tip:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:4px}.pf-step{display:flex;gap:10px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid #f1f2e9}.pf-step .n{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.pf-step .n,.pf-step .t{font-weight:700}.pf-step .pr{font-size:13px;background:var(--panel-sub);border-radius:8px;padding:5px 9px;margin-top:4px}.pf-step .ref{font-size:12px;color:var(--dim);margin-top:3px}.pf-radar{width:100%;max-width:560px;height:auto}.pf-radar text{font-size:11px;fill:var(--text)}.pf-tlist{display:flex;flex-direction:column}.pf-trow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:8px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #f1f2e9;font-size:13px}.pf-dots{display:inline-flex;gap:4px}.pf-dots i{width:12px;height:12px;border-radius:50%;background:#E3E5D7;box-sizing:border-box}.pf-dots i.on{background:var(--navy)}.pf-dots i.need{background:transparent;border:2px dashed var(--learn)}.pf-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px}.pf-tile{border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:3px;min-height:112px}.pf-tile .c{font-size:22px;font-weight:700}.pf-tile .lv{align-self:flex-start;font-size:12px;font-weight:700;padding:1px 9px;border-radius:999px;margin-top:4px;background:#fff;color:var(--navy)}.pf-tile.q-学習中 .lv{background:#EEF3F7}.pf-tile .d{font-size:11px}.pf-tabs{display:flex;gap:6px;flex-wrap:wrap}.pf-filter button,.pf-tabs button{min-height:40px;padding:0 14px;border-radius:9px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;background:#fff;color:var(--navy);border:2px solid #d6d8ca}.pf-filter button[aria-pressed=true],.pf-tabs button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.pf-tabs button small{font-size:11px;font-weight:500;margin-left:4px}.pf-counts{display:flex;gap:8px;flex-wrap:wrap}.pf-counts .pf-pill{font-size:13px;padding:5px 11px;border-radius:9px}.pf-skills{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-column-gap:28px;column-gap:28px}.pf-skill{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;grid-gap:10px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #f1f2e9}.pf-skill .lbl{font-size:13px;font-weight:500;display:block}.pf-skill .cd{font-size:11px;color:var(--dim);display:block}.pf-segs{display:flex;gap:4px}.pf-segs i{flex:1 1;height:12px;border-radius:4px;background:#E3E5D7;box-sizing:border-box}.pf-segs i.met{background:var(--navy)}.pf-segs i.gap{background:var(--amber)}.pf-segs i.gapneed{background:transparent;border:2px dashed var(--amber)}.pf-segs i.learning{background:var(--learn)}.pf-segs i.learnneed{background:transparent;border:2px dashed var(--learn)}.pf-must{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:6px;gap:6px}.pf-must div{display:flex;align-items:center;gap:8px;font-size:13px}.pf-must b{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.pf-must b.合格{background:var(--green);color:#fff}.pf-must b.不合格{background:var(--red);color:#fff}.pf-must b.未確認{background:#E3E5D7;color:#45515B}.pf-weeks{display:flex;align-items:flex-end;gap:8px;height:130px;border-bottom:1px solid #d6d8ca}.pf-weeks div{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;height:100%}.pf-weeks b{font-size:12px;color:var(--navy)}.pf-weeks i{width:100%;max-width:36px;border-radius:5px 5px 0 0;background:var(--navy)}.pf-wlabels{display:flex;gap:8px}.pf-wlabels span{flex:1 1;text-align:center;font-size:11px;color:var(--dim)}.pf-hist{display:grid;grid-template-columns:92px 40px minmax(0,1fr);grid-gap:8px;gap:8px;padding:7px 0;border-bottom:1px solid #f1f2e9;font-size:13px}.pf-filter{gap:6px}.pf-chips,.pf-filter{display:flex;flex-wrap:wrap}.pf-chips{gap:8px}.pf-chip{font-size:13px;font-weight:700;padding:7px 12px;border-radius:9px;background:#fff;border:1px solid var(--border)}.pf-cov{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:14px;gap:14px}.pf-covrow{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center}.pf-covrow .code{font-size:17px;font-weight:700;color:var(--navy)}.pf-covrow .who{display:flex;gap:5px;align-items:center;flex-wrap:wrap;font-size:12px;color:#45515B}.pf-pip{width:14px;height:14px;border-radius:50%;box-sizing:border-box;display:inline-block}.pf-pip.home,.pf-pip.shared{background:var(--navy)}.pf-pip.shared{box-shadow:inset 0 0 0 3px #fff}.pf-pip.cover,.pf-pip.shared{border:2px solid var(--navy)}.pf-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.pf-person{gap:10px;padding:16px}.pf-person .top{display:flex;align-items:center;gap:10px}.pf-person a.nm{font-size:16px;font-weight:700;color:var(--navy);text-decoration:none}.pf-person a.nm:hover{text-decoration:underline}.pf-person .foot{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #ecede2;padding-top:9px;flex-wrap:wrap}.pf-person .foot,.pf-split{font-size:12px;color:#45515B}.pf-split{background:var(--panel-sub);border-radius:8px;padding:5px 9px}.pf-group h2{font-size:17px;color:var(--navy);margin:0 0 10px}.pf-group h2 small{font-size:13px;color:var(--dim);font-weight:500;margin-left:8px}.gr{max-width:1240px;margin:0 auto;padding:14px 12px 140px;display:flex;flex-direction:column;gap:14px}@media (min-width:760px){.gr{padding:20px 20px 60px;gap:18px}}.gr-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.gr-head h1{margin:0;font-size:20px;color:var(--navy)}.gr-en,.gr-head h1 small{font-size:12px;font-weight:500;color:var(--dim)}.gr-nav{display:flex;gap:6px;flex-wrap:wrap}.gr-nav a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--navy);text-decoration:none;font-weight:600;font-size:13px}.gr-nav a[aria-current=page]{background:var(--navy);color:#fff;border-color:var(--navy)}.gr-badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--amber);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.gr-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}@media (min-width:760px){.gr-card{padding:18px 20px}}.gr-card.em{border:2px solid var(--navy)}.gr-card h2{margin:0;font-size:16px;color:var(--navy)}.gr-label{font-size:12px;font-weight:700;color:var(--dim)}.gr-label span{font-weight:400}.gr-chips{display:flex;gap:6px;flex-wrap:wrap}.gr-chip{min-height:44px;padding:0 14px;border-radius:10px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;background:#fff;color:var(--navy);border:2px solid #d6d8ca}.gr-chip[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.gr-chip:disabled{cursor:default;opacity:.55}.gr-chip small{font-size:11px;font-weight:500;margin-left:4px}.gr-btn{min-height:48px;padding:0 18px;border-radius:12px;border:none;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;background:var(--navy);color:#fff}.gr-btn.ghost{background:#fff;color:var(--navy);border:2px solid #d6d8ca}.gr-btn.ok{background:var(--green)}.gr-btn.bad{background:#fff;color:var(--red);border:2px solid var(--red)}.gr-btn:disabled{opacity:.5;cursor:default}.gr-input,.gr-select,.gr-text{width:100%;border:1px solid #d6d8ca;border-radius:10px;padding:10px;font-size:16px;font-family:inherit;background:#FCFCF7;min-height:44px}.gr-text{resize:vertical;font-size:15px}.gr-msg{font-size:13px;padding:10px 12px;border-radius:10px;background:#EEF3F7;color:var(--navy)}.gr-msg.err{background:#F7E4E1;color:#8E2A1C;font-weight:600}.gr-msg.ok{background:#E3EFE7;color:#245F3B}.gr-msg.warn{background:#F8EFD9;color:#7A4E0B}.gr-msg ul{margin:4px 0 0;padding-left:18px}.gr-save{font-size:12px;color:var(--dim)}.gr-save.err{color:var(--red);font-weight:700}.gr-person{display:flex;align-items:center;gap:12px}.gr-person .nm{font-size:19px;font-weight:700;color:var(--navy);line-height:1.2}.gr-person .sub{font-size:12px;color:var(--dim)}.gr-cols{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}.gr-main{flex:999 1 600px;min-width:0;display:flex;flex-direction:column;gap:14px}.gr-side{flex:1 1 320px;min-width:0}.gr-items{display:flex;flex-direction:column}.gr-item{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:10px;gap:10px;padding:14px 0;border-top:1px solid #f1f2e9}@media (min-width:760px){.gr-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 20px}}.gr-item .hd{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.gr-item .cd{font-size:12px;font-weight:700;color:var(--dim)}.gr-item .jp{font-size:15px;font-weight:700;color:var(--navy)}.gr-item .base{font-size:12px;font-weight:700;color:var(--green)}.gr-item .core{font-size:11px;font-weight:700;color:var(--navy);background:#E6EEF4;border-radius:6px;padding:1px 6px}.gr-item .focus{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--navy);color:#fff}.gr-item .q{font-size:14px}.gr-item .pr{font-size:12px;color:#45515B;background:#F6F7EE;border-radius:8px;padding:4px 8px;align-self:flex-start}.gr-item .txt{gap:3px;min-width:0}.gr-item .ctl,.gr-item .txt{display:flex;flex-direction:column}.gr-item .ctl{align-items:flex-start;gap:6px}@media (min-width:760px){.gr-item .ctl{align-items:flex-end}}.gr-scores{display:flex;gap:6px}.gr-score{width:48px;height:48px;border-radius:10px;font-family:inherit;font-size:17px;font-weight:700;cursor:pointer;box-sizing:border-box;background:#fff;color:var(--navy);border:2px solid #d6d8ca}.gr-score.zone{box-shadow:inset 0 -4px 0 var(--green)}.gr-score[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.gr-score[aria-pressed=true].below{background:var(--amber);border-color:var(--amber)}.gr-score[aria-pressed=true].blank{background:#E3E5D7;color:#45515B;border-color:#C9CCBA}.gr-score[aria-pressed=true].zone{box-shadow:inset 0 -4px 0 rgba(255,255,255,.45)}.gr-score:disabled{cursor:default}.gr-prev{font-size:11px;font-weight:700;color:var(--dim)}.gr-prev.up{color:var(--green)}.gr-pass{display:flex;gap:6px;flex-wrap:wrap}.gr-pass button{min-height:44px;padding:0 12px;border-radius:10px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;background:#fff;color:#45515B;border:2px solid #d6d8ca}.gr-pass button[aria-pressed=true].合格{background:var(--green);color:#fff;border-color:var(--green)}.gr-pass button[aria-pressed=true].不合格{background:var(--red);color:#fff;border-color:var(--red)}.gr-pass button[aria-pressed=true].未確認{background:#8A9099;color:#fff;border-color:#8A9099}.gr-pass button:disabled{cursor:default}.gr-summary{display:flex;flex-direction:column;gap:12px}.gr-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.gr-counts div{border-radius:12px;padding:9px 11px;display:flex;flex-direction:column}.gr-counts b{font-size:22px}.gr-counts span{font-size:12px}.gr-counts .met{background:#E3EFE7;color:#245F3B}.gr-counts .below{background:#FBF0DC;color:#7A4E08}.gr-counts .blank{background:#EEEFE6;color:#45515B}.gr-counts .fail{background:#F6F7EE;color:#45515B}.gr-counts .fail.on{background:#F7E4E1;color:#8E2A1C}.gr-suggest{border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:2px}.gr-suggest b{font-size:16px}.gr-suggest.ok{background:#E3EFE7;color:#245F3B}.gr-suggest.fail{background:#F7E4E1;color:#8E2A1C}.gr-suggest.neutral{background:#EEF3F7;color:var(--navy)}.gr-sheetbar{display:none}@media (min-width:1000px){.gr-side .gr-card{position:-webkit-sticky;position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow:auto}}@media (max-width:999px){.gr-side{flex-basis:100%}.gr-side.sheet .gr-card{position:fixed;left:0;right:0;bottom:0;z-index:40;max-height:82dvh;overflow:auto;border-radius:16px 16px 0 0;box-shadow:0 -10px 30px rgba(14,56,84,.25);padding-bottom:calc(16px + env(safe-area-inset-bottom))}.gr-side.sheet:not(.open) .gr-card{display:none}.gr-sheetbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:39;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--border);box-shadow:0 -6px 18px rgba(14,56,84,.12)}.gr-sheetbar .ct{display:flex;gap:6px;flex-wrap:wrap;font-size:12px}}.gr-people{display:flex;flex-direction:column}.gr-row{justify-content:space-between;padding:10px 0;border-top:1px solid #f1f2e9;flex-wrap:wrap}.gr-row,.gr-row .who{display:flex;align-items:center;gap:10px}.gr-row .who{min-width:0}.gr-row .who b,.gr-row a{color:var(--navy)}.gr-row a{font-weight:700}.gr-sub{font-size:12px;color:var(--dim)}.gr-status{font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap}.gr-status.draft{background:#EEEFE6;color:#45515B}.gr-status.pending{background:#fff;color:var(--navy);border:2px solid var(--navy)}.gr-status.approved{background:#E3EFE7;color:#245F3B}.gr-status.returned{background:#FBF0DC;color:#7A4E08}.gr-table{width:100%;border-collapse:collapse;font-size:13px}.gr-table td,.gr-table th{padding:8px 6px;border-bottom:1px solid #f1f2e9;text-align:left;vertical-align:top}.gr-table th{font-size:12px;color:var(--dim);font-weight:700;background:var(--panel-sub);position:-webkit-sticky;position:sticky;top:0}.gr-table td.diff{background:#FBF0DC;font-weight:700}.gr-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.gr-q{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:36px;padding:0 8px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}.gr-q.none{background:#fff;color:#A3A79A;border:1px dashed #d6d8ca}.gr-q.q-不可{background:#F7E4E1;color:#8E2A1C;border:1px solid #e8c5bf}.gr-q.q-育成候補{background:#F4F7FA;color:var(--navy);border:1px dashed var(--learn)}.gr-q small{font-size:10px;margin-left:3px}.gr-q.pend{outline:2px dotted var(--amber);outline-offset:1px}.gr-kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.gr-field{display:flex;flex-direction:column;gap:5px}@media (min-width:1000px){.gr-only-phone{display:none}}.langswitch{display:inline-flex;align-items:center;gap:0;flex-wrap:wrap}.langswitch button{border:1px solid var(--border);background:var(--panel);color:var(--dim);font-size:12px;font-weight:600;padding:4px 9px;cursor:pointer;line-height:1.2;border-radius:0}.langswitch button:first-of-type{border-radius:6px 0 0 6px}.langswitch button:last-of-type{border-radius:0 6px 6px 0;margin-left:-1px}.langswitch button.active{background:var(--navy);border-color:var(--navy);color:#fff;cursor:default}.langswitch button:disabled:not(.active){opacity:.5}.langswitch-err{margin-left:6px;font-size:11px;color:var(--red)}.centerbox .langswitch{display:flex;justify-content:flex-end;margin-bottom:8px}.draftbar.navwrap{flex-wrap:wrap;justify-content:flex-end;row-gap:6px}@media (max-width:640px){.draftbar.navwrap .btn{padding:6px 10px}}.apill .langtag{font-size:9.5px;font-weight:700;letter-spacing:.04em;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:0 3px;line-height:13px;background:#fff}.chip .x.t,.closebtn2{white-space:nowrap}.pf-covrow .pf-pill{white-space:normal;text-align:right;max-width:150px}.pf-hist{grid-template-columns:100px 40px minmax(0,1fr)}@media (max-width:480px){.pf-pill,.pf-tag{white-space:normal}}