/* Shared geruwa interaction layer. No animation is needed to access content. */
:root{--glow:0 8px 28px #bd581429;--soft-glow:0 14px 42px #a5401014}
.button,button,.card,.stat-card,.panel,.sidebar nav a,.main-nav a,.finance-nav a{transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s}
.button:hover,button:hover{box-shadow:var(--glow);transform:translateY(-2px)}
.button:active,button:active{transform:translateY(0)}
.card:hover,.stat-card:hover{box-shadow:var(--soft-glow);border-color:#dbad86;transform:translateY(-4px)}
.hero{isolation:isolate;overflow:hidden}.hero:before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#ffb85f24,transparent 68%);left:-200px;top:20px;pointer-events:none}
.hero-copy{animation:gentle-enter .7s ease-out both}.hero-art{animation:gentle-enter 1s ease-out both}.hero-art img{animation:quiet-float 8s ease-in-out infinite;filter:drop-shadow(0 20px 35px #c4732333)}
.hero-label{box-shadow:0 4px 20px #b9550c08}.hero-values{border-top:1px solid #e6c4a5;padding-top:22px}.brand-mark,.brand-symbol{box-shadow:inset 0 1px 0 #ffffffc0,0 5px 18px #b3531412}
.main-nav a:not(.nav-contact){text-decoration:none;position:relative}.main-nav a:not(.nav-contact):after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:#bd5016;transform:scaleX(0);transform-origin:left;transition:transform .2s}.main-nav a:hover:after,.main-nav a:focus-visible:after{transform:scaleX(1)}
.contact-band{box-shadow:0 18px 45px #aa410c20}.card{overflow:hidden}.card-body:before{box-shadow:inset 0 1px 0 white}.site-footer{background-image:radial-gradient(ellipse at 10% 0,#f9d5af70,transparent 55%)}
.sidebar{background:linear-gradient(175deg,#fffdf9,#fff2e5);box-shadow:8px 0 30px #95400805}.sidebar nav a:hover{box-shadow:0 4px 16px #b4511610;transform:translateX(3px)}.sidebar nav a[aria-current=page]{box-shadow:inset 3px 0 #ba4d12,0 3px 12px #b4511610}
.office-topbar{background:linear-gradient(90deg,#fffdfb,#fff7ed)}.page-heading h1{letter-spacing:-.025em}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:'';position:absolute;right:-15px;top:-20px;width:90px;height:90px;border-radius:50%;background:#eaae7720;pointer-events:none}.stat-card strong{font-variant-numeric:tabular-nums}
.panel{box-shadow:0 7px 26px #8a3b0806}.panel-heading{padding-bottom:13px;border-bottom:1px solid #f1decc}.quick-icon{border:1px solid #efd2b9}.quick-links>a:hover .quick-icon{box-shadow:var(--glow)}
.finance-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.finance-nav a{font-size:.8rem;text-decoration:none;padding:8px 13px;background:#fffaf4;border:1px solid #ecd3bd;border-radius:9px;color:#7e3616}.finance-nav a:hover{background:#ffead6;box-shadow:0 4px 14px #ad4d1012;transform:translateY(-1px)}
.finance-filter{display:flex;align-items:center;gap:12px;max-width:520px;margin-bottom:20px}.finance-filter label{white-space:nowrap;margin:0}.finance-filter button{white-space:nowrap}.finance-form{max-width:1050px}.finance-form>p{max-width:700px}.journal-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.journal-lines fieldset{min-width:0;border:1px solid #ecd3bd;border-radius:12px;padding:20px;background:#fff9f2}.journal-lines legend{padding:0 8px;color:#873c17;font-weight:600}.journal-lines fieldset p:last-child{margin-bottom:0}
.setup-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px}.setup-row{padding:16px 0;border-bottom:1px solid #f0dfcf}.setup-row small{display:block;color:#805a40}.journal-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;color:#805a40}.report-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:end}.report-filters p{margin:0}.report-filters .errorlist{grid-column:1/-1}.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:24px 0}.report-summary>div{background:linear-gradient(140deg,#fffdfb,#fff0df);border:1px solid #edcdb1;border-radius:13px;padding:22px}.report-summary span{display:block;font-size:.8rem;color:#805333}.report-summary strong{font-size:1.6rem;color:#87370f;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.report-note{font-size:.83rem;color:#805a40}.money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}caption{text-align:left;padding:18px 20px;background:#fffaf5;font-size:.85rem;color:#805333}tfoot{background:#fff0e0;font-weight:700}.onboarding{padding:38px;max-width:800px}.onboarding p{max-width:600px}.onboarding h2{margin-top:15px}
@keyframes gentle-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.report-output .table-wrap table{min-width:780px}.report-output th,.report-output td{min-width:100px}.report-output td:nth-child(1),.report-output td:nth-child(2){white-space:nowrap}.report-output td:nth-child(3){min-width:200px}.table-wrap:focus-visible{outline:3px solid #a14012;outline-offset:3px}
@keyframes quiet-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:850px){.setup-grid{grid-template-columns:1fr}.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.journal-lines,.report-filters{grid-template-columns:1fr}.finance-nav{gap:6px}.finance-nav a{font-size:.75rem;padding:7px 10px}.finance-filter{flex-wrap:wrap}.finance-filter select{flex:1;min-width:130px}.report-summary{grid-template-columns:1fr 1fr}.report-summary>div{padding:15px}.report-summary strong{font-size:1.25rem}.onboarding{padding:25px}.hero-art img{animation:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:hover,button:hover,.card:hover,.stat-card:hover,.sidebar nav a:hover,.finance-nav a:hover{transform:none}}
@media print{.sidebar,.office-topbar,.office-footer,.finance-nav,.report-filters,.report-output .actions,.skip{display:none!important}.office-layout{display:block}.office-main{padding:0;animation:none}.panel{box-shadow:none}.table-wrap{overflow:visible}body{background:white}.report-summary{break-inside:avoid}}

.receipt-sheet{max-width:850px}.receipt-sheet table{table-layout:fixed}.receipt-sheet th{width:35%;vertical-align:top}.receipt-sheet td{overflow-wrap:anywhere}@media print{.receipt-tools{display:none!important}.receipt-sheet{border:1px solid #777;max-width:none}.receipt-sheet .notice{font-size:20px;border:2px solid #333}}
