*{box-sizing:border-box}body{font-family:Yu Gothic UI,Meiryo,sans-serif;margin:0;background:#f4f6f8;color:#222}header{background:#1a5276;color:#fff;padding:10px 20px;display:flex;align-items:center;justify-content:space-between}header h1{font-size:18px;margin:0}header .hleft{display:flex;align-items:baseline;gap:14px}header .manual-link,header .sample-links{font-size:13px;color:#cfe0ec}header .manual-link a,header .sample-links a{color:#fff;font-weight:600;text-decoration:underline}header .manual-link a:hover,header .sample-links a:hover{color:#ffe08a}header .userbox{font-size:13px;display:flex;align-items:center;gap:10px}header .userbox button{background:#2e6da4;color:#fff}main{padding:16px 20px}.opts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-size:14px}.opts input,.opts select{padding:4px 6px;font-size:14px;border:1px solid #bbb;border-radius:4px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}button{padding:7px 14px;font-size:14px;border:none;border-radius:5px;cursor:pointer;background:#1a5276;color:#fff}button.secondary{background:#5d6d7e}button.calc{background:#1e8449}button.ghost{background:#eef2f5;color:#234;border:1px solid #cdd6dd}button:hover{opacity:.9}button:disabled{opacity:.45;cursor:default}#stat{font-size:13px;color:#555}#msg{font-size:13px;color:#1a5276;min-height:1.2em;margin-bottom:6px}.dlwrap{position:relative;display:inline-block}.menu{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid #bcc;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:20;min-width:170px;overflow:hidden;padding:4px 0}.menu button{display:block;width:100%;text-align:left;background:#fff;color:#222;border-radius:0;padding:9px 14px}.menu button:hover{background:#eaf2f8;opacity:1}.gridWrap{overflow:auto;max-height:66vh;background:#fff;border:1px solid #ccd;border-radius:6px}.gridWrap:focus{outline:2px solid #1a5276;outline-offset:-2px}.gridWrap.dragover{border-color:#1a5276;box-shadow:inset 0 0 0 2px #1a5276;background:#eaf2f8}.placeholder{min-height:150px;display:flex;align-items:center;justify-content:center;text-align:center;color:#789;font-size:14px;line-height:1.8;padding:24px}table{border-collapse:separate;border-spacing:0;font-size:12px;white-space:nowrap;user-select:none}th,td{border-right:1px solid #dde;border-bottom:1px solid #dde;padding:3px 8px;background:#fff}thead th.colhdr{position:sticky;top:0;z-index:2;background:#eef2f5;color:#556;text-align:center;cursor:pointer;font-weight:600}th.rowhdr{position:sticky;left:0;z-index:1;background:#eef2f5;color:#556;text-align:center;cursor:pointer;font-weight:500}#corner{position:sticky;left:0;top:0;z-index:3;background:#dfe4e8;cursor:pointer;width:34px;min-width:34px}#corner .tri{display:block;text-align:right;font-size:11px;color:#7a8a99;line-height:1}td.hrow{font-weight:600;background:#fafcfe}td.acol,th.colhdr.acol{background:#fef9e7}td.hrow.acol{background:#fdf3d0}td.mcol,th.colhdr.mcol{background:#eaf7ee}td.hrow.mcol{background:#d8efe0}td.scol,th.colhdr.scol{background:#f0ecf7}td.hrow.scol{background:#e4dcf0}td.aicol,th.colhdr.aicol{background:#fde7d3}td.hrow.aicol{background:#f8d5b5}td.ncol,th.colhdr.ncol{background:#fdecea}td.hrow.ncol{background:#f8d7d3}#slotBar{margin:6px 0;font-size:13px}#slotBadge{display:inline-block;background:#e8f2fb;color:#1a4a72;border:1px solid #bcd8ef;border-radius:4px;padding:3px 8px;margin-right:6px}.paneltabs{display:flex;gap:4px;margin:10px 0 0;border-bottom:2px solid #cbd6df}.paneltabs .ptab{background:#eef2f6;border:1px solid #cbd6df;border-bottom:none;border-radius:7px 7px 0 0;padding:7px 16px;cursor:pointer;font-size:13.5px;color:#567;position:relative;top:2px}.paneltabs .ptab.active{background:#fff;font-weight:600;color:#1a4a72;border-color:#9ab}#btnAssign{background:#1a5276;color:#fff;border:none;border-radius:6px;padding:8px 18px;font-size:13.5px;font-weight:600;cursor:pointer;margin-left:6px}#btnAssign:hover{background:#154360}#btnAssign:disabled{background:#9db3c4;cursor:default}.aichk{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#345;cursor:pointer}.subtabs{display:flex;gap:4px;margin:8px 0 2px}.subtabs .subtab{background:#eef2f6;border:1px solid #cbd6df;border-radius:6px;padding:5px 14px;cursor:pointer;font-size:12.5px;color:#567}.subtabs .subtab.active{background:#1a5276;color:#fff;border-color:#1a5276;font-weight:600}#btnDownloadXlsx{margin-left:auto;background:#1e7e46;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:12.5px;font-weight:600;cursor:pointer}#btnDownloadXlsx:hover{background:#17673a}#pwCard .pwrow{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13px}#pwCard .pwrow label{width:190px;color:#445}#pwCard .pwrow input{padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px;width:220px}#pwCard #pwChange{background:#1a5276;color:#fff;border:none;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer}#pwCard #pwChange:hover{background:#154360}td.col-assigned{background:#eef6fb}.sheettabs{display:flex;gap:3px;flex-wrap:wrap;margin:8px 0}.sheettabs .stab{display:inline-flex;align-items:center;gap:4px;background:#f0f0f0;border:1px solid #ccc;border-radius:4px;padding:3px 4px 3px 12px;cursor:pointer;font-size:12px;color:#445}.sheettabs .stab.active{background:#1a4a72;color:#fff;border-color:#1a4a72;font-weight:600}.sheettabs .stabx{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;opacity:.55;font-size:13px;line-height:1}.sheettabs .stabx:hover{opacity:1;background:#c0392b;color:#fff}.panelinfo{font-size:12.5px;color:#456;margin:2px 0 6px;min-height:15px}.panelinfo:empty{display:none}.slotview{overflow:auto;max-height:68vh;min-height:120px;background:#fff;border:1px solid #ccd;border-radius:6px;cursor:pointer}.slotview:focus{outline:2px solid #1a5276;outline-offset:-2px}.slotview.dragover{border-color:#1a5276;box-shadow:inset 0 0 0 2px #1a5276;background:#eaf2f8}.slotview .placeholder{padding:24px;color:#789;font-size:13px;line-height:1.7}.slotview table{border-collapse:collapse;font-size:12px}.slotview th,.slotview td{border:1px solid #e2e2e2;padding:3px 9px;white-space:nowrap;text-align:center}.slotview thead th{background:#eef4fb;position:sticky;top:0;z-index:1}.slotview td.d{text-align:left}.slotview th.rownum,.slotview td.rownum{background:#f4f6f8;color:#789;text-align:right;font-variant-numeric:tabular-nums;position:sticky;left:0}.slotview thead th.rownum{z-index:2}.slotview th.col-month,.slotview td.col-month{background:#e6f5ec}.slotview th.col-ident,.slotview td.col-ident{background:#fdeadf}.slotview td.cell-oor{background:#f6c9c2;color:#a01f10;font-weight:700}.slotview tr.total td{font-weight:600;background:#f6f6f6}td.unassigned{background:#fdecea!important;color:#b03a2e;font-weight:700}td.sel{background:#cfe3f7!important}td.sel-t{border-top:2px solid #1a5276}td.sel-b{border-bottom:2px solid #1a5276}td.sel-l{border-left:2px solid #1a5276}td.sel-r{border-right:2px solid #1a5276}th.hdrsel,#corner.hdrsel{background:#1a5276!important;color:#fff!important}#corner.hdrsel .tri{color:#cfe3f7}.note{font-size:12px;color:#777;margin-top:6px}#loginView{max-width:360px;margin:8vh auto;background:#fff;border:1px solid #d5dde3;border-radius:10px;padding:28px 26px;box-shadow:0 6px 24px #0000000f}#loginView h2{margin:0 0 4px;font-size:18px;color:#1a5276}#loginView p.sub{margin:0 0 18px;font-size:12px;color:#789}#loginView label{display:block;font-size:13px;margin:12px 0 4px;color:#445}#loginView input{width:100%;padding:9px 10px;font-size:14px;border:1px solid #bbb;border-radius:5px}#loginView button{width:100%;margin-top:20px;padding:10px;font-size:15px}#loginErr{color:#b03a2e;font-size:13px;min-height:1.2em;margin-top:10px}#setpwView{max-width:360px;margin:8vh auto;background:#fff;border:1px solid #d5dde3;border-radius:10px;padding:28px 26px;box-shadow:0 6px 24px #0000000f}#setpwView h2{margin:0 0 4px;font-size:18px;color:#1a5276}#setpwView p.sub{margin:0 0 18px;font-size:12px;color:#789}#setpwView label{display:block;font-size:13px;margin:12px 0 4px;color:#445}#setpwView input{width:100%;padding:9px 10px;font-size:14px;border:1px solid #bbb;border-radius:5px}#setpwView button{width:100%;margin-top:20px;padding:10px;font-size:15px}.authlinks{margin-top:16px;display:flex;flex-direction:column;gap:8px}.authlinks a{color:#1a5276;font-size:13px;text-decoration:none;cursor:pointer}.authlinks a:hover{text-decoration:underline}.authmsg{font-size:13px;min-height:1.2em;margin-top:10px;color:#1a5276}.authmsg.err{color:#b03a2e}#trialBanner{background:#fff6e5;border:1px solid #f0d79a;color:#7a5b17;font-size:13px;padding:8px 14px;border-radius:6px;margin-bottom:10px}#settingsView h2{font-size:18px;color:#1a5276;margin:0 0 12px}.card{background:#fff;border:1px solid #d5dde3;border-radius:8px;padding:16px 18px;margin-bottom:16px}.cardrow{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.cardrow>.card{flex:1 1 380px;min-width:320px;margin-bottom:16px}.card h3{font-size:15px;margin:0 0 4px;color:#234}.card .desc{font-size:12px;color:#789;margin:0 0 12px}table.cfg{border-collapse:collapse;width:100%;max-width:620px;user-select:auto}table.cfg th,table.cfg td{border:1px solid #e2e8ec;padding:5px 8px;font-size:13px;text-align:left;white-space:nowrap;background:#fff}table.cfg th{background:#f2f6f9;position:static}table.cfg input[type=text]{width:100%;padding:5px 7px;border:1px solid #ccc;border-radius:4px;font-size:13px}table.cfg select{padding:5px 7px;border:1px solid #ccc;border-radius:4px;font-size:13px}table.cfg td.drag{text-align:center;width:32px;cursor:grab;color:#8494a3;user-select:none;font-size:15px}table.cfg td.drag:active{cursor:grabbing}table.cfg tr.dragging{opacity:.4}table.cfg tr.drop-above td{box-shadow:inset 0 2px #1a5276}table.cfg tr.drop-below td{box-shadow:inset 0 -2px #1a5276}table.cfg td.del{text-align:center;width:62px}table.cfg button.delrow,table.cfg button.sdelrow,table.cfg button.ocdel{background:#c0392b;color:#fff;padding:3px 12px;font-size:12px;white-space:nowrap}table.cfg button.ocsrcbtn{padding:3px 12px;font-size:12px;white-space:nowrap}table.cfg td.ocsrcsum{font-size:12px;color:#456;max-width:260px}.srclist{display:flex;flex-direction:column;gap:2px;max-height:52vh;overflow:auto;margin:6px 0;border:1px solid #e2e6ea;border-radius:5px;padding:6px}.srclist .srcopt{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:4px 6px;border-radius:4px;cursor:pointer}.srclist .srcopt:hover{background:#eef4fb}.srclist .srcsec{display:flex;flex-direction:column;gap:2px}.srclist .srcsec+.srcsec{margin-top:8px}.srclist .srcsectitle{font-size:12px;font-weight:700;color:#1a5276;padding:2px 4px;border-bottom:1px solid #dde3e8;margin-bottom:2px}table.cfg button.mapbtn{padding:3px 12px;font-size:12px;white-space:nowrap}button.mapbtn[disabled]{opacity:.4;cursor:default}.modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100}.modal-overlay[hidden]{display:none}.modal{background:#fff;border-radius:10px;padding:18px 20px;width:min(560px,92vw);max-height:88vh;overflow:auto;box-shadow:0 10px 40px #0000004d}.modal h3{margin:0 0 4px;font-size:16px;color:#234}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.modal-actions button{padding:6px 18px}#mapTable input.mval{width:220px;padding:4px 6px;border:1px solid #ccc;border-radius:4px;font-size:13px}#mapTable select.mslot{width:150px;padding:4px 6px;border:1px solid #ccc;border-radius:4px;font-size:13px}#outputColTable input.ocname{width:190px;padding:4px 6px;border:1px solid #ccc;border-radius:4px;font-size:13px}#outputColTable td.ocrefcell{text-align:center}#outputColTable td.ocsrcsum{width:120px;max-width:120px}#outputColTable .ocsrcsumtxt,#outputColTable td.ocsrcsum .desc{display:inline-block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}#outputColTable select.ocsrc{min-width:260px;padding:4px;border:1px solid #ccc;border-radius:4px;font-size:13px}#llmRules{width:100%;padding:8px 10px;border:1px solid #ccc;border-radius:5px;font-size:12.5px;font-family:Consolas,Yu Gothic UI,monospace;line-height:1.6;resize:vertical}.card code{background:#eef2f5;padding:1px 5px;border-radius:3px;font-size:12px}.settings-actions{display:flex;gap:10px;margin-top:4px}#devPanel{border-color:#c4b8d6;background:#fbf9fd}#devPanel .devrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;font-size:13px}#devRows{width:170px;padding:5px 7px;border:1px solid #ccc;border-radius:4px;font-size:13px}#devPanel .devlabel{font-size:12px;font-weight:600;color:#445;margin:8px 0 3px}#devPanel .devbox{background:#1e1e1e;color:#d4d4d4;font-family:Consolas,monospace;font-size:12px;padding:8px 10px;border-radius:5px;max-height:240px;overflow:auto;white-space:pre;margin:0}#devStat{font-size:12px;color:#1a5276}#settingsMsg{font-size:13px;color:#1a5276;min-height:1.2em;margin-left:8px;align-self:center}#usageView{padding:16px 20px}.usage-actions{display:flex;align-items:center;gap:10px;margin:10px 0 14px;flex-wrap:wrap}#usageMsg{margin-left:4px}table.usage{border-collapse:collapse;font-size:13px;min-width:720px}table.usage th,table.usage td{border:1px solid #d7dee4;padding:5px 10px;text-align:right;white-space:nowrap}table.usage th{background:#eef2f5;color:#234;position:sticky;top:0}table.usage td.acc,table.usage th.acc,table.usage td.mon{text-align:left}table.usage tr.subtotal td{background:#f3f7fa;font-weight:600}table.usage tr.grand td{background:#e6eef5;font-weight:700;border-top:2px solid #9db3c4}table.usage td.num{font-variant-numeric:tabular-nums}#invoiceBox{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#f3f7fa;border:1px solid #d7e0e8;border-radius:6px;padding:8px 12px;margin:4px 0 12px}#invoiceBox .invlabel{font-weight:600;color:#234}#invoiceBox select{padding:4px 6px}.invmodal{max-width:760px;width:92%;max-height:88vh;overflow:auto}.invgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:8px 0}.invgrid label{display:flex;flex-direction:column;font-size:12px;gap:3px}.invgrid label.invwide{grid-column:1 / -1}.invgrid input{padding:5px 7px}.invperiod{padding:5px 0;font-weight:600}.invfs{border:1px solid #d7dee4;border-radius:6px;padding:4px 12px 10px;margin:8px 0}.invfs legend{font-size:12px;font-weight:600;color:#445;padding:0 6px}.invtbl{width:100%;border-collapse:collapse;margin:6px 0;font-size:13px}.invtbl th,.invtbl td{border:1px solid #d7dee4;padding:4px 8px}.invtbl th{background:#eef2f5}.invtbl td.num,.invtbl td.invamt{text-align:right;font-variant-numeric:tabular-nums}.invtbl input.invprice{width:90px;text-align:right}.invtotals{display:flex;gap:18px;justify-content:flex-end;align-items:baseline;margin:8px 0}.invtotals .invgrand{font-size:16px}.invtotals .invgrand b{color:#1a5276}.invnotelbl{display:flex;flex-direction:column;font-size:12px;gap:3px;margin-top:6px}.invnotelbl textarea{width:100%;box-sizing:border-box}#printArea{display:none}.inv-doc{max-width:720px;margin:0 auto;color:#111;font-family:Yu Gothic UI,Meiryo,sans-serif;font-size:13px;padding:8px}.inv-title{text-align:center;font-size:22px;letter-spacing:6px;font-weight:700;margin-bottom:18px}.inv-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}.inv-toname{font-size:17px;font-weight:700;border-bottom:2px solid #333;padding-bottom:3px}.inv-period{font-size:12px;margin-top:6px;color:#333}.inv-meta{text-align:right;font-size:12px;line-height:1.7}.inv-amountbox{background:#eef2f5;border:1px solid #cdd6dd;padding:8px 12px;font-size:15px;margin-bottom:14px}.inv-amountbox b{font-size:20px}.inv-table{width:100%;border-collapse:collapse;margin-bottom:12px}.inv-table th,.inv-table td{border:1px solid #b9c3cc;padding:5px 9px}.inv-table th{background:#eef2f5;font-weight:700;text-align:center}.inv-table td.r{text-align:right;font-variant-numeric:tabular-nums}.inv-sum{margin-left:auto;border-collapse:collapse}.inv-sum td{padding:4px 12px;border:1px solid #b9c3cc}.inv-sum td.r{text-align:right;min-width:120px;font-variant-numeric:tabular-nums}.inv-sum tr.inv-grand td{background:#eef2f5;font-weight:700;font-size:15px}.inv-issuer{margin-top:18px;font-size:12px;line-height:1.7}.inv-ihd{font-weight:700;border-bottom:1px solid #999;display:inline-block;margin-bottom:3px}.inv-iname{font-size:14px;font-weight:700}.inv-note{margin-top:14px;font-size:12px;border-top:1px dashed #bbb;padding-top:8px}@media print{body *{visibility:hidden}#printArea,#printArea *{visibility:visible}#printArea{display:block;position:absolute;left:0;top:0;width:100%}}.hidden{display:none!important}
