:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#071b33;background:#eef3f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 90% 0,rgba(16,185,179,.13),transparent 28%),#eef3f8}button,a{font:inherit}.shell{width:min(1500px,calc(100% - 32px));margin:0 auto;min-height:100vh;padding:18px 0 22px}.centered{display:grid;place-items:center}.cash-shell{-webkit-user-select:none;-moz-user-select:none;user-select:none}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 2px 18px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:82px;height:82px;-o-object-fit:contain;object-fit:contain}.brand-mark.small{width:52px;height:52px}.brand-title{font-weight:900;font-size:23px;letter-spacing:-.03em}.eyebrow{color:#ef7d32;font-size:10px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.eyebrow.danger{color:#c73b3b}.top-actions{display:flex;align-items:center;gap:12px}.save-state{font-size:12px;font-weight:800;color:#657688}.save-state.saving{color:#b06a19}.save-state.saved{color:#0c8f83}.save-state.error{color:#bd3030}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:13px;border:0;cursor:pointer;text-decoration:none;font-weight:850;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.42;cursor:not-allowed}.button.primary{background:#071b33;color:#fff;box-shadow:0 8px 20px #071b3326}.button.secondary{background:#fff;color:#071b33;border:1px solid #d7e0e8}.cash-heading{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:end;padding:25px 30px;border-radius:25px;background:#071b33;color:#fff;box-shadow:0 18px 50px #071b3326}.cash-heading h1{margin:9px 0 6px;font-size:clamp(28px,4vw,48px);line-height:1;letter-spacing:-.045em}.cash-heading p{margin:0;color:#c6d3df;font-size:14px}.pill{display:inline-flex;padding:6px 11px;border-radius:999px;background:#10b9b329;border:1px solid rgba(45,212,191,.32);color:#83e5dc;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.heading-meta{min-width:260px;padding:15px 17px;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:#ffffff12}.heading-meta span,.heading-meta small{display:block;color:#aebdcb}.heading-meta span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.heading-meta strong{display:block;margin:4px 0;font-size:15px}.heading-meta small{font-size:11px}.inline-error{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:12px 0 -2px;padding:11px 14px;border:1px solid #f1c7c7;border-radius:13px;background:#fff5f5;color:#9b2525;font-size:12px}.inline-error button{border:0;background:transparent;font-size:22px;cursor:pointer;color:inherit}.workspace{display:grid;grid-template-columns:1.07fr .93fr;gap:14px;margin-top:14px}.money-zone{min-width:0;border:1px solid #d9e2ea;border-radius:24px;background:#fff;box-shadow:0 10px 34px #071b3312;overflow:hidden}.zone-titlebar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 18px;border-bottom:1px solid #e7edf2;background:#f9fbfd}.zone-titlebar span{color:#ef7d32;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.zone-titlebar h3{margin:2px 0 0;font-size:18px;letter-spacing:-.03em}.zone-titlebar p{max-width:340px;margin:0;color:#738292;font-size:11px;text-align:right}.money-stage{position:relative;height:min(53vh,560px);min-height:430px;overflow:hidden;touch-action:none;background:linear-gradient(90deg,rgba(7,27,51,.025) 1px,transparent 1px),linear-gradient(rgba(7,27,51,.025) 1px,transparent 1px),#f5f7f8;background-size:28px 28px}.counting_surface .money-stage{background:linear-gradient(90deg,rgba(13,148,136,.035) 1px,transparent 1px),linear-gradient(rgba(13,148,136,.035) 1px,transparent 1px),#f4faf9;background-size:28px 28px}.zone-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#9ba8b4;font-size:13px;pointer-events:none}.money-piece{position:absolute;margin:0;border:0;cursor:grab;touch-action:none;transition:box-shadow .12s ease,filter .12s ease,opacity .12s ease;outline:none}.money-piece:active{cursor:grabbing}.money-piece.selected{box-shadow:0 0 0 4px #0ea5e947,0 14px 26px #071b3338!important}.money-piece:focus-visible{box-shadow:0 0 0 4px #ef7d3254,0 12px 24px #071b3333!important}.money-piece.moving{opacity:.18}.money-piece.bill{width:134px;height:62px;padding:8px 10px;border-radius:7px;border:1px solid rgba(7,27,51,.28);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:center;text-align:left;color:#09203b;box-shadow:0 6px 12px #071b332e,inset 0 0 0 2px #ffffff73;background:linear-gradient(135deg,#d9edf7,#afcfe2)}.money-piece.bill strong{grid-row:1/3;grid-column:2;font-size:21px;letter-spacing:-.05em}.bill-country{font-size:8px;font-weight:900;letter-spacing:.12em}.bill-training{font-size:7px;opacity:.72;align-self:end}.denom-cad_100_dollars{background:linear-gradient(135deg,#eadbc9,#ccb292)!important}.denom-cad_50_dollars{background:linear-gradient(135deg,#f3d2d4,#d99da2)!important}.denom-cad_20_dollars{background:linear-gradient(135deg,#d8ead8,#a8cca9)!important}.denom-cad_10_dollars{background:linear-gradient(135deg,#e2d8ef,#baa5d4)!important}.denom-cad_5_dollars{background:linear-gradient(135deg,#d7e9f7,#9fc4e1)!important}.money-piece.coin{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:2px solid #8996a3;background:radial-gradient(circle at 32% 28%,#fff,#c8cfd5 45%,#8c979f);color:#14273b;box-shadow:0 5px 10px #071b3333,inset 0 0 0 3px #fff6}.money-piece.coin strong{position:relative;z-index:1;font-size:11px}.money-piece.coin.denom-cad_2_dollars{width:54px;height:54px;border-color:#9b8a4d;background:radial-gradient(circle,#d8dadd 0,#d8dadd 45%,#d6bd66 46%,#d6bd66 75%,#9e8742)}.money-piece.coin.denom-cad_1_dollar{width:51px;height:51px;border-color:#a08945;background:radial-gradient(circle at 35% 30%,#f6e7a5,#d2b552 58%,#9e8439)}.money-piece.coin.denom-cad_25_cents{width:47px;height:47px}.money-piece.coin.denom-cad_10_cents{width:40px;height:40px}.money-piece.coin.denom-cad_5_cents{width:43px;height:43px}.coin-ring{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px dashed rgba(7,27,51,.32);border-radius:50%}.control-strip{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding:14px 16px;border:1px solid #dbe4eb;border-radius:18px;background:#fff;box-shadow:0 8px 24px #071b330d}.selected-summary span,.selected-summary small{display:block}.selected-summary span{font-size:9px;color:#ef7d32;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.selected-summary strong{display:block;margin:3px 0;font-size:15px}.selected-summary small{color:#7a8997;font-size:11px}.accessible-actions{display:flex;gap:9px}.drag-ghost{position:fixed;z-index:999999;transform:translate(-50%,-50%);pointer-events:none;display:grid;place-items:center;font-weight:900;color:#071b33;box-shadow:0 18px 40px #071b3342;opacity:.93}.drag-ghost.bill{width:134px;height:62px;border-radius:7px;background:#d9e7f1;border:1px solid #8090a0}.drag-ghost.coin{width:50px;height:50px;border-radius:50%;background:#d9dfe4;border:2px solid #83909b}.panel{border:1px solid #dfe7ee;border-radius:24px;background:#fff;box-shadow:0 12px 38px #071b3312}.loading-panel,.error-panel{width:min(560px,100%);padding:44px;text-align:center}.loading-panel h1,.error-panel h1{margin:12px 0 9px;letter-spacing:-.04em}.loading-panel p,.error-panel p{color:#678;line-height:1.55}.loader{width:34px;height:34px;margin:24px auto 0;border:4px solid #e5edf3;border-top-color:#0c9c91;border-radius:50%;animation:spin .85s linear infinite}.no-fund{margin-top:14px;padding:34px}.no-fund h2{margin-top:0}.no-fund p{color:#657687}footer{display:flex;justify-content:space-between;gap:16px;margin-top:14px;padding:0 4px;color:#8493a2;font-size:10px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1000px){.workspace{grid-template-columns:1fr}.money-stage{height:470px}.cash-heading{grid-template-columns:1fr}.heading-meta{min-width:0}.zone-titlebar p{max-width:50%}}@media (max-width:680px){.shell{width:min(100% - 16px,1500px);padding-top:8px}.topbar,.control-strip{align-items:stretch;flex-direction:column}.top-actions,.accessible-actions{display:grid;grid-template-columns:1fr 1fr}.cash-heading{padding:21px;border-radius:20px}.money-zone{border-radius:18px}.money-stage{height:420px;min-height:390px}.zone-titlebar{align-items:flex-start;flex-direction:column}.zone-titlebar p{max-width:none;text-align:left}.money-piece.bill{width:116px;height:55px}.money-piece.bill strong{font-size:18px}footer{flex-direction:column}}.opening-slip{margin-top:14px;padding:0;overflow:hidden;-webkit-user-select:text;-moz-user-select:text;user-select:text}.opening-slip-head{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:start;padding:24px 26px;border-bottom:1px solid #e6edf2}.opening-slip-head h2{margin:6px 0 7px;font-size:27px;letter-spacing:-.035em}.opening-slip-head p{max-width:760px;margin:0;color:#657687;font-size:13px;line-height:1.55}.opening-policy{min-width:260px;padding:14px 16px;border-radius:15px;background:#f6f9fb;border:1px solid #dce5ec}.opening-policy span,.opening-policy small{display:block}.opening-policy span{font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#ef7d32}.opening-policy strong{display:block;margin:4px 0;font-size:14px}.opening-policy small{color:#708090;font-size:10px;line-height:1.4}.opening-slip.exam .opening-policy{background:#f7f7fb}.slip-table-wrap{overflow-x:auto;padding:0 26px}.slip-table{width:100%;border-collapse:collapse;min-width:620px}.slip-table th,.slip-table td{padding:12px 10px;border-bottom:1px solid #e8eef3;text-align:left}.slip-table th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#718190}.slip-table td:nth-child(2),.slip-table th:nth-child(2){width:200px;text-align:center}.slip-table td:last-child,.slip-table th:last-child{width:220px;text-align:right}.slip-table input{width:112px;min-height:42px;padding:8px 10px;border:1px solid #ccd7e0;border-radius:11px;background:#fff;color:#071b33;text-align:center;font:inherit;font-weight:850;outline:none}.slip-table input:focus{border-color:#0c9c91;box-shadow:0 0 0 3px #0c9c9121}.slip-table input:disabled{background:#f3f6f8;color:#697887}.slip-denom{display:inline-flex;min-width:76px;align-items:center;justify-content:center;padding:7px 10px;border-radius:10px;font-weight:900;border:1px solid #d5dfe7;background:#f7fafc}.slip-denom.coin{border-radius:999px}.row-feedback{display:block;margin-top:4px;font-size:10px;font-weight:800}.row-correct{background:#f4fbf8}.row-correct .row-feedback{color:#0b887c}.row-incorrect{background:#fff8f4}.row-incorrect .row-feedback{color:#c06022}.slip-table tfoot td{border-bottom:0;padding-top:17px;padding-bottom:17px;font-weight:950;color:#071b33}.slip-table tfoot td:last-child{font-size:19px}.opening-feedback{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin:4px 26px 0;padding:13px 15px;border-radius:13px;font-size:12px}.opening-feedback strong{white-space:nowrap}.opening-feedback.success{background:#edf9f6;color:#087d72;border:1px solid #c8ebe5}.opening-feedback.warning{background:#fff6ed;color:#a65318;border:1px solid #f2d4b7}.opening-feedback.neutral{background:#f4f7fa;color:#536577;border:1px solid #dce5ec}.opening-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 26px 24px}.opening-actions>div span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#7b8997;font-weight:900}.opening-actions>div strong{display:block;margin-top:2px;font-size:18px}.opening-slip.exam .row-correct,.opening-slip.exam .row-incorrect{background:transparent}.opening-slip.exam .row-feedback{display:none}@media (max-width:760px){.opening-slip-head{grid-template-columns:1fr;padding:20px}.opening-policy{min-width:0}.slip-table-wrap{padding:0 12px}.opening-feedback{margin-left:12px;margin-right:12px;grid-template-columns:1fr}.opening-actions{align-items:stretch;flex-direction:column;padding:16px 20px 20px}.opening-actions .button{width:100%}}.button.accent{background:#ef7d32;color:#fff;border-color:#ef7d32}.transaction-panel{margin-top:14px;overflow:hidden}.transaction-head{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:start;padding:24px 26px;border-bottom:1px solid #e6edf2}.transaction-head h2{margin:6px 0 7px;font-size:27px;letter-spacing:-.035em}.transaction-head p{max-width:850px;margin:0;color:#657687;font-size:13px;line-height:1.55}.client-progress{min-width:220px;padding:14px 16px;border-radius:15px;background:#f6f9fb;border:1px solid #dce5ec}.client-progress span,.client-progress small{display:block}.client-progress span{font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#ef7d32}.client-progress strong{display:block;margin:4px 0;font-size:22px}.client-progress small{color:#708090;font-size:10px}.current-client-card{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:22px 26px 0;padding:18px 20px;border-radius:18px;background:#071b33;color:#fff}.current-client-card span,.amount-due span{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;opacity:.72}.current-client-card h3{margin:5px 0 0;font-size:24px;letter-spacing:-.03em}.amount-due{text-align:right}.amount-due strong{display:block;margin-top:5px;font-size:27px}.transaction-zones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 26px}.transaction-zone{min-width:0;border:1px solid #dce5ec;border-radius:18px;background:#f9fbfd;overflow:hidden}.transaction-zone-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:13px 14px;border-bottom:1px solid #e6edf2;background:#fff}.transaction-zone-head strong,.transaction-zone-head small{display:block}.transaction-zone-head strong{font-size:13px}.transaction-zone-head small{margin-top:3px;color:#748391;font-size:9px}.transaction-zone-head>span{font-size:9px;font-weight:900;color:#ef7d32;white-space:nowrap}.transaction-money-stage{position:relative;height:290px;overflow:hidden;background:linear-gradient(90deg,rgba(7,27,51,.025) 1px,transparent 1px),linear-gradient(rgba(7,27,51,.025) 1px,transparent 1px),#f3f7f9;background-size:24px 24px}.transaction-money-stage .money-piece.bill{width:108px;height:50px}.transaction-money-stage .money-piece.bill strong{font-size:17px}.transaction-money-stage .money-piece.coin{transform-origin:center}.transaction-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:22px;text-align:center;color:#8a98a5;font-size:11px;line-height:1.45;pointer-events:none}.transaction-zone-help{display:block;padding:10px 12px;color:#708090;font-size:9px;line-height:1.4;background:#fff;border-top:1px solid #e6edf2}.transaction-feedback{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin:0 26px 14px;padding:13px 15px;border-radius:13px;font-size:12px}.transaction-feedback.success{background:#edf9f6;color:#087d72;border:1px solid #c8ebe5}.transaction-feedback.warning{background:#fff6ed;color:#a65318;border:1px solid #f2d4b7}.transaction-feedback.neutral{background:#f4f7fa;color:#536577;border:1px solid #dce5ec}.transaction-locked,.transaction-complete{display:grid;gap:5px;margin:22px 26px;padding:20px;border-radius:16px;background:#f6f9fb;border:1px solid #dce5ec}.transaction-locked strong,.transaction-complete strong{font-size:16px}.transaction-locked span,.transaction-complete span{color:#6c7c8b;font-size:12px}.transaction-complete{background:#edf9f6;border-color:#c8ebe5}.transaction-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 26px 24px}.transaction-actions>div span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#7b8997;font-weight:900}.transaction-actions>div strong{display:block;margin-top:2px;font-size:17px}.transaction-panel.exam .transaction-feedback.success,.transaction-panel.exam .transaction-feedback.warning{display:none}@media (max-width:1050px){.transaction-zones{grid-template-columns:1fr}.transaction-money-stage{height:260px}}@media (max-width:760px){.transaction-head{grid-template-columns:1fr;padding:20px}.client-progress{min-width:0}.current-client-card{align-items:flex-start;flex-direction:column;margin:16px 18px 0}.amount-due{text-align:left}.transaction-zones{padding:14px 18px}.transaction-feedback{margin-left:18px;margin-right:18px;grid-template-columns:1fr}.transaction-actions{align-items:stretch;flex-direction:column;padding:4px 18px 20px}.transaction-actions .button{width:100%}}
