@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:transparent}.login-container{width:100%;max-width:400px;padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;padding:40px}.login-title{font-size:32px;font-weight:700;text-align:center;color:#333;margin-bottom:8px}.login-subtitle{text-align:center;color:#666;margin-bottom:32px;font-size:16px}.login-form{display:flex;flex-direction:column;gap:16px}.login-button{width:100%;margin-top:8px;padding:14px;font-size:18px}.login-button:disabled{opacity:.6;cursor:not-allowed}.dashboard-page{min-height:100vh;background:transparent}.dashboard-header{background:#fffffff2;box-shadow:0 2px 10px #0000001a;padding:16px 0;position:sticky;top:0;z-index:100}.header-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{font-size:24px;color:#333;margin:0}.app-version{font-size:13px;font-weight:400;color:#aaa;vertical-align:middle;margin-left:6px}.header-actions{display:flex;gap:12px;align-items:center}.header-actions .button{white-space:nowrap}.year-selector{padding:8px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;font-weight:600;background:#fff;cursor:pointer}.dashboard-content{padding:40px 0}.section-title{color:#fff;font-size:28px;margin-bottom:24px;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.2)}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px}@media (max-width: 1200px){.summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.summary-cards{grid-template-columns:1fr}}.summary-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.summary-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.summary-card .card-icon{font-size:48px;margin-bottom:12px}.summary-card h3{font-size:18px;color:#666;margin-bottom:8px;font-weight:600}.summary-card .amount{font-size:32px;font-weight:700;color:#333}.summary-card.total{background:#667eeabf;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.summary-card.total h3,.summary-card.total .amount{color:#fff}.summary-card.paid-by-account{background:linear-gradient(135deg,#f093fb,#f5576c)}.summary-card.paid-by-account h3,.summary-card.paid-by-account .amount{color:#fff}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:40px}.action-buttons--member{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.action-buttons--member .action-button{flex:0 0 260px}.action-buttons--member .family-summary-button{flex:0 0 540px;max-width:100%}.action-button{padding:20px 24px;font-size:18px;display:flex;align-items:center;justify-content:center;gap:12px}.family-summary-button{grid-column:2 / 4;padding:28px 32px;font-size:20px}.button-icon{font-size:24px}.modal-content{background:#fff;border-radius:16px;width:min(95vw,1100px);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.modal-year{margin:8px 0 0;font-size:14px;color:#999;font-weight:400}.modal-body{padding:24px;overflow-x:auto;overflow-y:auto;flex:1;min-width:0}.modal-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px;background:#f9f9f9}.modal-footer .button{margin:0}.expense-table{width:100%;overflow-x:auto}.detail-filters{display:flex;gap:10px;margin-bottom:12px}.detail-filter-input{flex:1;padding:7px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none}.detail-filter-input:focus{border-color:#667eea}.expense-table table{width:100%;min-width:860px;border-collapse:collapse;font-size:14px}.expense-table thead{background:#f5f5f5;position:sticky;top:0}.expense-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.expense-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s}.expense-table tbody tr:hover{background-color:#f9f9f9}.expense-table td{padding:12px;color:#666}.expense-table td.date{font-weight:500;color:#333;width:100px}.expense-table td.amount-col{text-align:right;width:120px}.expense-table td.amount{text-align:right;font-weight:500;color:#333}.expense-table .currency-note{font-size:11px;color:#999;font-weight:400;font-style:italic;display:block;margin-top:4px}.expense-table td.source{font-size:12px;color:#999}.expense-table .total-row{background:#f9f9f9;font-weight:600;border-top:2px solid #ddd;border-bottom:2px solid #ddd}.expense-table .total-label{text-align:right;color:#333}.expense-table .total-amount{text-align:right;color:#667eea;font-size:16px}.error-message{background:#fee;color:#c33;padding:16px;border-radius:8px;border-left:4px solid #c33}@media print{@page{margin:1.5cm}*{background:transparent!important;box-shadow:none!important}body{background:#fff;margin:0;padding:0;font-size:11pt;color:#000}.dashboard-page{background:#fff!important;min-height:auto!important}.dashboard-header,.section-title,.action-buttons,.container,.detail-filters,.detail-filter-input,.modal-close,.modal-footer{display:none!important}.modal-overlay{position:static!important;background:transparent!important;display:block!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;height:auto!important;flex:none!important;align-items:auto!important;justify-content:auto!important;z-index:auto!important}.modal-content{position:static!important;max-width:100%!important;max-height:none!important;box-shadow:none!important;border-radius:0!important;display:block!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important}.modal-header{border-bottom:2px solid #000!important;padding:0 0 10px!important;display:block!important;margin-bottom:16px!important}.modal-header h2{margin:0 0 4px!important;padding:0!important;font-size:16pt!important;font-weight:700!important;color:#000!important}.modal-year{margin:0!important;font-size:11pt!important;color:#333!important}.modal-body{padding:0!important;overflow:visible!important;display:block!important;flex:none!important;max-height:none!important}.expense-table{display:block!important;width:100%!important;overflow:visible!important}.expense-table table{width:100%!important;border-collapse:collapse!important;margin-top:0!important;font-size:10pt!important}.expense-table thead{display:table-header-group!important}.expense-table tbody{display:table-row-group!important}.expense-table th,.expense-table td{border:1px solid #aaa!important;padding:5px 8px!important;text-align:left!important;background:#fff!important;color:#000!important}.expense-table th{background:#e8e8e8!important;font-weight:700!important;font-size:9pt!important;text-transform:uppercase!important;letter-spacing:.03em!important}.expense-table td.amount,.expense-table th:last-child{text-align:right!important}.expense-table .total-row td{border-top:2px solid #000!important;font-weight:700!important}.expense-table .total-row .total-amount{text-align:right!important}.expense-table tbody tr{page-break-inside:avoid!important}.expense-table tbody tr:hover{background-color:transparent!important}.currency-note{display:block!important;font-size:8pt!important;color:#555!important}.loading,.error-message,.no-items{display:block!important}}.actions-col{width:140px}.row-actions{white-space:nowrap}.small-button{padding:6px 10px;margin-right:6px;border-radius:6px;border:none;background:#667eea;color:#fff;cursor:pointer}.small-button.button-secondary{background:#999}.small-button.button-danger{background:#e53e3e}.amount-edit{display:flex;gap:8px;align-items:center}@media (max-width: 768px){.dashboard-header{padding:12px 0}.header-content{padding:0 12px;flex-direction:column;align-items:stretch;gap:10px}.dashboard-header h1{font-size:20px;text-align:center}.header-actions{width:100%;flex-wrap:wrap;gap:8px}.year-selector,.header-actions .button{flex:1 1 140px;min-height:42px}.dashboard-content{padding:20px 0}.section-title{font-size:22px;margin-bottom:16px}.summary-card{padding:18px}.summary-card .card-icon{font-size:36px}.summary-card .amount{font-size:28px}.action-buttons,.action-buttons--member{display:grid;grid-template-columns:1fr;gap:12px;margin-top:24px}.action-buttons--member .action-button,.action-buttons--member .family-summary-button,.family-summary-button{flex:initial;grid-column:auto;width:100%;padding:16px;font-size:16px}.button-icon{font-size:20px}.modal-overlay{align-items:stretch;justify-content:stretch}.modal-content{width:100vw;max-width:100vw;min-height:100vh;max-height:100vh;border-radius:0}.modal-header,.modal-body,.modal-footer{padding-left:14px;padding-right:14px}.modal-header h2{font-size:20px}.detail-filters{flex-direction:column;gap:8px}.expense-table{overflow-x:auto}.expense-table table{min-width:860px}.small-button{margin-right:4px;padding:6px 8px;font-size:12px}}@media print{.row-actions,.actions-col{display:none!important}}.add-expense-page{min-height:100vh;background:transparent;padding-bottom:40px}.method-choice,.scan-choice{text-align:center;padding:20px}.method-choice h2,.scan-choice h2{margin-bottom:32px;color:#333;font-size:24px}.method-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;max-width:600px;margin:0 auto}.method-button{padding:32px 24px;flex-direction:column;gap:12px;font-size:18px}.method-icon{font-size:48px}.expense-form{max-width:600px;margin:0 auto}.expense-form h2{margin-bottom:24px;color:#333;text-align:center}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.expense-form textarea{resize:vertical;font-family:inherit}.checkbox-group{display:flex;align-items:center;margin:16px 0}.checkbox-group label{display:flex;align-items:center;gap:8px;font-weight:400;margin:0;cursor:pointer;font-size:16px}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.splits-section{background:#f8f9fa;padding:20px;border-radius:8px;margin:20px 0}.splits-section h3{margin-bottom:12px;color:#333}.split-info{background:#fff;padding:12px;border-radius:6px;margin-bottom:16px;font-weight:600;color:#667eea}.split-row{display:flex;gap:12px;margin-bottom:12px;align-items:center}.split-type{flex:2}.split-amount{flex:1}.remove-split{padding:8px 12px;min-width:auto}.form-actions{display:flex;gap:12px;margin-top:24px}.form-actions .button{flex:1}.loading{text-align:center;padding:20px;color:#667eea;font-size:16px}.ocr-processing{margin-top:30px;text-align:center}.image-preview{max-width:500px;margin:0 auto 20px;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #00000026}.image-preview img{width:100%;height:auto;display:block}.spinner{border:4px solid rgba(102,126,234,.2);border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading p{margin:0;font-weight:500}.webcam-capture{text-align:center;padding:20px}.webcam-capture h2{margin-bottom:24px;color:#333}.webcam-container{max-width:640px;margin:0 auto 20px;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0003;background:#000}.webcam-video{width:100%;height:auto;display:block}.webcam-controls{display:flex;gap:12px;justify-content:center;margin-bottom:16px}.webcam-controls .button,.webcam-controls .button-secondary{min-width:150px}.webcam-hint{color:#666;font-size:14px;margin:0}@media (max-width: 768px){.form-row,.method-buttons{grid-template-columns:1fr}.image-preview{max-width:100%}}.add-deposit-page{min-height:100vh;background:transparent;padding-bottom:40px}.deposit-form{max-width:500px;margin:0 auto}.deposit-form h2{margin-bottom:24px;color:#333;text-align:center}.record-attendance-page{min-height:100vh;background:transparent;padding-bottom:40px}.attendance-form{max-width:500px;margin:0 auto}.attendance-form h2{margin-bottom:24px;color:#333;text-align:center}.nights-info{background:#f0f7ff;padding:16px;border-radius:8px;text-align:center;margin:16px 0;color:#667eea;font-size:18px}.people-names-section{background:#f8f9fa;padding:20px;border-radius:8px;margin:20px 0}.people-names-section h3{margin-bottom:16px;color:#333;font-size:18px}.expense-report-page{min-height:100vh;background:transparent;padding-bottom:40px}.expense-report-form{max-width:1100px;margin:0 auto}.print-header{text-align:center;margin-bottom:30px}.print-header h2{color:#333;font-size:28px}.items-section{margin:30px 0}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.items-section h3{margin-bottom:16px;color:#333;font-size:20px}.items-table-wrapper{overflow-x:auto}.items-table{width:100%;border-collapse:collapse;margin:20px 0;background:#fff}.items-table th,.items-table td{padding:12px;border:1px solid #ddd;text-align:left}.items-table th{background:#f8f9fa;font-weight:600;color:#333}.items-table tfoot td{background:#f8f9fa;font-weight:600}.table-input{width:100%;padding:8px;border:1px solid #e0e0e0;border-radius:4px}.text-right{text-align:right}.btn-small{padding:6px 10px;font-size:14px;min-width:auto}.receipt-section{margin-top:10px}.receipt-upload-actions{display:flex;flex-wrap:wrap;gap:10px}.upload-label{position:relative;overflow:hidden}.upload-label.button-disabled{opacity:.65;pointer-events:none}.upload-label input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.receipt-help{margin-top:8px;color:#666;font-size:14px}.receipt-processing{margin-top:8px;color:#245f96;font-size:14px;font-weight:600}.receipt-required-msg{margin-top:10px;color:#b44;font-size:14px}.receipt-list{margin-top:12px;list-style:none;padding:0;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.receipt-list-item{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:10px 12px;border-bottom:1px solid #eee}.receipt-list-item:last-child{border-bottom:none}.receipt-meta{width:100%}.receipt-name{display:block;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.receipt-size{display:block;margin-top:2px;color:#777;font-size:13px}.receipt-list-item .btn-small{width:100%}.add-item-button{margin-top:10px}.items-total-mobile{display:none}.form-actions{display:flex;flex-wrap:wrap;gap:10px}.form-actions .button{flex:1 1 180px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{background:#fff;border-radius:10px;padding:32px 28px 24px;max-width:420px;width:90%;text-align:center;box-shadow:0 8px 32px #00000038}.modal-box p{font-size:16px;color:#333;margin:0 0 24px;line-height:1.5}.modal-box .button{min-width:100px}@media print{.expense-report-page{background:#fff}.no-print{display:none!important}.card{box-shadow:none;padding:20px}.items-table{page-break-inside:avoid}.print-header{border-bottom:2px solid #333;padding-bottom:20px;margin-bottom:30px}}@media (max-width: 768px){.expense-report-page{padding-bottom:24px}.expense-report-form{max-width:100%}.print-header h2{font-size:22px}.form-row{grid-template-columns:1fr;gap:0}.items-section{margin:20px 0}.items-section h3{font-size:18px}.items-table-wrapper{overflow:visible}.items-table{display:block;margin:12px 0;font-size:14px;border-collapse:separate;background:transparent}.items-table thead,.items-table tfoot{display:none}.items-table tbody{display:block}.items-table tr{display:block;margin-bottom:14px;padding:12px;border:1px solid #ddd;border-radius:10px;background:#fff;box-shadow:0 2px 8px #0000000f}.items-table td{display:grid;grid-template-columns:minmax(92px,110px) 1fr;align-items:center;gap:10px;padding:8px 0;border:none;text-align:left}.items-table td:before{content:attr(data-label);font-weight:700;color:#444;font-size:13px}.items-table td.no-print{grid-template-columns:1fr;padding-top:12px}.items-table td.no-print:before{display:none}.items-table td.no-print .btn-small,.items-table td input,.items-table td select{width:100%}.table-input{padding:6px;font-size:14px}.items-total-mobile{margin-top:6px;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;display:flex;align-items:center;justify-content:space-between;background:#f8f9fa}.receipt-upload-actions{flex-direction:column}.receipt-upload-actions .button{width:100%}.receipt-list-item{padding:12px}.form-actions{flex-direction:column;align-items:stretch}.form-actions .button{width:100%}}.family-summary-page{min-height:100vh;background:transparent;padding-bottom:40px}.page-header{background:#fffffff2;padding:16px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px}.back-button{background:transparent;border:none;font-size:18px;cursor:pointer;padding:8px 12px;border-radius:8px;transition:background .3s ease}.back-button:hover{background:#0000000d}.page-header h1{font-size:24px;margin:0;color:#333}.summary-controls{display:flex;justify-content:center;gap:16px;margin-bottom:24px;padding:0 20px}.year-selector{padding:8px 16px;border:2px solid white;border-radius:8px;font-size:16px;font-weight:600;background:#fff;cursor:pointer;min-width:120px}.summary-content{max-width:1200px;margin:0 auto;padding:0 20px}.totals-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 4px 6px #0000001a}.totals-section h2{margin:0 0 20px;font-size:20px;color:#333}.totals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.total-item{background:#667eeabf;border-radius:8px;padding:16px;text-align:center}.total-item .label{color:#fffc;font-size:14px;margin-bottom:8px}.total-item .amount{color:#fff;font-size:20px;font-weight:700}.families-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000001a}.families-section h2{margin:0 0 20px;font-size:20px;color:#333}.families-table-wrapper{overflow-x:auto}.families-table{width:100%;border-collapse:collapse;font-size:14px}.families-table thead{background:#f5f5f5}.families-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.families-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s}.families-table tbody tr:hover{background-color:#f9f9f9}.families-table td{padding:12px;color:#666}.families-table .family-name{font-weight:600;color:#333}.families-table .total-col{text-align:right}.families-table .total-amount{text-align:right;font-weight:600}.families-table .total-amount.owing{color:#c33}.families-table .total-amount.surplus{color:#3c3}.families-table td .credit-days-value{font-size:.82em;color:#666}.pd-gross{font-size:.85em;color:#555}.pd-credit{font-size:.85em;color:#c33}.pd-net{font-size:.9em;font-weight:600;border-top:1px solid #ddd;margin-top:2px;padding-top:2px}.families-table tr.owing{background-color:#fff5f5}.families-table tr.surplus{background-color:#f5fff5}.families-table tr.even{background-color:#f5f5f5}.legend{display:flex;gap:24px;margin-top:20px;padding-top:20px;border-top:1px solid #ddd;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.legend-item:before{content:"";width:16px;height:16px;border-radius:3px}.legend-item.owing:before{background-color:#fff5f5;border:1px solid #c33}.legend-item.surplus:before{background-color:#f5fff5;border:1px solid #3c3}.legend-item.even:before{background-color:#f5f5f5;border:1px solid #ddd}.error{background:#fee;color:#c33;padding:16px;border-radius:8px;border-left:4px solid #c33;margin:20px}@media (max-width: 768px){.families-table{font-size:12px}.families-table th,.families-table td{padding:8px}.totals-grid{grid-template-columns:repeat(2,1fr)}.legend{gap:16px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:24px;color:#333}.modal-close{background:none;border:none;font-size:32px;color:#999;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.modal-body{padding:24px;overflow-y:auto;flex:1}.attendance-details{width:100%}.attendance-table{width:100%;border-collapse:collapse;font-size:14px}.attendance-table thead{background:#f5f5f5;position:sticky;top:0}.attendance-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.attendance-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s}.attendance-table tbody tr:hover{background-color:#f9f9f9}.attendance-table td{padding:12px;color:#666}.attendance-table .person-days-cell{font-weight:500;color:#333}.attendance-table .total-row{background:#f9f9f9;font-weight:600;border-top:2px solid #ddd;border-bottom:2px solid #ddd}.attendance-table .total-label{text-align:right;color:#333}.attendance-table .total-amount{text-align:right;color:#667eea;font-size:16px}.attendance-table .credit-days-row{background:#fff3cd;font-weight:600}.attendance-table .credit-label{text-align:right;color:#856404}.attendance-table .credit-amount{text-align:right;color:#856404;font-size:16px}.attendance-table .net-total-row{background:#d4edda;font-weight:700;border-top:2px solid #28a745;border-bottom:2px solid #28a745}.attendance-table .net-total-label{text-align:right;color:#155724}.attendance-table .net-total-amount{text-align:right;color:#28a745;font-size:16px}.no-items{text-align:center;padding:40px 20px;color:#999;font-size:16px}.clickable.person-days{color:#667eea;font-weight:600;text-decoration:underline;transition:color .2s ease}.clickable.person-days:hover{color:#764ba2}.clickable.detail-link{color:#667eea;font-weight:600;text-decoration:underline;cursor:pointer;transition:color .2s ease}.clickable.detail-link:hover{color:#764ba2}.modal-large{max-width:820px;width:95%}.detail-modal-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:0}.detail-modal-table th{padding:9px 12px;background:#f5f5f5;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0;text-align:left}.detail-modal-table td{padding:8px 12px;border-bottom:1px solid #f0f0f0;color:#555}.detail-modal-table .amount-col{text-align:right}.detail-modal-table tfoot .subtotal-row td,.detail-modal-table tfoot .share-row td{padding:10px 12px;font-weight:600;border-top:2px solid #ddd;background:#fafafa}.detail-modal-table tfoot .total-label{text-align:right;color:#333}.detail-modal-table tfoot .total-amount{text-align:right}.detail-modal-table tfoot .share-row .share-amount{color:#667eea;font-size:1.05em}.report-sections{display:flex;flex-direction:column;gap:16px}.report-section{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.report-section-header{display:flex;align-items:baseline;gap:12px;padding:10px 14px;background:#f0f4ff;flex-wrap:wrap}.report-submitter{font-weight:700;color:#333}.report-purpose{flex:1;color:#555;font-style:italic}.report-date{font-size:12px;color:#888}.report-total{font-weight:700;color:#667eea;margin-left:auto}.report-items-table{border-radius:0}.grand-total-bar{display:flex;justify-content:space-between;padding:12px 14px;background:#667eea;color:#fff;font-weight:700;font-size:15px;border-radius:6px;margin-top:8px}.recon-page{min-height:100vh;background:transparent}.recon-controls{display:flex;align-items:center;gap:10px;margin-bottom:20px}.add-menu-wrap{position:relative}.add-menu-btn{width:34px;height:34px;border-radius:50%;background:#27ae60;color:#fff;border:none;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003;transition:background .15s,transform .15s}.add-menu-btn:hover{background:#219a52;transform:scale(1.08)}.add-menu-dropdown{display:none;position:absolute;top:calc(100% + 6px);left:0;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:200px;z-index:100;overflow:hidden}.add-menu-dropdown.open{display:block}.add-menu-dropdown button{display:block;width:100%;padding:12px 16px;text-align:left;background:none;border:none;font-size:14px;color:#333;cursor:pointer;transition:background .12s}.add-menu-dropdown button:hover{background:#f0f9f4;color:#27ae60}.add-menu-dropdown button+button{border-top:1px solid #f0f0f0}.year-label{font-weight:600;color:#fff;font-size:15px}.recon-forms-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}@media (max-width: 700px){.recon-forms-row{grid-template-columns:1fr}}.recon-form-card{padding:24px}.recon-form-card h2{font-size:18px;color:#333;margin-bottom:4px}.card-hint{font-size:12px;color:#888;margin-bottom:16px;line-height:1.4}.recon-form{display:flex;flex-direction:column;gap:14px}.form-error{background:#fff3f3;color:#c00;padding:8px 12px;border-radius:6px;font-size:13px;margin-bottom:4px}.balance-summary-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.balance-summary-bar.four-col{grid-template-columns:repeat(4,1fr)}.balance-summary-bar.five-col{grid-template-columns:repeat(5,1fr)}@media (max-width: 600px){.balance-summary-bar,.balance-summary-bar.four-col,.balance-summary-bar.five-col{grid-template-columns:1fr}}.balance-tile{background:#fffffff2;border-radius:12px;padding:18px 20px;box-shadow:0 2px 8px #00000014;text-align:center;display:flex;flex-direction:column;justify-content:space-between}.balance-tile-label{font-size:12px;color:#888;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.tile-calculated-note{font-size:10px;color:#aaa;text-transform:none;letter-spacing:0;font-style:italic}.balance-tile-value{font-size:22px;font-weight:700}.balance-tile-value.owing{color:#c0392b}.balance-tile-value.surplus{color:#27ae60}.balance-tile-value.neutral{color:#333}.num-cell.neutral{color:#555}.recon-table-wrap{overflow-x:auto}.recon-table{width:100%;border-collapse:collapse;font-size:14px}.recon-table thead{background:#f5f5f5}.recon-table th{padding:10px 12px;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0;text-align:left;white-space:nowrap}.recon-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .15s}.recon-table tbody tr:hover{background:#f9f9f9}.recon-table td{padding:10px 12px;color:#555}.recon-table tfoot td{padding:10px 12px;background:#fafafa;font-weight:600;border-top:2px solid #e0e0e0}.num-cell{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.notes-cell{font-size:12px;color:#999;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diff-cell.balanced{color:#27ae60;font-weight:700}.diff-cell.pos{color:#27ae60}.diff-cell.neg{color:#c0392b}.recon-table--detail th{font-size:12px;padding:8px 10px;vertical-align:top}.recon-table--detail td{padding:10px;font-size:13px}.col-hint{font-size:10px;font-weight:400;color:#aaa;white-space:normal;margin-top:2px;line-height:1.3}.calc-group-start{border-left:2px solid #d0d0d0}.calc-equals{border-left:2px solid #b0b0d0;font-weight:600}.num-cell.pos{color:#27ae60}.num-cell.neg{color:#c0392b}.recon-table .total-label{text-align:right;color:#333}.small-delete-btn{background:none;border:1px solid #e0e0e0;border-radius:4px;padding:4px 8px;color:#c00;cursor:pointer;font-size:12px;transition:background .15s}.small-delete-btn:hover{background:#ffeaea}.no-items-inline{padding:24px 0;color:#aaa;text-align:center;font-size:14px}.recon-page .card{margin-bottom:20px;padding:24px}.recon-page .card h2{font-size:18px;color:#333;margin-bottom:16px}.admin-page{min-height:100vh;background:transparent}.admin-header{background:#fffffff2;box-shadow:0 2px 10px #0000001a;padding:16px 0;position:sticky;top:0;z-index:100}.admin-content{padding:40px 0}.admin-controls{display:flex;justify-content:flex-end;margin-bottom:16px}.admin-year-filter{display:flex;align-items:center;gap:10px;background:#fff;padding:10px 12px;border-radius:10px;box-shadow:0 2px 6px #0000001a}.admin-year-filter label{font-weight:600;color:#333}.admin-year-filter .input{min-width:120px;padding:8px 10px}.filter-tabs{display:flex;gap:12px;margin-bottom:30px;background:#fff;padding:12px;border-radius:12px;box-shadow:0 2px 6px #0000001a}.tab{flex:1;padding:12px 24px;border:2px solid #e0e0e0;background:#fff;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.tab:hover{border-color:#667eea;background:#f8f9ff}.tab.active{background:#667eea;color:#fff;border-color:#667eea}.reports-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.report-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.report-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.report-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.report-header h3{margin:0 0 8px;color:#333;font-size:18px}.report-meta{margin:0;color:#666;font-size:14px}.status-badge{padding:6px 12px;border-radius:20px;font-size:14px;font-weight:600;white-space:nowrap}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.approved{background:#d4edda;color:#155724}.report-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.summary-item{display:flex;justify-content:space-between;padding:12px;background:#f8f9fa;border-radius:8px}.report-actions{display:flex;gap:12px}.report-actions .button{flex:1;padding:10px;font-size:14px}.no-reports{text-align:center;padding:60px 20px;color:#fff;font-size:18px;background:#ffffff1a;border-radius:12px}.loading{text-align:center;color:#fff;font-size:18px;padding:40px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #f0f0f0}.modal-header h2{margin:0;color:#333;font-size:24px}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s ease}.close-button:hover{background:#f0f0f0}.modal-body{padding:24px}.detail-row{display:grid;grid-template-columns:150px 1fr;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.detail-row label{font-weight:600;color:#333}.detail-row span,.detail-row p{color:#666;margin:0}.detail-row .text-success{color:#28a745;font-weight:600}.detail-row .text-warning{color:#ffc107;font-weight:600}.modal-body h3{margin:24px 0 16px;color:#333;font-size:20px}.receipts-section{margin-top:20px}.receipts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.receipt-thumb{display:flex;flex-direction:column;gap:8px;border:1px solid #e3e7ef;border-radius:10px;background:#fff;padding:8px;text-align:left;cursor:pointer}.receipt-thumb:disabled{opacity:.6;cursor:default}.receipt-thumb img,.receipt-thumb-fallback{width:100%;height:100px;border-radius:8px;object-fit:cover;background:#f3f5f9;display:flex;align-items:center;justify-content:center;color:#6d7788;font-size:13px}.receipt-thumb span{font-size:12px;color:#333;word-break:break-word}.receipt-preview-modal{background:#fff;border-radius:16px;max-width:960px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 10px 40px #0000004d}.receipt-preview-body{padding:18px;display:flex;justify-content:center;align-items:center;background:#f7f9fc}.receipt-preview-body img{max-width:100%;max-height:72vh;object-fit:contain;border-radius:10px;background:#fff}.detail-table{width:100%;border-collapse:collapse;margin:16px 0}.detail-table th,.detail-table td{padding:12px;border:1px solid #e0e0e0;text-align:left}.detail-table th{background:#f8f9fa;font-weight:600;color:#333}.detail-table tfoot td{background:#f8f9fa;font-weight:600}.modal-footer{display:flex;gap:12px;padding:24px;border-top:2px solid #f0f0f0;justify-content:flex-end}@media (max-width: 768px){.reports-grid{grid-template-columns:1fr}.filter-tabs{flex-direction:column}.detail-row{grid-template-columns:1fr;gap:8px}}.admin-hub-page{width:100%;min-height:100vh;background-color:#f5f5f5;padding:20px}.back-button{padding:8px 16px;background-color:#e0e0e0;border:none;border-radius:4px;cursor:pointer;font-size:14px;color:#333;transition:background-color .3s ease}.admin-menu{background-color:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.admin-menu h2{font-size:24px;color:#333;margin:0 0 30px;text-align:center}.admin-buttons{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:30px;background-color:#f0f0f0;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease;text-decoration:none;color:#333;font-weight:600;font-size:16px;min-height:150px}.admin-button:hover:not(.coming-soon){background-color:#e8e8e8;border-color:#b0b0b0;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.admin-button.coming-soon{opacity:.6;cursor:not-allowed}.button-icon{font-size:32px}.button-text{text-align:center;line-height:1.4}.admin-form-section{background-color:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.admin-form-section h2{font-size:24px;color:#333;margin:0 0 30px}.admin-form-section .back-button{margin-bottom:20px}.admin-form{max-width:500px;margin:0 auto}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color .3s ease}.input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.button{width:100%;padding:12px 24px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .3s ease;justify-content:center;text-align:center}.button:hover:not(:disabled){background-color:#45a049}.button:disabled{background-color:#ccc;cursor:not-allowed}.success{background-color:#d4edda;color:#155724;padding:12px 16px;border-radius:4px;margin-bottom:20px;border:1px solid #c3e6cb}.error{background-color:#f8d7da;color:#721c24;padding:12px 16px;border-radius:4px;margin-bottom:20px;border:1px solid #f5c6cb}.rate-info-box{margin-bottom:16px;padding:12px;border:1px solid #d9dee5;border-radius:6px;background:#f8fafc}.rate-info-box p{margin:0;color:#2f3b45}.rate-info-box p+p{margin-top:8px}.rate-fallback-note{color:#8a5a00}.rate-set-note{color:#116329}@media (max-width: 600px){.admin-buttons{grid-template-columns:1fr}.admin-menu,.admin-form-section{padding:20px}.page-header{flex-direction:column;align-items:flex-start}.page-header h1{font-size:20px}}.operations-page{width:100%;min-height:100vh;background-color:#f5f5f5;padding:20px}.page-header h1{margin:0;font-size:28px;color:#333}.back-button{padding:8px 16px;background-color:#e0e0e0;border:none;border-radius:4px;cursor:pointer;font-size:14px;color:#333;transition:background-color .3s ease;white-space:nowrap}.container{max-width:900px;margin:0 auto}.operations-menu{background-color:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.operations-menu h2{font-size:24px;color:#333;margin:0 0 30px;text-align:center}.operations-buttons{display:grid;grid-template-columns:1fr 1fr;gap:20px}.operations-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:36px 20px;background-color:#f8f8f8;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:all .2s ease;color:#333;font-weight:600;font-size:16px}.operations-button:hover{background-color:#e8f4e8;border-color:#4caf50;color:#2e7d32;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5033}.ops-icon{font-size:36px}@media (max-width: 600px){.operations-buttons{grid-template-columns:1fr}}.page-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;background-color:#fff;padding:16px 20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.page-header h1{margin:0;flex:1;font-size:22px;color:#333}.header-right{display:flex;align-items:center;gap:10px}.progress-badge{background:#e8f5e9;color:#2e7d32;font-weight:700;font-size:14px;padding:4px 12px;border-radius:20px;border:1px solid #a5d6a7;white-space:nowrap}.print-button{padding:8px 18px;background-color:#4caf50;border:none;border-radius:4px;cursor:pointer;font-size:14px;color:#fff;font-weight:600;transition:background-color .2s ease;white-space:nowrap}.live-banner{background:#fff;border-radius:8px;padding:20px 24px;margin-bottom:20px;box-shadow:0 1px 4px #00000014;border-left:4px solid #e0e0e0}.live-banner--active{border-left-color:#4caf50;background:#f1f8f1}.create-checklist-prompt{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.create-checklist-prompt strong{font-size:16px;color:#333;display:block;margin-bottom:4px}.create-checklist-prompt p{margin:0;font-size:14px;color:#666}.create-button{padding:12px 24px;background-color:#4caf50;border:none;border-radius:6px;cursor:pointer;font-size:15px;color:#fff;font-weight:700;white-space:nowrap;transition:background-color .2s ease;flex-shrink:0}.create-button:hover:not(:disabled){background-color:#388e3c}.create-button:disabled{opacity:.6;cursor:default}.live-indicator{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.live-dot{width:10px;height:10px;background-color:#4caf50;border-radius:50%;display:inline-block;animation:pulse 1.5s infinite;flex-shrink:0}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.live-indicator strong{font-size:15px;color:#2e7d32}.live-sub{font-size:12px;color:#888}.live-actions{display:flex;align-items:center;gap:12px}.progress-bar-wrap{flex:1;height:8px;background:#c8e6c9;border-radius:4px;overflow:hidden;min-width:120px}.progress-bar{height:100%;background:#4caf50;border-radius:4px;transition:width .4s ease}.reset-button{padding:6px 14px;background:transparent;border:1px solid #aaa;border-radius:4px;cursor:pointer;font-size:13px;color:#555;white-space:nowrap;transition:all .2s}.reset-button:hover:not(:disabled){background:#ffeaea;border-color:#e53935;color:#c62828}.loading-banner{background:#fff;border-radius:8px;padding:16px 24px;margin-bottom:20px;color:#888;font-size:14px}.closing-section{background-color:#fff;border-radius:8px;padding:20px 24px;margin-bottom:16px;box-shadow:0 1px 4px #00000014}.closing-section h2{font-size:17px;color:#2e7d32;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid #e8f5e9}.closing-section h3{font-size:12px;color:#777;text-transform:uppercase;letter-spacing:.5px;margin:16px 0 8px;font-weight:700}.checklist-item{display:flex;align-items:flex-start;gap:10px;padding:8px 6px;border-radius:6px;margin-bottom:2px;transition:background .15s;cursor:default}.checklist-item.live{cursor:pointer}.checklist-item.live:hover{background:#f0f7f0}.checklist-item.live:active{background:#d8eed8}.checklist-item.checked .item-label{text-decoration:line-through;color:#aaa}.checklist-item.checked{background:#f9fef9}.checklist-item.pending{opacity:.6}.check-box{width:22px;height:22px;flex-shrink:0;border:2px solid #bbb;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#4caf50;background:#fff;margin-top:1px;transition:border-color .15s,background .15s}.checklist-item.checked .check-box{border-color:#4caf50;background:#e8f5e9}.item-label{flex:1;font-size:14px;color:#333;line-height:1.5}.checked-by{font-size:11px;color:#4caf50;white-space:nowrap;margin-top:3px;flex-shrink:0}.closing-notes{background-color:#fff;border-radius:8px;padding:20px 24px;margin-bottom:20px;box-shadow:0 1px 4px #00000014}.closing-notes h2{font-size:17px;color:#2e7d32;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e8f5e9}.closing-print-header h1{font-size:20px;margin:0 0 6px}.print-date{font-size:13px;color:#555;margin:0}@media (max-width: 600px){.closing-page{padding:12px}.page-header{padding:12px 14px}.page-header h1{font-size:18px}.checklist-item{padding:10px 6px}.check-box{width:26px;height:26px;font-size:16px}.item-label{font-size:15px}.create-checklist-prompt{flex-direction:column;align-items:flex-start}.create-button{width:100%;text-align:center}}@media print{body{background:#fff!important;font-size:11px}.closing-page{background:#fff;padding:0}.no-print{display:none!important}.print-only{display:block!important}.closing-container{max-width:100%}.closing-intro{border-left:3px solid #999;background:#f9f9f9;-webkit-print-color-adjust:exact;print-color-adjust:exact}.closing-section{box-shadow:none;border:1px solid #ddd;break-inside:avoid;padding:10px 14px;margin-bottom:10px}.closing-section h2{font-size:13px;color:#000;border-bottom:1px solid #ccc;margin-bottom:8px}.closing-section h3{font-size:11px;color:#333;margin:10px 0 5px}.checklist-item{padding:3px 2px}.item-label{font-size:10px}.check-box{width:14px;height:14px;border:1px solid #999;border-radius:2px;font-size:10px}.checked-by{display:none}.closing-notes{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.closing-notes h2{font-size:13px;color:#000}.closing-footer{display:block!important;margin-top:14px}}.closing-page{width:100%;min-height:100vh;background-color:#f5f5f5;padding:20px}.page-header{display:flex;align-items:center;gap:20px;margin-bottom:30px;background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.page-header h1{margin:0;flex:1;font-size:26px;color:#333}.back-button{padding:8px 16px;background-color:#e0e0e0;border:none;border-radius:4px;cursor:pointer;font-size:14px;color:#333;transition:background-color .2s ease;white-space:nowrap}.back-button:hover{background-color:#d0d0d0}.print-button{padding:8px 20px;background-color:#4caf50;border:none;border-radius:4px;cursor:pointer;font-size:14px;color:#fff;font-weight:600;transition:background-color .2s ease;white-space:nowrap}.print-button:hover{background-color:#388e3c}.closing-container{max-width:860px;margin:0 auto}.closing-intro{background:#fff8e1;border-left:4px solid #ffc107;padding:14px 18px;border-radius:4px;margin-bottom:24px;font-size:15px;color:#555}.closing-section{background-color:#fff;border-radius:8px;padding:24px 28px;margin-bottom:20px;box-shadow:0 1px 4px #00000014}.closing-section h2{font-size:18px;color:#2e7d32;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e8f5e9}.closing-section h3{font-size:14px;color:#555;text-transform:uppercase;letter-spacing:.5px;margin:18px 0 10px;font-weight:700}.checklist{list-style:none;padding:0;margin:0}.checklist li{margin-bottom:8px}.checklist label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px;color:#333;line-height:1.5}.checklist input[type=checkbox]{margin-top:2px;flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:#4caf50}.closing-notes{background-color:#fff;border-radius:8px;padding:24px 28px;margin-bottom:20px;box-shadow:0 1px 4px #00000014}.closing-notes h2{font-size:18px;color:#2e7d32;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e8f5e9}.notes-lines{display:flex;flex-direction:column;gap:24px}.note-line{border-bottom:1px solid #ccc;min-height:24px}.print-only{display:none}.closing-print-header{text-align:center;margin-bottom:24px}.closing-print-header h1{font-size:22px;margin:0 0 6px}.print-date{font-size:14px;color:#555;margin:0}.closing-footer{text-align:center;font-size:12px;color:#888;margin-top:20px}@media print{body{background:#fff!important;font-size:12px}.closing-page{background:#fff;padding:0}.no-print{display:none!important}.print-only{display:block!important}.closing-container{max-width:100%}.closing-intro{border-left:3px solid #999;background:#f9f9f9;-webkit-print-color-adjust:exact;print-color-adjust:exact}.closing-section{box-shadow:none;border:1px solid #ddd;break-inside:avoid;padding:14px 18px;margin-bottom:12px}.closing-section h2{font-size:14px;color:#000;border-bottom:1px solid #ccc;margin-bottom:10px}.closing-section h3{font-size:11px;color:#333;margin:12px 0 6px}.checklist label{font-size:11px;margin-bottom:4px}.checklist input[type=checkbox]{width:12px;height:12px}.closing-notes{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.closing-notes h2{font-size:14px;color:#000}.closing-footer{display:block!important;margin-top:16px}}.App{min-height:100vh;background:transparent}.container{max-width:1200px;margin:0 auto;padding:20px}.page{min-height:100vh;padding:20px}.card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:24px;margin-bottom:20px}.button{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}.button:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.button:active{transform:translateY(0)}.button-secondary{background:#6c757d}.button-secondary:hover{background:#5a6268}.button-primary{background:#667eea}.button-primary:hover{background:#5568d3}.input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s ease}.input:focus{outline:none;border-color:#667eea}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.error{color:#dc3545;font-size:14px;margin-top:4px}.success{color:#28a745;font-size:14px;margin-top:4px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:url(/Empress.jpg);background-size:cover;background-position:center center;background-attachment:fixed;background-repeat:no-repeat;background-color:#2d3a2e;min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:0;pointer-events:none}#root{min-height:100vh;position:relative;z-index:1}
