:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft Yahei",sans-serif;color:#183b35;background:#f5f5ef;font-synthesis:none;--green:#135b50;--muted:#687b74;--line:#dce3d9}*{box-sizing:border-box}body{margin:0}header{max-width:1120px;margin:auto;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}.brand{font-size:19px;font-weight:750;letter-spacing:.04em}.brand span{color:#bc761b}#connection{font-size:12px;border:1px solid #c6d6c9;border-radius:40px;padding:7px 11px;background:#e8eee2}main{max-width:1120px;padding:38px 28px 20px;margin:auto}h1{font-size:clamp(28px,4vw,40px);letter-spacing:-.04em;font-weight:650;margin:7px 0 18px}h2{font-size:20px;font-weight:650;margin:7px 0 20px}h3{font-size:17px}p{line-height:1.8}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--muted);margin:0}.heading,.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.banner{margin:0 0 22px;background:#f4e9c9;border:1px solid #e6d5a4;border-radius:10px;padding:10px 15px;font-size:13px;color:#755b25}.grid{display:grid;grid-template-columns:1.05fr 1fr;gap:22px;align-items:stretch}.card{background:#fffefa;border:1px solid var(--line);border-radius:18px;padding:27px}.wallet{padding:31px;border-radius:18px;background:var(--green);color:#f4f5e7;display:flex;flex-direction:column;min-height:355px;position:relative;overflow:hidden}.wallet:after{content:"";width:280px;height:280px;border:1px solid #ffffff10;border-radius:100%;position:absolute;right:-110px;top:-100px;pointer-events:none}.wallet-top,.wallet-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.wallet-top span:last-child{opacity:.7;font-size:11px;border:1px solid #ffffff40;padding:5px 9px;border-radius:30px}.balance{display:flex;gap:14px;align-items:baseline;margin:40px 0 6px}.balance strong{font-size:clamp(48px,8vw,76px);font-variant-numeric:tabular-nums;font-weight:550;letter-spacing:-.04em;line-height:1.1}.balance span{color:#b7d5c6;font-size:16px}#confirmed-time{font-size:11px;color:#b4cfc2;margin:10px 0 30px}.wallet-bottom{margin-top:auto;padding-top:20px;border-top:1px solid #ffffff25}button,input,select{font:inherit}button{cursor:pointer;background:var(--green);border:1px solid transparent;border-radius:9px;color:white;padding:12px 16px;min-height:44px;font-size:14px;font-weight:550}button:disabled{opacity:.5;cursor:wait}button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible{outline:3px solid #d09f3d;outline-offset:3px}.quiet{background:transparent;color:var(--green);border-color:#cbd6ce;font-size:12px;padding:9px 12px}.light{background:#e5f0df;color:#174b3d;font-size:12px;padding:8px 12px}.presets{display:flex;gap:9px;margin-bottom:18px}.presets button{flex:1;background:#edf1e7;color:var(--green);border-color:#d4dfd2;font-size:18px;padding:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:12px;color:var(--muted);margin:12px 0 7px}input,select{width:100%;min-width:0;padding:11px;border:1px solid #cbd7cb;border-radius:8px;background:#fff;color:#183b35;font-size:16px;min-height:46px}input:focus,select:focus{outline:2px solid #6b9a83;outline-offset:1px}form>button[type=submit]{width:100%;margin-top:18px}.history,#queue-section{margin-top:22px}.section-title h2{margin-bottom:10px}.records{list-style:none;padding:0;margin:10px 0 0}.records li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 0;border-top:1px solid #e9ede4}.record-info{min-width:0;overflow-wrap:anywhere}.record-info strong{font-size:14px;display:block;font-weight:550}.record-info small{display:block;font-size:11px;color:var(--muted);margin-top:7px;line-height:1.7}.record-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.amount{font-size:21px;font-weight:600;white-space:nowrap;color:#216955;min-width:45px;text-align:right}.amount.negative{color:#936237}.reverse{font-size:11px;padding:5px 10px;min-height:36px;color:#6b786b;background:#f3f4ed}.empty{color:#7b887a;font-size:14px;padding:24px 0;text-align:center}.hint{font-size:12px;color:var(--muted);margin:4px 0 14px}.pill{display:inline-block;border:1px solid #d1dece;border-radius:30px;background:#edf2e7;padding:7px 14px;font-size:12px;margin-top:20px}.modules{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.modules p{font-size:12px;color:var(--muted)}.module-mark{color:#8e9d7e;font-size:11px}.login{max-width:460px;margin:20px auto 80px}.login p{font-size:14px;color:var(--muted)}#message{font-size:13px;color:#795323;min-height:24px;overflow-wrap:anywhere}footer{font-size:11px;color:#7b8b7a;display:flex;justify-content:space-between;padding:25px 0}[hidden]{display:none!important}@media(max-width:700px){header{padding:19px 20px}main{padding:27px 18px 12px}.grid{grid-template-columns:1fr;gap:16px}.wallet{min-height:290px;padding:25px}.balance{margin-top:32px}.card{padding:23px 20px}.modules{grid-template-columns:1fr;gap:12px}.modules .card{padding:18px 20px}.modules h3{display:inline;margin-left:14px}.modules p{margin-bottom:0}.record-right{gap:8px}.record-right .amount{font-size:19px}.heading{align-items:start}footer{display:block;line-height:2}footer span{display:block}.section-title{flex-wrap:wrap}}

.grid{grid-template-columns:340px 1fr;align-items:start}.wallet{min-height:295px;position:sticky;top:20px}.quick-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}.quick-heading h2{margin-bottom:12px}.quick-heading label{margin:0 0 5px}.quick-heading input{max-width:155px;min-height:38px;font-size:13px;padding:7px}.rule-tabs{display:flex;gap:5px;padding:4px;background:#edf0e7;border-radius:10px;margin:17px 0}.rule-tabs button{flex:1;padding:9px 5px;min-height:40px;background:transparent;color:#687b74;font-size:13px;white-space:nowrap}.rule-tabs button[aria-selected=true]{background:#fffefa;color:#135b50;box-shadow:0 1px 4px #123b3512}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rule-tile{position:relative;display:flex;align-items:stretch;border:1px solid #d5dfd2;border-radius:11px;background:#f5f7ef;min-height:84px;overflow:hidden}.rule-main{flex:1;text-align:left;background:none;color:#204f42;padding:12px 10px 12px 14px;min-width:0;border:0;display:flex;flex-direction:column;justify-content:center;gap:6px}.rule-main strong{font-size:14px;font-weight:600}.rule-main small{font-size:10px;color:#71846b;font-weight:400}.rule-value{font-size:17px;white-space:nowrap}.rule-main .rule-line{display:flex;justify-content:space-between;gap:9px;width:100%;align-items:center}.rule-info{min-height:0;width:32px;padding:0;border:0;border-left:1px solid #dce5d7;background:transparent;color:#7c8e76;font-size:14px}.rule-tile.negative{background:#fbf4ed;border-color:#e6d8c8}.rule-tile.negative .rule-main{color:#855b36}.rule-detail{margin-top:17px;padding:18px;background:#f6f7f0;border:1px solid #dbe3d2;border-radius:12px}.rule-detail h3{margin-top:0}.rule-detail form>button[type=submit]{width:auto}.rule-preview{font-size:15px;font-weight:600;color:#135b50;line-height:1.6}.form-actions{display:flex;justify-content:space-between;gap:14px}.form-actions button[type=submit]{flex:1}.check-label{display:flex;gap:9px;align-items:center;font-size:13px;color:#183b35}.check-label input{width:19px;min-height:19px;accent-color:#135b50}.more-rules{display:block;width:100%;margin-top:14px}.history-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.history-filter label{margin:0}.history-filter input{max-width:170px;min-height:38px;font-size:13px;padding:7px}.history-filter button{min-height:38px}.source-note{font-size:11px;color:#8e6236;margin-top:6px}.undo-note{font-size:12px;color:#7b6545}.rule-error{color:#995a35}.queue-cancel{margin-top:8px;font-size:11px;padding:6px 9px;min-height:32px}.presets{display:none}@media(max-width:900px){.grid{grid-template-columns:1fr}.wallet{position:relative;top:auto;min-height:230px}.balance{margin-top:25px}.wallet #confirmed-time{margin-bottom:18px}}@media(max-width:400px){.quick-heading{gap:7px}.quick-heading h2{font-size:18px}.quick-heading input{max-width:135px}.rule-main{padding-left:10px}.rule-main strong{font-size:13px}.rule-info{width:25px}.card{padding-left:16px;padding-right:16px}}
.parent-mode .wallet{min-height:215px}.parent-mode .balance{margin-top:22px}.parent-mode .balance strong{font-size:55px}.parent-mode #confirmed-time{margin-bottom:18px}@media(max-width:900px){.parent-mode .wallet{min-height:180px;padding:21px}.parent-mode .balance{margin-top:15px;margin-bottom:0}.parent-mode .balance strong{font-size:46px}.parent-mode #confirmed-time{margin:7px 0 14px}.parent-mode .wallet-bottom{padding-top:12px}.parent-mode h1{font-size:30px}}
.parent-mode .wallet{display:grid;grid-template-columns:1fr auto;gap:4px 12px;min-height:155px;padding:20px}.parent-mode .wallet-top{grid-column:1 / -1}.parent-mode .balance{grid-column:1;margin:0}.parent-mode .balance strong{font-size:46px}.parent-mode #confirmed-time{grid-column:1;max-width:200px;font-size:10px;margin:2px 0 0;line-height:1.5}.parent-mode .wallet-bottom{grid-column:2;grid-row:2 / span 2;display:flex;flex-direction:column;align-items:end;justify-content:center;border:0;padding:0;gap:8px;font-size:10px}.parent-mode .wallet-bottom button{min-height:38px;padding:7px 10px}.parent-mode .wallet-top span:last-child{font-size:10px}.parent-mode .heading h1{margin-bottom:15px}@media(min-width:901px){.parent-mode .wallet{grid-template-columns:1fr}.parent-mode .wallet-top{grid-column:auto}.parent-mode .wallet-bottom{grid-column:1;grid-row:auto;flex-direction:row;justify-content:space-between;border-top:1px solid #ffffff25;padding-top:14px}.parent-mode #confirmed-time{max-width:none}}
.rule-main .rule-line strong{min-width:0;overflow-wrap:anywhere;line-height:1.4}.rule-value{flex-shrink:0;font-size:16px}
@media(max-width:900px){.parent-mode .wallet-bottom{grid-row:2}.parent-mode #confirmed-time{grid-column:1 / -1;max-width:none}}

/* Temporary, grant-bound view of the actual application. */
.review-banner{padding:20px;border:1px solid #c4d9ce;background:#edf5ef;border-radius:18px;margin-bottom:24px}.review-banner p{font-size:14px;line-height:1.7}.review-banner nav{display:flex;flex-wrap:wrap;gap:16px}.review-banner a{color:#135b50}.review-mode .rule-main:disabled{opacity:1;cursor:default}.review-rule-table{margin:24px 0;overflow-wrap:anywhere}.review-rule-table table{width:100%;border-collapse:collapse;font-size:14px}.review-rule-table th,.review-rule-table td{padding:10px 6px;border-bottom:1px solid #dce5df;text-align:left}.review-rule-table td:first-child{width:25%}.review-rule-table td:nth-child(2){width:20%}#review-management{margin:24px 0}#review-management summary{cursor:pointer;font-weight:700}#review-management select{margin-bottom:12px}#created-review{margin-top:20px}.review-links{padding:0;list-style:none}.review-links li{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:13px}.review-mode #logout,.review-mode #review-management,.review-mode #export-ledger,.review-mode #export-pending{display:none}
