:root{font-family:Yu Gothic UI,Noto Sans JP,sans-serif;color:#17201d;background:#f3f5f2;color-scheme:light;font-synthesis:none}*{box-sizing:border-box}html,body,#app{min-height:100%;color:#17201d;background:#f3f5f2}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:9px 12px;color:#fff;background:#102a22;border-radius:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}aside{padding:28px 18px;background:#102a22;color:#fff;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px}.brand>img{width:42px;height:42px;border-radius:11px;object-fit:cover}.brand small{display:block;margin-top:2px;color:#9bb5ac;font-size:10px;letter-spacing:.18em}nav{display:grid;gap:6px;margin-top:48px}nav button{border:0;border-radius:10px;padding:12px 14px;text-align:left;color:#b9cac4;background:transparent}nav button.active{color:#fff;background:#1d4135}nav button:disabled{opacity:.45;cursor:default}.mobile-nav{display:none}.storage{margin-top:auto;color:#89a39a;font-size:12px;line-height:1.6}main{width:min(1180px,100%);padding:40px clamp(22px,5vw,70px)}header,.panel-head,.dialog-head,.actions{display:flex;justify-content:space-between;align-items:center;gap:20px}header h1{white-space:nowrap}h1,h2,p{margin:0}h1{margin-top:4px;padding-block:3px;font-size:clamp(28px,4vw,42px);line-height:1.25;letter-spacing:-.04em}h2{font-size:20px}.eyebrow{color:#7d8c86;font-size:11px;font-weight:800;letter-spacing:.2em}.primary{border:0;border-radius:10px;padding:12px 18px;background:#146c4e;color:#fff;font-weight:700}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:32px 0}.metric,.panel{border:1px solid #dfe5e1;border-radius:16px;background:#fff;box-shadow:0 8px 24px #142e250a}.metric{padding:20px}.metric span{display:block;color:#738079;font-size:13px}.metric strong{display:block;margin-top:12px;font-size:30px}.panel{overflow:hidden}.panel-hint{min-height:48px;padding:14px 24px;border-bottom:1px solid #e8ece9;color:#65736d;background:#fbfcfb;font-size:13px;line-height:1.55}.panel-head{padding:22px 24px;border-bottom:1px solid #e8ece9}.panel-head p{margin-top:5px;color:#7d8984;font-size:13px}.table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:15px 24px;border-bottom:1px solid #edf0ee;text-align:left;white-space:nowrap}th{color:#6f7d77;background:#fafbfa;font-size:12px}td{font-size:14px}.panel td{color:#17201d;background-color:#fff}.panel tbody tr:last-child td{border-bottom:0}.empty{padding:40px;color:#87918d;text-align:center}dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:18px;padding:0;box-shadow:0 25px 80px #00000047}dialog::backdrop{background:#08171294;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}form{display:grid;gap:17px;padding:25px}label{display:grid;gap:7px;color:#56645e;font-size:13px;font-weight:700}input,textarea,select{width:100%;border:1px solid #ccd5d0;border-radius:9px;padding:11px 12px;color:#17201d;background:#fff}input:focus,textarea:focus{outline:3px solid #cce9dc;border-color:#197759}input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.icon{border:0;background:transparent;color:#67736e;font-size:25px}.actions{justify-content:flex-end;margin-top:4px}.actions button:not(.primary){border:1px solid #d4dbd7;border-radius:10px;padding:11px 16px;background:#fff}.error{padding:10px;color:#8a1f1f;background:#ffe2e2;text-align:center}.page-panel{margin-top:30px}.sub{display:block;margin-top:4px;color:#55625c}.badge{border-radius:99px;padding:4px 9px;color:#176548;background:#e2f3eb;font-size:12px}.projects-panel table{table-layout:fixed}.projects-panel .project-code-col,.projects-panel .project-client-col{width:21%}.projects-panel .project-status-col{width:285px}.status-editor{display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:6px;width:100%}.status-editor select{height:36px;padding:6px 34px 6px 11px;border-color:#cbd8d1;border-radius:9px;background-color:#fff}.status-editor input{grid-column:1 / -1;min-width:0;padding:8px 10px}.status-editor input[hidden]{display:none}.status-save{flex:0 0 auto;border:1px solid #cbd8d1;border-radius:8px;padding:8px 10px;color:#146c4e;background:#fff;font-size:12px;font-weight:700}.status-save:hover{border-color:#146c4e;background:#eaf4ef}.link{border:0;padding:5px;color:#146c4e;background:transparent;font-weight:700}.danger-link{color:#a43737}.filter-tabs{display:flex;gap:8px;margin-top:28px}.filter-tabs button{border:1px solid #d4dbd7;border-radius:999px;padding:9px 15px;color:#596760;background:#fff}.filter-tabs button.active{border-color:#146c4e;color:#fff;background:#146c4e}.filter-tabs b{margin-left:5px}.history-controls{display:grid;grid-template-columns:minmax(260px,1fr) minmax(210px,280px) auto;align-items:end;gap:14px;margin-top:28px;padding:18px;border:1px solid #dfe5e1;border-radius:14px;background:#fff}.history-count{min-width:58px;padding:11px 10px;color:#53635c;font-weight:700;text-align:center}.notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding:12px 14px;border:1px solid #bfd7cb;border-radius:10px;color:#245b46;background:#edf8f2;line-height:1.5}.notice[hidden]{display:none}.notice-error{border-color:#efbcbc;color:#8a2424;background:#fff0f0}.notice-warning{border-color:#ead399;color:#705510;background:#fff9e9}.notice-close{flex:0 0 auto;width:44px;height:44px;border:0;color:inherit;background:transparent;font-size:20px;line-height:1}.data-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:22px 24px}.data-tools p{margin-top:6px;color:#55625c;font-size:13px}.toolbar-actions{display:flex;gap:8px}.settings-note{margin-bottom:24px;padding:12px 14px;border-radius:9px;color:#3e5f52;background:#eaf4ef}.settings-form .wide{grid-column:1 / -1}.logo-setting{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid #e2e8e4}.logo-preview{display:grid;place-items:center;width:180px;height:110px;border:1px dashed #b8c6bf;border-radius:12px;color:#83918b;background:#f8faf9;overflow:hidden}.logo-preview img{width:100%;height:100%;padding:10px;object-fit:contain}.logo-setting small{color:#7d8984;font-weight:400}.remove-logo{display:flex;align-items:center;gap:7px;margin-top:7px;font-weight:400}.remove-logo input{width:auto}.settings-actions{flex-wrap:wrap}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:22px 24px;border:1px solid #e3b7b7;border-radius:14px;background:#fff7f7}.danger-zone h2{color:#842e2e}.danger-zone p,.dialog-message{margin-top:6px;color:#725d5d;font-size:13px;line-height:1.6}.danger-button{border:1px solid #a63d3d;border-radius:9px;padding:10px 14px;color:#fff;background:#a63d3d;font-weight:700;white-space:nowrap}.danger-button:hover{background:#8f2f2f}.danger-button:disabled{border-color:#d8caca;color:#9c8d8d;background:#eee8e8;cursor:not-allowed}.reset-dialog .check{margin:4px 0;padding:10px;border-radius:8px;background:#fff5f5}.preview-label{color:#66756e;font-size:13px;font-weight:700}.merge-panel{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin:25px 0 4px;padding:18px;border:1px solid #cbdcd4;border-radius:12px;background:#f5faf7}.merge-panel[hidden]{display:none}.merge-panel h2{font-size:17px}.merge-panel p{margin-top:4px;color:#68766f;font-size:12px}.estimate-choices{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.estimate-choices label{display:flex;grid-auto-flow:column;align-items:center;gap:10px;padding:11px;border:1px solid #dbe4df;border-radius:9px;background:#fff}.estimate-choices input{width:auto}.estimate-choices small{display:block;margin-top:3px;color:#7a8781}.merge-panel.is-loaded{border-color:#2b8a64;background:#e8f6ef}.empty-inline{grid-column:1 / -1}.form-panel{margin-top:30px;padding:26px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.items-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:30px 0 12px}.items-help{margin-top:5px;color:#55625c;font-size:12px}.draft-status{margin-top:6px;color:#347258;font-size:11px}.items-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.items-actions button,.text-button{border:1px solid #cad5d0;border-radius:8px;padding:8px 12px;background:#fff;color:#29483d;font-weight:700}.items-actions .add-row{border-color:#168061;color:#fff;background:#168061}.items-actions .danger{color:#a33a3a;border-color:#e2bcbc}.items-actions .danger:disabled{color:#9aa6a1;border-color:#dfe5e1;background:#f6f8f6;cursor:not-allowed}.items-actions kbd{margin-left:4px;border:1px solid currentColor;border-radius:4px;padding:1px 4px;font-size:10px;font-weight:600;opacity:.78}.selection-count{min-width:58px;color:#718079;font-size:12px;text-align:right}.items-table-wrap{overflow-x:auto;border:1px solid #d7e0db;border-radius:12px;background:#fbfcfb}.items-table{width:100%;min-width:830px;table-layout:fixed;border-collapse:separate;border-spacing:0}.items-table col.col-select{width:40px}.items-table col.col-description{width:auto}.items-table col.col-quantity{width:82px}.items-table col.col-unit{width:78px}.items-table col.col-price,.items-table col.col-amount{width:132px}.items-table col.col-tax{width:86px}.items-table col.col-action{width:42px}.items-table thead th{padding:10px 8px;border-right:1px solid rgba(255,255,255,.25);border-bottom:0;color:#fff;background:#1e4168;font-size:12px;text-align:center;white-space:nowrap}.items-table thead th:first-child{border-top-left-radius:11px}.items-table thead th:last-child{border-top-right-radius:11px;border-right:0}.items-table tbody tr{background:#fff}.items-table tbody tr:hover{background:#f5faf7}.items-table tbody tr.is-selected{background:#e9f6ef;box-shadow:inset 3px 0 #168061}.items-table tbody td{height:46px;padding:0;border-right:1px solid #e1e7e3;border-bottom:1px solid #e1e7e3;vertical-align:middle}.items-table tbody tr:last-child td{border-bottom:0}.items-table tbody td:last-child{border-right:0}.items-table .row-selector{width:40px;text-align:center}.row-select{width:16px;height:16px;margin:0;accent-color:#168061;vertical-align:middle}.items-table .cell-input{width:100%;min-height:45px;border:0;border-radius:0;padding:9px 10px;color:#17201d;background:transparent}.items-table .cell-input:focus{z-index:1;outline:3px solid #a8ddc4;outline-offset:-3px;background:#fff}.items-table .qty,.items-table .price{text-align:right;font-variant-numeric:tabular-nums}.items-table .unit,.items-table .tax{text-align:center}.items-table .tax{appearance:auto}.item-amount-cell{padding:0 10px!important;color:#17201d;font-size:13px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.item-amount-cell .amount{display:block}.row-action{text-align:center}.remove{width:44px;height:44px;border:0;border-radius:7px;color:#a33a3a;background:transparent;font-size:21px;line-height:1}.remove:hover{background:#fdeaea}.items-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;color:#7d8984;font-size:11px}.text-button{border:0;padding:5px 0;color:#146c4e;background:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lower{margin-top:24px;align-items:center}.check{display:flex;grid-auto-flow:column;align-items:center;justify-content:start}.check input{width:auto}.totals{display:grid;justify-content:end;gap:8px;margin:24px 0}.totals span{display:grid;grid-template-columns:130px 130px;text-align:right}.totals .grand{border-top:2px solid #1c352c;padding-top:10px;font-size:17px}.document-toolbar{display:flex;justify-content:space-between;margin-bottom:20px}.document-toolbar>button:first-child{border:1px solid #ccd5d0;border-radius:9px;padding:10px 14px;background:#fff}.document{width:210mm;min-height:297mm;margin:0 auto;padding:18mm 16mm;color:#111;background:#fff;box-shadow:0 5px 30px #ccd2ce}.document>h1{text-align:center;font-size:28px;letter-spacing:.3em}.doc-meta{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:36px;line-height:1.8}.doc-meta>div:last-child{text-align:right}.doc-meta b{display:inline-block;min-width:85px}.intro{margin-top:30px}.doc-total{margin:20px 0;border-bottom:2px solid #111;padding:12px 4px;font-size:17px}.doc-total strong{float:right;font-size:23px}.project-name{margin:18px 0 10px}.doc-table{table-layout:fixed}.doc-table th,.doc-table td{border:1px solid #dfe2e0;padding:8px;white-space:normal}.doc-table th:first-child{width:40%}.doc-table th{color:#111;background:#eef1ef}.doc-table td:not(:first-child),.doc-table th:not(:first-child){text-align:right}.doc-sums{width:310px;margin:18px 0 0 auto}.doc-sums p{display:flex;justify-content:space-between;padding:6px 4px}.doc-sums .grand{border-top:2px solid #222;font-size:17px}.notes{margin-top:35px;border:1px solid #999;min-height:80px;padding:10px}.notes p{margin-top:8px}.excel-doc{position:relative;padding:17mm 18mm 12mm;font-family:Yu Gothic,Meiryo,sans-serif}.excel-doc>h1{margin:0;color:#203f67;text-align:center;font-size:29px;font-weight:800;letter-spacing:.45em}.gold-rule,.bottom-rule{height:2px;margin-top:10px;background:#bd9426}.doc-top{display:grid;grid-template-columns:1fr 1fr;min-height:94px;padding-top:8px}.brand-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;width:175px}.brand-logo img{width:72px;height:48px;object-fit:contain}.brand-logo img.custom-logo{display:block;width:auto;height:auto;max-width:165px;max-height:82px;object-fit:contain}.brand-logo .logo-placeholder{display:grid;place-items:center;width:116px;height:54px;border:1px dashed #b8b8b4;color:#777;font-size:10px;letter-spacing:.08em}.brand-logo strong{font-family:Arial,sans-serif;font-size:22px;letter-spacing:.12em}.brand-logo small{font-family:Arial,sans-serif;font-size:6px;letter-spacing:.45em}.company-info{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;font-size:13px;line-height:1.5}.company-info b{font-size:15px}.company-info span{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}.gray-rule{height:1px;background:#dedfdd}.recipient{min-height:78px;padding:8px 3px 0}.recipient h2{font-size:21px}.recipient p{margin-top:5px;font-size:13px}.doc-info{width:55%}.doc-info table{table-layout:fixed;border-collapse:collapse}.doc-info th,.doc-info td{height:25px;border:1px solid #d1d2d0;padding:3px 6px;font-size:13px}.doc-info th{width:55%;color:#454545;background:#e5e5e2;text-align:right;letter-spacing:.25em}.doc-info td{white-space:nowrap}.doc-info .deadline th,.doc-info .deadline td{color:#cb3928;font-weight:800}.headline-total{display:grid;grid-template-columns:55% 45%;align-items:center;height:49px}.headline-total>b{align-self:stretch;display:grid;place-items:center;color:#fff;background:#203f67;font-size:15px}.headline-total>strong{color:#c93425;text-align:right;font-size:30px;font-weight:800}.excel-doc .project-name{display:none}.excel-doc .doc-table th,.excel-doc .doc-table td{height:27px;border:1px solid #dfe2e0;padding:4px;font-size:13px}.excel-doc .doc-table th{color:#fff;background:#203f67}.excel-doc .doc-table th:first-child{width:43%;text-align:left}.excel-doc .doc-table th:nth-child(2){width:11%}.excel-doc .doc-table th:nth-child(3){width:10%}.excel-doc .doc-table th:nth-child(4){width:18%}.excel-doc .doc-table th:nth-child(5){width:18%}.excel-doc .doc-table td:nth-child(4),.excel-doc .doc-table td:nth-child(5){font-size:13px}.excel-doc .doc-table tbody tr:nth-child(2n) td{background:#f0eee8}.excel-doc .doc-table .blank td{height:28px}.excel-sums{width:100%;border-collapse:collapse}.excel-sums th,.excel-sums td{height:24px;border:1px solid #e4e6e5;padding:2px 7px;font-size:13px}.excel-sums th{width:82%;text-align:right}.excel-sums td{text-align:right;font-size:13px}.excel-sums .gross{background:#e2e2df}.excel-sums .gross td{color:#c93425;font-weight:800}.excel-sums .balance{color:#fff;background:#203f67;font-size:14px}.excel-sums .balance th,.excel-sums .balance td{font-size:15px}.bank{display:grid;grid-template-columns:55% 45%;min-height:38px;border:1px solid #dfe2e0}.bank b,.excel-notes>b{display:grid;place-items:center;color:#fff;background:#326890;letter-spacing:.5em}.bank span{padding:5px;font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.excel-notes{border:1px solid #dfe2e0;min-height:65px}.excel-notes>b{height:26px}.excel-notes p{padding:5px;font-size:12px;line-height:1.45}.bottom-rule{height:2px;margin-top:11px}.excel-doc footer{margin-top:2px;padding:3px 0 4px;border:0;color:#666;text-align:center;font-size:10px;font-style:italic}@media(max-width:760px){.shell{display:block;width:100%;max-width:100%;overflow-x:hidden}aside{padding:14px 18px}.desktop-nav,.storage{display:none}.mobile-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:0;padding:5px;border-top:1px solid #d8dfdb;background:#fff;box-shadow:0 -6px 20px #142e2514}.mobile-nav button{min-height:44px;padding:7px 4px;color:#52615b;text-align:center;white-space:normal;font-size:12px}.mobile-nav button.active{color:#fff;background:#1d4135}main{width:100%;min-width:0;padding:24px 16px 112px;overflow-x:hidden}.panel,.table-wrap{min-width:0;max-width:100%}header{align-items:flex-end;flex-wrap:wrap;row-gap:10px}header .primary{padding:10px 12px}.metrics{grid-template-columns:repeat(2,1fr)}th,td{padding:13px 16px}.form-grid{grid-template-columns:1fr}.panel-hint{padding:12px 16px}.history-controls{grid-template-columns:1fr;align-items:stretch}.history-count{padding:2px 0;text-align:left}.logo-setting{grid-template-columns:1fr}.danger-zone,.data-tools{align-items:stretch;flex-direction:column}.items-toolbar{align-items:flex-start;flex-direction:column}.items-actions{width:100%;justify-content:flex-start}.selection-count{text-align:left}.items-table{min-width:780px}.items-table .amount{text-align:right}.items-footer{align-items:flex-start;flex-direction:column;padding:6px 0 0}.document{width:100%;min-height:auto;padding:22px 16px;overflow:auto;box-shadow:none}.doc-meta{grid-template-columns:1fr;gap:12px}.doc-meta>div:last-child{text-align:left}.excel-doc{min-width:720px}}@media print{@page{size:A4;margin:8mm}*,*:before,*:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{width:194mm;height:auto;min-width:194mm;min-height:0;margin:0;background:#fff}#app{height:auto;min-height:0;background:#fff}.shell{display:block;height:auto;min-height:0;background:#fff}aside,.mobile-nav,.no-print,.skip-link{display:none!important}main{width:194mm;height:auto;min-height:0;margin:0;padding:0;background:#fff}html,body,#app,.shell,main{background-color:#fff!important;background-image:none!important}.document,.excel-doc{width:194mm;min-width:194mm;height:auto;min-height:0;max-height:none;margin:0;padding:10mm 12mm 8mm;overflow:visible;break-inside:auto;page-break-inside:auto;box-shadow:none}.excel-doc .doc-table thead{display:table-header-group}.excel-doc .doc-table tr{break-inside:avoid;page-break-inside:avoid}.excel-doc .doc-table td{overflow-wrap:anywhere;word-break:break-word}.doc-top,.recipient,.doc-info,.headline-total,.excel-sums,.bank,.excel-notes,.bottom-rule,.excel-doc footer{break-inside:avoid;page-break-inside:avoid}.excel-doc .doc-table .blank td{height:18px}.excel-doc .doc-table th,.excel-doc .doc-table td{height:21px;padding-block:2px}.excel-sums th,.excel-sums td{height:20px}.excel-notes{min-height:48px}.bottom-rule{margin-top:6px}.excel-doc footer{margin-top:1px;padding-block:2px;border:0;break-before:avoid;page-break-before:avoid}html.web-runtime .excel-doc{display:flex;flex-direction:column;min-height:281mm}html.web-runtime .excel-doc .bottom-rule{margin-top:auto}html.web-runtime .estimate-document .doc-info:after{display:block;height:24px;content:""}html.web-runtime .estimate-document .excel-notes{margin-top:38px}}
