:root{--color-primary: #0f3d20;--color-primary-light: #1a7a3c;--color-primary-dark: #0a2916;--color-accent: #c98a2c;--color-accent-light: #f2e2c2;--color-bg: #f7f7f2;--color-surface: #ffffff;--color-text: #201e1a;--color-text-muted: #6b6a63;--color-border: #e3e1d8;--color-danger: #c0392b;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(20, 20, 10, .08);--shadow-md: 0 4px 16px rgba(20, 20, 10, .1);--shadow-lg: 0 12px 32px rgba(20, 20, 10, .16);--font-display: "Fraunces", "Georgia", serif;--font-body: "Inter", "Segoe UI", Roboto, Arial, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);color:var(--color-primary);letter-spacing:-.01em;line-height:1.15}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-primary{background:var(--color-primary-light);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;transition:background .15s ease,transform .1s ease}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{background:#b7c9bd;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--color-primary-light);border:1px solid var(--color-primary-light);padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;transition:background .15s ease}.btn-secondary:hover:not(:disabled){background:#eef6f0}.btn-secondary:disabled{color:#aaa;border-color:#ddd;cursor:not-allowed}.container{max-width:none;width:100%;margin:0;padding:0 24px;box-sizing:border-box}@media (max-width: 1080px){.container{padding:0 16px}}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-green{background:#e2f6e8;color:#1a7a3c}.badge-orange{background:#fff3e0;color:#b26a00}.badge-grey{background:#eee;color:#666}.badge-blue{background:#e6f0ff;color:#1a4d99}.badge-red{background:#fdecea;color:#c0392b}.badge-shuffle{background:linear-gradient(135deg,#ffe1e1,#fff3cf);color:#8a4b00;margin-left:6px}.error-text{color:var(--color-danger);font-size:14px;margin-top:6px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:600;font-size:14px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:var(--radius-sm);font-size:15px;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-primary-light)}.card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.auth-wrap{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-card{width:100%;max-width:420px;padding:32px}.auth-card h2{margin-top:0;color:var(--color-primary)}.switch-link{text-align:center;margin-top:16px;font-size:14px}.switch-link a{color:var(--color-primary-light);font-weight:600}.forgot-link{text-align:right;font-size:13px;margin:-8px 0 16px}.forgot-link a{color:var(--color-primary-light);font-weight:600}@media (max-width: 768px){.container{padding:0 10px}h1{font-size:26px}h2{font-size:21px}}@media (max-width: 480px){.auth-card{padding:22px}.btn-primary,.btn-secondary{padding:10px 16px;font-size:14px}}.app-main{min-height:calc(100vh - 64px)}.pw-wrap{position:relative}.pw-wrap input{padding-right:46px!important}.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;height:34px;border:none;background:none;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.pw-eye:hover{background:#f1f1ec;color:var(--color-primary)}.pw-eye svg{width:20px;height:20px}.admin-wrap{padding-top:26px;padding-bottom:30px}.page-sub{color:var(--color-text-muted);margin:-6px 0 18px;font-size:14.5px}.tabs{display:flex;gap:6px;margin:0 0 18px;border-bottom:2px solid var(--color-border);overflow-x:auto}.tabs button{background:none;border:none;padding:10px 16px;font-weight:600;color:var(--color-text-muted);border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;font-size:14.5px}.tabs button.active{color:var(--color-primary);border-bottom-color:var(--color-accent)}.tabs .count{background:#eee;border-radius:10px;padding:1px 7px;font-size:12px;margin-left:4px}.tabs button.active .count{background:#ffffffe6;color:var(--color-primary);font-weight:700}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px}.filter-bar label{display:flex;flex-direction:column;font-size:12.5px;font-weight:600;color:var(--color-text-muted);gap:4px}.filter-bar input,.filter-bar select{padding:8px 10px;border:1px solid #ccc;border-radius:var(--radius-sm);font-size:14px;font-family:inherit;background:#fff}.btn-sm{padding:6px 12px!important;font-size:13px!important}.btn-danger{background:var(--color-danger);color:#fff;border:none;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600}.btn-danger:disabled{opacity:.5}.danger{color:var(--color-danger)!important;border-color:var(--color-danger)!important}.hint{color:var(--color-text-muted);font-size:12.5px;margin:4px 0 0}.ok-text{color:var(--color-primary-light);font-size:14px;margin-top:6px}.modal-backdrop{position:fixed;inset:0;background:#0000008c;z-index:1500;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:900px;max-height:calc(100vh - 32px);overflow:auto;box-shadow:var(--shadow-lg)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:#fff;z-index:1}.modal-head h3{margin:0}.modal-body{padding:18px 20px}.modal-close{width:34px;height:34px;border-radius:50%;border:none;background:#f0f0ea;font-size:15px}.badge-purple{background:#f0e8ff;color:#6a3fb5}.swal2-container{z-index:5000!important}.tnv-swal{border-radius:14px!important;font-family:var(--font-body)!important}.tnv-swal .swal2-title{font-family:var(--font-display)!important;color:var(--color-primary)!important;font-size:1.5em!important}.tnv-swal .swal2-html-container{color:#444!important;font-size:1em!important;line-height:1.55!important}.tnv-swal .swal2-actions button{border-radius:8px!important;font-weight:700!important;padding:10px 22px!important}.tnv-swal .swal-detail{text-align:left;background:#f4f6f2;border-radius:8px;padding:10px 14px;margin-top:10px;font-size:14px}.tnv-swal .swal-detail div{display:flex;justify-content:space-between;gap:10px;padding:3px 0}.tnv-swal .swal-detail b{color:var(--color-primary)}.auth-logo{display:block;width:130px;height:auto;margin:0 auto 10px}body.has-bottom-nav{padding-bottom:calc(68px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))}body.has-bottom-nav .back-to-top{bottom:calc(84px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))!important}body.menu-open{overflow:hidden}body.menu-open .bottom-nav{display:none!important}body.has-bottom-nav .um-dropdown{max-height:calc(100vh - 150px - var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))!important}.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;margin:6px 0 8px;padding:10px;border-radius:8px;background:#f6f7f3;border:1px solid transparent;cursor:pointer}.consent input{width:18px;height:18px;flex:0 0 18px;margin-top:1px}.consent a{color:var(--color-primary-light);font-weight:600}.consent.invalid{border-color:var(--color-danger);background:#fff5f4}.consent.optional{background:none;padding:4px 10px}.consent small{color:#888}.req{color:var(--color-danger)}.consent-err{margin:-4px 0 8px;font-size:13px}.offline-bar{position:fixed;left:0;right:0;top:0;z-index:4100;background:#8a2a20;color:#fff;text-align:center;padding:calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px))) 12px 8px;font-size:13.5px;font-weight:600}.offline-bar u{color:#ffd9d4}.sys-status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#cfd8e3}.sys-status i{width:9px;height:9px;border-radius:50%;background:#9aa5b1;display:inline-block}.sys-status.ok i{background:#3ddc84;box-shadow:0 0 0 3px #3ddc8433}.sys-status.degraded i{background:#f2c14e}.sys-status.down i{background:#ff6b5b}body.lang-ta{line-height:1.6}body.lang-ta,body.lang-ta input,body.lang-ta select,body.lang-ta textarea,body.lang-ta button,body.lang-ta h1,body.lang-ta h2,body.lang-ta h3,body.lang-ta h4{font-family:"Noto Sans Tamil","Latha","Vijaya",var(--font-body),sans-serif}body.lang-ta h1{letter-spacing:0}body.lang-hi,body.lang-hi input,body.lang-hi select,body.lang-hi textarea,body.lang-hi button,body.lang-hi h1,body.lang-hi h2,body.lang-hi h3{font-family:"Noto Sans Devanagari",var(--font-body),sans-serif}body.lang-kn,body.lang-kn input,body.lang-kn select,body.lang-kn textarea,body.lang-kn button,body.lang-kn h1,body.lang-kn h2,body.lang-kn h3{font-family:"Noto Sans Kannada",var(--font-body),sans-serif}body.lang-ml,body.lang-ml input,body.lang-ml select,body.lang-ml textarea,body.lang-ml button,body.lang-ml h1,body.lang-ml h2,body.lang-ml h3{font-family:"Noto Sans Malayalam",var(--font-body),sans-serif}body.lang-hi,body.lang-kn,body.lang-ml{line-height:1.6}
