:root{--primary-hue: 150;--secondary-hue: 220;--color-primary: hsl(var(--primary-hue), 100%, 35%);--color-primary-light: hsl(var(--primary-hue), 100%, 45%);--color-primary-dark: hsl(var(--primary-hue), 100%, 25%);--color-secondary: hsl(var(--secondary-hue), 90%, 50%);--color-accent: hsl(340, 90%, 60%);--color-bg-body: hsl(220, 30%, 98%);--color-bg-surface: hsl(0, 0%, 100%);--color-bg-glass: hsla(0, 0%, 100%, .8);--color-text-main: hsl(220, 50%, 20%);--color-text-muted: hsl(220, 30%, 50%);--color-text-light: hsl(0, 0%, 100%);--color-text: var(--color-text-main);--shadow-sm: 0 2px 4px hsla(220, 20%, 10%, .05);--shadow-md: 0 4px 12px hsla(220, 20%, 10%, .08);--shadow-lg: 0 12px 24px hsla(220, 20%, 10%, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--border-width: 1px;--border-color: hsla(220, 14%, 88%, .55);--color-bg-subtle: hsl(220, 25%, 96%);--glass-border: 1px solid var(--border-color);--glass-backdrop: blur(12px);--header-height: 70px;--sidebar-width: 260px;--sidebar-collapsed-width: 70px}@media(max-width:768px){:root{--header-height: 60px}}@media(prefers-color-scheme:dark){:root{--color-bg-body: hsl(220, 40%, 10%);--color-bg-surface: hsl(220, 40%, 14%);--color-bg-glass: hsla(220, 40%, 14%, .7);--color-text-main: hsl(220, 20%, 95%);--color-text-muted: hsl(220, 20%, 70%);--shadow-sm: 0 2px 4px hsla(0, 0%, 0%, .2);--shadow-md: 0 4px 12px hsla(0, 0%, 0%, .3);--border-color: hsla(220, 12%, 38%, .45);--color-bg-subtle: hsl(220, 35%, 18%);--glass-border: 1px solid var(--border-color)}}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{font-family:var(--font-sans);background-color:var(--color-bg-body);color:var(--color-text-main);line-height:1.6;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}body::-webkit-scrollbar{display:none}.page-content{scrollbar-width:none;-ms-overflow-style:none}.page-content::-webkit-scrollbar{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}button{cursor:pointer;border:none;font-family:inherit;transition:all .2s ease}a{text-decoration:none;color:inherit}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.animate-slide-in-up{animation:slideInUp .5s ease-out forwards}.animate-slide-in-down{animation:slideInDown .5s ease-out forwards}.animate-slide-in-left{animation:slideInLeft .5s ease-out forwards}.animate-slide-in-right{animation:slideInRight .5s ease-out forwards}.animate-scale-in{animation:scaleIn .3s ease-out forwards}.animate-fade-scale{animation:fadeInScale .4s ease-out forwards}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-shimmer{animation:shimmer 2s infinite;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:1000px 100%}.animate-bounce-in{animation:bounceIn .6s ease-out forwards}.animate-shake{animation:shake .5s ease-in-out forwards}.animate-spin{animation:spin 1s linear infinite}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.glass-panel{background:var(--color-bg-glass);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:var(--glass-border);box-shadow:var(--shadow-md);border-radius:var(--radius-md)}.text-gradient{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:#fff;padding:.6rem 1.2rem;border-radius:var(--radius-sm);font-weight:600;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.35rem;white-space:nowrap}.btn-primary:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-lg)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--color-bg-surface);color:var(--color-text-main);padding:.6rem 1.2rem;border:var(--border-width) solid var(--border-color);border-radius:var(--radius-sm);font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.35rem;white-space:nowrap}.btn-secondary:hover{background:var(--color-bg-body);border-color:var(--color-primary);transform:translateY(-1px)}.card{background:var(--color-bg-surface);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);will-change:transform}.card:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-lg)}.time-with-ampm{display:flex;align-items:center;gap:.5rem;width:100%}.time-with-ampm-clock{flex:1;min-width:0}.time-with-ampm-period{flex:0 0 auto;min-width:4.5rem;padding:.6rem .5rem}input:where(:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]):not([type=color]):not([type=submit]):not([type=button]):not([type=reset])),select,textarea{border:var(--border-width) solid var(--border-color);border-radius:var(--radius-sm);padding:.6rem .75rem;font-family:inherit;font-size:.95rem;color:var(--color-text-main);background-color:var(--color-bg-surface);box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}input:read-only:not([type=date]):not([type=time]):not([type=datetime-local]),input[disabled],select[disabled],textarea[disabled]{background-color:var(--color-bg-subtle);cursor:not-allowed;opacity:.85}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px hsla(var(--primary-hue),100%,50%,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:300px;height:300px}.app-modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;min-height:100vh;z-index:10000;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box;margin:0}.app-modal-overlay.um-modal-overlay-scroll{align-items:flex-start;overflow-y:auto;padding:1.5rem 1rem}.table-empty{text-align:center!important;padding:2rem 1rem!important;color:var(--color-text-muted)}.form-modal{--form-modal-accent: hsl(var(--primary-hue), 60%, 45%);--form-modal-accent-bg: hsla(var(--primary-hue), 60%, 96%, 1);background:var(--color-bg-surface);border-radius:14px;width:min(560px,95vw);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 50px #0000002e;border:1px solid var(--border-color)}.form-modal--primary{--form-modal-accent: #2563eb;--form-modal-accent-bg: #eff6ff}.form-modal--violet{--form-modal-accent: #7c3aed;--form-modal-accent-bg: #f5f3ff}.form-modal--lg{width:min(640px,95vw)}.form-modal--wide{width:min(800px,95vw)}.form-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);background:linear-gradient(180deg,var(--form-modal-accent-bg) 0%,var(--color-bg-surface) 100%)}.form-modal-header-text{display:flex;align-items:flex-start;gap:.85rem;min-width:0}.form-modal-icon{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:10px;color:var(--form-modal-accent);background:var(--color-bg-surface);border:1px solid var(--border-color)}.form-modal-header h2{margin:0;font-size:1.15rem;font-weight:700;color:var(--color-text-main)}.form-modal-subtitle{margin:.2rem 0 0;font-size:.85rem;color:var(--color-text-muted);line-height:1.4}.form-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer;flex-shrink:0}.form-modal-close:hover{background:var(--color-bg-subtle);color:var(--color-text-main)}.form-modal-tabs{display:flex;gap:.5rem;padding:.85rem 1.5rem 0;border-bottom:1px solid var(--border-color)}.form-modal-tab{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .9rem;border:1px solid var(--border-color);border-radius:8px 8px 0 0;border-bottom:none;background:var(--color-bg-subtle);color:var(--color-text-muted);cursor:pointer;font-size:.875rem;font-weight:600;margin-bottom:-1px}.form-modal-tab.active{background:var(--color-bg-surface);color:var(--form-modal-accent);border-color:var(--border-color);border-bottom-color:var(--color-bg-surface)}.form-modal-body{padding:1.25rem 1.5rem 1.5rem;overflow-y:auto;flex:1;min-height:0}.form-modal-section{border:none;margin:0 0 1.25rem;padding:0}.form-modal-section:last-of-type{margin-bottom:0}.form-modal-section-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.75rem}.form-modal-grid{display:grid;grid-template-columns:repeat(var(--form-modal-cols, 2),1fr);gap:.85rem 1rem}.form-modal-field--full{grid-column:1 / -1}.form-modal-label{display:flex;align-items:center;gap:.3rem;font-weight:600;font-size:.875rem;margin-bottom:0}.form-modal-label-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.field-add-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;font-weight:600;color:var(--color-primary);text-decoration:none;white-space:nowrap}.field-add-link:hover{text-decoration:underline}.form-group-label-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.form-group-label-row label{margin-bottom:0}.form-modal-hint{display:block;margin-top:.3rem;font-size:.78rem;color:var(--color-text-muted)}.form-modal-input,.form-modal-field input,.form-modal-field select,.form-modal-field textarea,.hr-field input,.hr-field select,.hr-field textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--color-bg-surface);box-sizing:border-box}.form-modal-input:focus,.form-modal-field input:focus,.form-modal-field select:focus,.form-modal-field textarea:focus{outline:none;border-color:var(--form-modal-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--form-modal-accent) 18%,transparent)}.form-modal-field input:disabled,.form-modal-field select:disabled{opacity:.65;cursor:not-allowed}.form-modal-amount-wrap{display:flex;align-items:stretch}.form-modal-amount-prefix{display:flex;align-items:center;padding:0 .75rem;background:var(--color-bg-subtle);border:1px solid var(--border-color);border-right:none;border-radius:8px 0 0 8px;color:var(--color-text-muted);font-weight:600}.form-modal-amount-wrap .form-modal-input,.form-modal-amount-wrap input{border-radius:0 8px 8px 0;flex:1}.form-modal-pills{display:flex;gap:.4rem;flex-wrap:wrap}.form-modal-pill{flex:1;min-width:72px;padding:.55rem .5rem;border:1px solid var(--border-color);border-radius:8px;background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:.85rem;font-weight:600;cursor:pointer}.form-modal-pill.active{background:var(--form-modal-accent-bg);color:var(--form-modal-accent);border-color:color-mix(in srgb,var(--form-modal-accent) 35%,var(--border-color))}.form-modal-footer{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-color)}.hr-btn-primary{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}.hr-btn-secondary{padding:.6rem 1rem;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;background:var(--color-bg-subtle);display:inline-flex;align-items:center;gap:.4rem}@media(max-width:560px){.form-modal-grid{grid-template-columns:1fr}.form-modal-tabs,.form-modal-header,.form-modal-body{padding-left:1rem;padding-right:1rem}}.input-wrapper{position:relative;display:block;width:100%}.input-wrapper .input-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;z-index:1}.input-wrapper:focus-within .input-icon{color:var(--color-primary)}.page-content table,.page-content .data-table,.page-content .hr-table,.page-content .um-table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:auto;font-size:.9rem}.page-content table th,.page-content table td,.page-content .data-table th,.page-content .data-table td,.page-content .hr-table th,.page-content .hr-table td,.page-content .um-table th,.page-content .um-table td{padding:.75rem 1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border-color);white-space:nowrap}.page-content table th,.page-content .data-table th,.page-content .hr-table th,.page-content .um-table th{font-weight:600;color:var(--color-text-muted);font-size:.8rem;text-transform:none;letter-spacing:.01em;background:#f3f4f7a6}.page-content table tbody tr:hover{background:#f6f7f9d9}.page-content table tbody tr:last-child td{border-bottom:none}.page-content table .cell-wrap,.page-content table td.cell-wrap,.page-content table th.cell-wrap{white-space:normal;max-width:22rem;word-break:break-word}.app-table-wrap,.table-responsive,.page-content [class*=-table-wrap],.page-content .history-table-wrap,.page-content .table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.page-content table .text-right,.page-content table th.text-right,.page-content table td.text-right{text-align:right}.page-content table .text-center,.page-content table th.text-center,.page-content table td.text-center{text-align:center}.app-pagination,.history-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;width:100%;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-color)}.app-pagination-meta,.history-pagination-meta{font-size:.85rem;color:var(--color-text-muted);white-space:nowrap}.app-pagination-controls,.history-pagination-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:nowrap}.app-pagination-limit,.history-limit-select{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-muted);white-space:nowrap}.app-pagination-limit select,.history-limit-select select{padding:.35rem .5rem;border:var(--border-width) solid var(--border-color);border-radius:var(--radius-sm)}.app-pagination-btn,.history-page-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--color-bg-subtle);cursor:pointer;flex-shrink:0}.app-pagination-btn:disabled,.history-page-btn:disabled{opacity:.45;cursor:not-allowed}.app-pagination-indicator,.history-page-indicator{font-size:.85rem;color:var(--color-text-muted);min-width:3.5rem;text-align:center;white-space:nowrap}.overflow-x-auto{overflow-x:auto;-webkit-overflow-scrolling:touch}img,video,canvas,svg{max-width:100%}@media(max-width:768px){input,select,textarea{max-width:100%;font-size:16px}.card{padding:1rem}.btn-primary,.btn-secondary{padding:.55rem 1rem}.app-pagination,.history-pagination{flex-direction:column;align-items:stretch}.app-pagination-controls,.history-pagination-controls{justify-content:space-between;width:100%}.page-content .data-table-wrap,.page-content .table-responsive,.page-content .overflow-x-auto{margin-inline:-.25rem;padding-inline:.25rem}}
