:root{color:#2f251c;font-synthesis:none;text-rendering:optimizelegibility;background:#eee3c8;font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,system-ui,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{background:linear-gradient(90deg,#0000 0 37px,#b5312a38 38px 39px,#0000 40px),repeating-linear-gradient(0deg,#f8f0d7 0 37px,#e4d3a6 38px 39px);place-items:center;min-height:100vh;padding:18px 12px;display:grid}.phone-frame{background:#fff6de;border:1px solid #d2bd8c;border-radius:30px;grid-template-rows:auto 1fr auto;width:min(390px,100%);height:min(820px,100vh - 36px);min-height:620px;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 56px #523d2033}.login-card{background:#fff6de;border:1px solid #d2bd8c;border-radius:24px;gap:16px;width:min(390px,100%);padding:24px 20px;display:grid;box-shadow:0 22px 56px #523d2033}.login-card h1{font-size:1.7rem}.login-copy{color:#73654c;margin:0;font-size:.86rem;line-height:1.7}.login-form{gap:12px;display:grid}.login-form label{color:#8a2d28;gap:6px;font-size:.78rem;font-weight:800;display:grid}.login-form input{color:#2f251c;background:#fffaf0;border:1px solid #d0b477;border-radius:5px;width:100%;min-height:44px;padding:9px 10px}.login-form button{color:#fffaf0;background:#b7332d;border:1px solid #b7332d;border-radius:5px;min-height:44px;font-weight:800}.login-form button:disabled{color:#fff8e4;cursor:not-allowed;background:#d8c79f;border-color:#d5c298}.login-error{color:#9c332d;margin:0;font-size:.78rem;font-weight:800}.app-header{background:linear-gradient(90deg,#b7332d24 0 4px,#0000 4px),#fff9e7e6;border-bottom:2px solid #b7332d;grid-template-columns:1fr 42px;align-items:center;gap:12px;min-height:96px;padding:18px 18px 14px;display:grid}.eyebrow{color:#a62e29;letter-spacing:.09em;margin:0 0 4px;font-size:.7rem;font-weight:700}h1{margin:0;font-size:1.5rem;line-height:1.2}.app-header p:last-child{color:#73654c;margin:5px 0 0;font-size:.78rem}.icon-button{color:#4b3e2d;background:#fffaf0;border:1px solid #d4bd86;border-radius:50%;place-items:center;width:38px;height:38px;display:inline-grid}.content-scroll{padding-bottom:72px;position:relative;overflow-y:auto}.summary-strip{background:#eee0bb;border-bottom:1px solid #dcc795;grid-template-columns:86px 1fr;align-items:center;gap:10px;padding:10px 14px;display:grid}.api-status{color:#74644a;background:#fff8e6;border-bottom:1px solid #dcc795;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;font-size:.74rem;font-weight:700;display:flex}.api-status button{color:#4e402c;background:#fffaf0;border:1px solid #d0b477;border-radius:5px;align-items:center;gap:4px;min-height:30px;font-size:.72rem;font-weight:800;display:inline-flex}.list-filter{background:#fff8e6;border-bottom:1px solid #dcc795;gap:10px;padding:10px 14px;display:grid}.list-filter label{color:#8a2d28;gap:5px;font-size:.72rem;font-weight:800;display:grid}.list-filter select,.list-filter input{color:#2f251c;background:#fffaf0;border:1px solid #d0b477;border-radius:5px;width:100%;min-height:40px;padding:8px 10px}.list-filter-status{color:#74644a;justify-content:space-between;align-items:center;gap:10px;font-size:.74rem;font-weight:700;display:flex}.list-filter-status button,.inline-actions button{color:#4e402c;background:#fffaf0;border:1px solid #d0b477;border-radius:5px;align-items:center;gap:4px;min-height:30px;font-size:.72rem;font-weight:800;display:inline-flex}.inline-actions{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.summary-strip p{color:#6a5b41;margin:0;font-size:.78rem;font-weight:700}.summary-strip dl{grid-template-columns:repeat(3,1fr);gap:7px 6px;margin:0;display:grid}.summary-strip div{text-align:right;min-width:0}.summary-strip dt{color:#8c7c5c;font-size:.66rem}.summary-strip dd{color:#2f251c;font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:.98rem;font-weight:800}.summary-strip dl div:nth-child(4){border-top:1px dashed #cdb783;grid-column:1/-1;grid-template-columns:auto 1fr;justify-content:end;align-items:baseline;gap:8px;padding-top:3px;display:grid}.summary-strip dl div:nth-child(4) dt,.summary-strip dl div:nth-child(4) dd{text-align:right}.summary-strip dl div:nth-child(4) dd{font-size:.94rem}.date-groups{background:repeating-linear-gradient(0deg,#0000 0 58px,#d6c2915c 59px 60px),#fff7df}.empty-ledger{color:#6d6047;text-align:center;background:#fff7df;justify-items:center;gap:6px;padding:56px 20px;display:grid}.empty-ledger p{color:#3a2f21;margin:0;font-size:1rem;font-weight:800}.empty-ledger span{font-size:.8rem}.date-group-header{color:#6b5b3e;background:#f1e2bf;border-bottom:1px solid #d9c38f;justify-content:space-between;gap:10px;padding:8px 12px;font-size:.78rem;font-weight:700;display:flex}.date-group-header span:last-child{color:#443725;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.74rem}.ledger-row{border-bottom:1px solid #dcc795;grid-template-columns:52px 1fr 36px;gap:10px;min-height:76px;padding:10px 10px 9px 12px;display:grid}.row-date{color:#584a35;border-right:1px solid #dcc795;align-content:start;justify-items:center;gap:2px;padding-top:2px;font-family:Georgia,Times New Roman,serif;display:grid}.row-date strong{font-size:1.02rem;font-weight:500}.row-date span{font-size:.72rem}.row-main{min-width:0}.row-headline{grid-template-columns:minmax(74px,auto) 1fr;align-items:baseline;gap:8px;display:grid}.job-no{color:#2f251c;font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:800}.company{color:#3b3022;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:700;overflow:hidden}.product{color:#17120c;margin:4px 0 0;font-size:.96rem;font-weight:800;line-height:1.45}.row-meta{color:#6f6045;flex-wrap:wrap;gap:5px;margin:5px 0 0;font-size:.72rem;line-height:1.5;display:flex}.row-meta span:before{content:"|";color:#c1aa77;margin-right:5px}.row-status{color:#b7332d;background:0 0;border:0;place-items:center;display:grid}.row-actions{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.row-actions button{color:#604f38;background:#fffaf0;border:1px solid #d0b477;border-radius:5px;min-height:28px;font-size:.7rem;font-weight:800}.floating-add{color:#fffaf0;background:#b7332d;border:0;border-radius:50%;place-items:center;width:56px;height:56px;display:grid;position:absolute;bottom:72px;right:18px;box-shadow:0 10px 20px #60261c47}.work-form{background:#fff1cf;border-bottom:2px solid #b7332d;padding:14px}.form-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.form-kicker{color:#b7332d;margin:0 0 4px;font-size:.74rem;font-weight:800}.work-form h2{margin:0;font-size:1.08rem}.icon-button.small{width:34px;height:34px}.form-grid{gap:10px;display:grid}.form-grid label{color:#8a2d28;gap:5px;font-size:.72rem;font-weight:700;display:grid}.form-grid input,.form-grid textarea{color:#2f251c;background:#fffaf0;border:1px solid #d0b477;border-radius:5px;width:100%;min-height:42px;padding:9px 10px}.form-grid textarea{resize:vertical;min-height:76px}.candidate-panel{background:#fff8e6;border:1px dashed #d0b477;border-radius:5px;gap:6px;margin-top:-4px;padding:8px;display:grid}.candidate-header{color:#74644a;justify-content:space-between;align-items:center;gap:8px;font-size:.72rem;font-weight:800;display:flex}.candidate-header>button,.inline-register button{color:#b7332d;white-space:nowrap;background:#fffaf0;border:1px solid #b7332d;border-radius:5px;min-height:30px;font-size:.72rem;font-weight:800}.inline-register{align-items:center;gap:5px;display:inline-flex}.inline-register select{color:#2f251c;background:#fffaf0;border:1px solid #d0b477;border-radius:5px;min-height:30px;font-size:.72rem;font-weight:800}.candidate-list{gap:5px;display:grid}.candidate-row{color:#2f251c;text-align:left;background:#fffdf4;border:1px solid #ead8aa;border-radius:5px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;min-height:34px;padding:5px 7px;display:grid}.candidate-row span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8rem;font-weight:800;overflow:hidden}.candidate-row small{color:#7a6a4d;font-size:.68rem;font-weight:800}.hide-master{color:#a53a33;text-underline-offset:2px;font-size:.68rem;font-weight:800;text-decoration:underline}.split-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.memo-field{min-width:0}.check-field{grid-template-columns:auto 1fr;justify-content:start;align-items:center;min-height:38px;color:#2f251c!important;gap:8px!important;font-size:.9rem!important;display:inline-flex!important}.check-field input{accent-color:#b7332d;width:22px;min-height:22px}.form-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.primary-button,.secondary-button{border-radius:5px;min-height:44px;font-weight:800}.primary-button{color:#fffaf0;background:#b7332d;border:1px solid #b7332d}.primary-button:disabled{color:#fff8e4;cursor:not-allowed;background:#d8c79f;border-color:#d5c298}.secondary-button{color:#594b36;background:#fffaf0;border:1px solid #d0b477}.form-note{color:#9c332d;margin:9px 0 0;font-size:.76rem;font-weight:700}.search-panel{background:#fff2d1;border-bottom:1px solid #dcc795;gap:10px;padding:14px;display:grid}.search-panel label{color:#8a2d28;gap:5px;font-size:.72rem;font-weight:700;display:grid}.search-panel input{color:#2f251c;background:#fffaf0;border:1px solid #d0b477;border-radius:4px;width:100%;min-height:40px;padding:8px 10px}.date-range-preview{grid-template-columns:1fr 1fr;gap:10px;display:grid}.search-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.search-actions p{color:#74644a;margin:0;font-size:.74rem;font-weight:700;line-height:1.5}.search-actions button{color:#4e402c;background:#fffaf0;border:1px solid #d0b477;border-radius:5px;min-width:78px;min-height:36px;font-size:.78rem;font-weight:800}.search-actions button:disabled,.inline-actions button:disabled{color:#b8a782;cursor:not-allowed}.bottom-tabs{background:#fffaebf5;border-top:1px solid #d8c18e;grid-template-columns:repeat(3,1fr);display:grid}.bottom-tab{color:#77694f;background:0 0;border:0;border-right:1px solid #dcc795;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:58px;font-size:.78rem;display:inline-flex}.bottom-tab:last-child{border-right:0}.bottom-tab.active{color:#b7332d;font-weight:800;box-shadow:inset 0 -3px #b7332d}@media (width>=820px){.phone-frame{width:430px}}@media (width<=360px){.phone-frame{border-radius:22px}.row-headline{grid-template-columns:1fr;gap:2px}.company{white-space:normal}.date-range-preview,.split-fields{grid-template-columns:1fr}}
