:root{color:#202124;background:#f6f7f8;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{min-height:40px;border:1px solid #cfd4dc;border-radius:6px;background:#fff;color:#202124;cursor:pointer}button:hover{background:#f0f3f6}input,textarea{width:100%;min-height:42px;border:1px solid #cfd4dc;border-radius:6px;background:#fff;padding:9px 10px;color:#202124}textarea{resize:vertical}h1,h2,p{margin:0}.app{max-width:1280px;margin:0 auto;padding:24px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:20px}.topbar h1{font-size:28px}.topbar p,.month-label,.status,.actions span{color:#5f6672}.month-label{border:1px solid #d7dce3;border-radius:6px;background:#fff;padding:8px 12px}.layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);gap:18px;align-items:start}.panel{border:1px solid #d7dce3;border-radius:8px;background:#fff;padding:18px}.input-panel{display:grid;gap:18px}.field{display:grid;gap:8px;font-weight:700}.field>input,.field>textarea,.field .locked-notes,.field .number-wrap{font-weight:400}.group-title,.output-header,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.group-title h2,.output-header h2,.input-panel h2{font-size:18px}.group-title button,.output-header button,.primary{padding:0 14px}.primary{background:#1f6feb;border-color:#1f6feb;color:#fff}.primary:hover{background:#1b5fcc}.rows{display:grid;gap:8px}.row,.shift-row{display:grid;gap:8px;align-items:center}.row.two{grid-template-columns:minmax(0,1fr) 132px 42px}.shift-row{grid-template-columns:minmax(0,1fr) 108px 108px 108px 42px}.payment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.icon-button{width:42px;padding:0;font-size:24px;line-height:1}.locked-notes{border:1px solid #d7dce3;border-radius:6px;background:#f6f7f8;padding:10px;color:#444b55}.output-panel{position:sticky;top:16px}.output-header{margin-bottom:12px}pre{min-height:640px;overflow:auto;margin:0;border:1px solid #d7dce3;border-radius:6px;background:#fbfbfc;padding:16px;white-space:pre-wrap;word-break:break-word;line-height:1.55;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}@media(max-width:920px){.app{padding:16px}.topbar,.layout{display:grid}.layout{grid-template-columns:1fr}.output-panel{position:static}.payment-grid,.shift-row,.row.two{grid-template-columns:1fr}.icon-button{width:100%}}
