:root{--primary:#50006c;--primary-light:#6e1491;--primary-bg:#50006c0f;--cream:#f5e8da;--pink:#ce8ca5;--pink-bg:#ce8ca51a;--text:#2d2d2d;--text-muted:#555;--text-light:#888;--white:#fff;--bg:#f8f6fa;--border:#e4dfe8;--red:#c0392b;--red-bg:#fdf0ee;--green:#28a745;--green-bg:#28a7451a;--amber:#b8860b;--amber-bg:#d4a8531f;--radius:16px;--radius-sm:10px;--font-display:"DM Serif Display",Georgia,serif;--font-body:"Nunito Sans",sans-serif;--shadow-sm:0 1px 3px #50006c0f;--shadow-md:0 4px 16px #50006c1a;--shadow-lg:0 8px 32px #50006c24}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f6fa;color:#2d2d2d;font-family:Nunito Sans,sans-serif;font-size:16px;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.navbar{background-color:#3a1535;border-bottom:1px solid #e8d5c426;padding:1rem 2rem}.navbar-container{justify-content:space-between;width:100%}.navbar-container,.navbar-logo-link{align-items:center;display:flex}.navbar-logo{height:60px;width:auto}.navbar-spacer{flex:1 1}.navbar-menu{align-items:center;display:flex;gap:1.5rem}.navbar-home-btn{background-color:initial;border:1px solid #e8d5c480;border-radius:50px;color:#e8d5c4;font-weight:500;padding:.5rem 1.25rem;text-decoration:none;transition:all .3s ease}.navbar-home-btn:hover{background-color:#e8d5c4;color:#3a1535}.navbar-link{color:#e8d5c4b3;font-weight:500;text-decoration:none;transition:color .3s ease}.navbar-link:hover,.navbar-user{color:#e8d5c4}.navbar-user{align-items:center;display:flex;font-size:.9rem;gap:.5rem}.navbar-button{background-color:initial;border:1px solid #e8d5c480;border-radius:50px;color:#e8d5c4;cursor:pointer;font-weight:500;padding:.5rem 1.25rem;transition:all .3s ease}.navbar-button:hover{background-color:#e8d5c4;color:#3a1535}.navbar-button-link{background-color:initial;border:1px solid #e8d5c480;border-radius:50px;color:#e8d5c4;font-weight:500;padding:.5rem 1.25rem;text-decoration:none;transition:all .3s ease}.navbar-button-link:hover{background-color:#e8d5c4;color:#3a1535}.admin-link{color:#e8d5c4;font-weight:600}.admin-link:hover{opacity:.8}.role-badge{border-radius:4px;font-size:.7rem;font-weight:600;padding:.2rem .5rem;text-transform:uppercase}.admin-badge{background-color:#e8d5c433;border:1px solid #e8d5c466;color:#e8d5c4}.user-badge{background-color:#e8d5c41a;border:1px solid #e8d5c44d;color:#e8d5c4}@media (max-width:768px){.navbar{padding:1rem}.navbar-container{flex-direction:column;gap:.75rem;padding-right:0}.navbar-spacer{display:none}.navbar-menu{align-items:center;flex-direction:column;gap:.5rem;width:100%}.navbar-button,.navbar-button-link,.navbar-home-btn,.navbar-link{text-align:center;width:100%}}.dashboard-layout{display:flex;height:100vh;overflow:hidden}.sidebar{background:var(--primary);display:flex;flex-direction:column;flex-shrink:0;width:268px;z-index:100}.sidebar-brand{border-bottom:1px solid #ffffff1f;padding:28px 24px 20px}.sb-logo{margin-bottom:22px}.sb-logo-link{gap:11px;text-decoration:none}.sb-logo-icon,.sb-logo-link{align-items:center;display:flex}.sb-logo-icon{background:#ffffff26;border-radius:12px;height:42px;justify-content:center;overflow:hidden;width:42px}.sb-logo-icon img{height:30px;object-fit:contain;width:30px}.sb-logo-text{color:var(--cream);font-family:var(--font-display);font-size:18px;font-weight:700}.sb-logo-sub{color:var(--pink);font-size:12px;margin-top:1px}.sb-user{background:#ffffff14;border-radius:14px;gap:12px;padding:13px 15px}.sb-avatar,.sb-user{align-items:center;display:flex}.sb-avatar{background:var(--pink);border-radius:50%;color:var(--primary);flex-shrink:0;font-size:17px;font-weight:800;height:46px;justify-content:center;width:46px}.sb-user-info{min-width:0}.sb-user-name{color:var(--cream);font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-user-role{color:var(--pink);font-size:13px}.sidebar-nav{flex:1 1;overflow-y:auto;padding:10px}.nav-item{align-items:center;background:#0000;border:none;border-radius:12px;color:#f5e8dab3;cursor:pointer;display:flex;font-family:var(--font-body);font-size:16px;font-weight:600;gap:13px;margin-bottom:2px;padding:14px 16px;text-align:left;text-decoration:none;transition:all .15s ease;width:100%}.nav-item:hover{background:#ffffff1a;color:var(--cream)}.nav-item.active{background:#ffffff26;color:var(--cream);font-weight:700}.nav-icon{align-items:center;display:flex;flex-shrink:0;height:22px;justify-content:center;width:22px}.nav-text{flex:1 1}.sidebar-footer{border-top:1px solid #ffffff1f;padding:14px 10px}.nav-item.sign-out{color:#f5e8da80}.nav-item.sign-out:hover{background:#ff646426;color:#f99}.main-area{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.top-bar{align-items:center;background:var(--white);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;min-height:64px;padding:14px 36px}.top-title{color:var(--text);font-family:var(--font-display);font-size:22px;font-weight:700;margin:0}.top-actions{display:flex;gap:8px}.top-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:10px;transition:all .15s ease}.top-btn:hover{background:var(--primary-bg);color:var(--primary)}.mobile-menu-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;display:none;justify-content:center;padding:8px}.dashboard-content{background:var(--bg);flex:1 1;overflow-y:auto;padding:32px 36px 80px}.page-header{margin-bottom:28px}.page-header h1{color:var(--text);font-family:var(--font-display);font-size:clamp(1.5rem,3vw,1.75rem);font-weight:700;margin:0 0 .25rem}.page-header p{color:var(--text-muted);font-size:1rem;margin:0}.content-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:28px}.content-card h2{color:var(--text);font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin:0 0 1rem}.error-message{background:var(--red-bg);border:1px solid #c0392b4d;border-radius:8px;color:var(--red);font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.sidebar-overlay{display:none}@media (max-width:768px){.sidebar{height:100vh;left:-280px;position:fixed;top:0;transition:left .3s ease;z-index:200}.sidebar.open{left:0}.sidebar-overlay{background:#00000080;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:150}.mobile-menu-btn{display:flex}.top-bar{padding:12px 16px}.top-title{font-size:18px}.dashboard-content{padding:20px 16px 60px}.content-card{padding:20px}}@media (max-width:480px){.dashboard-content{padding:16px 12px 60px}.content-card{border-radius:12px;padding:16px}}.dash-tab-bar{background:var(--white);border:1px solid var(--border);border-radius:14px;bottom:14px;box-shadow:var(--shadow-lg);display:flex;gap:3px;left:50%;max-width:96vw;overflow-x:auto;padding:5px;position:fixed;transform:translateX(-50%);z-index:200}.dash-tab{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:600;padding:9px 16px;text-decoration:none;transition:.15s;white-space:nowrap}.dash-tab:hover:not(.on){background:var(--primary-bg)}.dash-tab.on{background:var(--primary);color:var(--cream)}@media print{.dashboard-layout{display:block;height:auto;overflow:visible}.dash-tab-bar,.sidebar,.sidebar-overlay,.top-bar{display:none!important}.main-area{overflow:visible}.dashboard-content{overflow:visible;padding:0}}.home{background-color:#4a1942;overflow:hidden}.home,.home-content{height:100vh;position:relative}.home-content{box-sizing:border-box;display:flex;flex-direction:column;padding:2vh 4vw;z-index:1}.home-header{left:-20px;position:absolute;top:-120px;z-index:10}.logo-section{align-items:center;display:flex}.logo-img{height:360px;width:auto}.home-main{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:0;padding:1vh 0}.welcome-heading{color:#e8d5c4;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:400;letter-spacing:1px;margin-bottom:3vh;text-align:center}.cards-container{grid-gap:2vw;display:grid;gap:2vw;grid-template-columns:repeat(2,1fr);max-width:1000px;width:100%}.info-card{background-color:#3a1934cc;border:1px solid #e8d5c44d;border-radius:20px;display:flex;flex-direction:column;padding:clamp(1rem,2vw,2.5rem)}.info-card h2{color:#e8d5c4;font-size:clamp(1.2rem,2vw,1.75rem);font-style:italic;font-weight:700;margin-bottom:1vh}.info-card p{color:#e8d5c4;flex:1 1;font-size:clamp(.85rem,1.1vw,1rem);line-height:1.6;margin-bottom:2vh}.card-btn{background-color:initial;border:2px solid #e8d5c4;border-radius:50px;color:#e8d5c4;cursor:pointer;display:block;font-size:clamp(.9rem,1.2vw,1.1rem);font-weight:500;padding:clamp(.6rem,1.2vh,1rem) 2rem;text-align:center;text-decoration:none;transition:all .3s ease;width:100%}.card-btn:hover{background-color:#e8d5c4;color:#4a1942}.home-footer{flex-shrink:0;padding:1vh 0}.home-footer p{color:#e8d5c4;font-size:clamp(.75rem,1vw,.9rem);opacity:.7}.decorative-crosses{bottom:0;height:300px;pointer-events:none;position:absolute;right:0;width:300px}.cross{color:#e8d5c44d;font-size:2rem;font-weight:300;position:absolute}.cross-1{bottom:20px;font-size:3rem;right:20px}.cross-2{bottom:60px;font-size:2rem;opacity:.5;right:80px}.cross-3{bottom:120px;font-size:1.5rem;right:30px}.cross-4{bottom:80px;font-size:2.5rem;opacity:.4;right:150px}.cross-5{bottom:180px;font-size:1.8rem;opacity:.6;right:100px}.cross-6{bottom:150px;font-size:1.2rem;opacity:.3;right:200px}.cross-7{bottom:220px;font-size:1rem;opacity:.4;right:50px}.cross-8{bottom:40px;font-size:1.5rem;opacity:.5;right:220px}@media (max-width:900px){.cards-container{gap:2vh;grid-template-columns:1fr;max-width:500px}.info-card p{margin-bottom:1.5vh}}@media (max-width:768px){.home-content{padding:2vh 4vw}.logo-name{font-size:1.5rem}.logo-icon{height:50px;width:40px}.decorative-crosses{display:none}}@media (max-width:480px){.home-header{left:-10px;top:-80px}.logo-img{height:240px}.info-card{padding:1rem}.card-btn{padding:clamp(.6rem,1.2vh,1rem) 1.25rem}}@media (max-height:600px){.home-content{padding:1vh 3vw}.home-header{margin-bottom:1vh}.welcome-heading{margin-bottom:2vh}.info-card{padding:1rem}.info-card p{line-height:1.4;margin-bottom:1vh}}.login-page{align-items:center;background:#4a1942;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:2rem;position:relative}.login-logo{left:50%;margin-top:-360px;position:absolute;top:50%;transform:translate(-50%,-50%)}.login-logo img{height:360px;width:auto}.login-container{background:#3a1934cc;border:1px solid #e8d5c44d;border-radius:20px;max-width:400px;padding:2.5rem;width:100%}.login-title{color:#e8d5c4;font-size:1.75rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.login-form{gap:1.25rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#e8d5c4;font-size:.9rem;font-weight:500}.form-group input{background-color:#e8d5c41a;border:1px solid #e8d5c44d;border-radius:8px;color:#e8d5c4;font-size:1rem;padding:.875rem 1rem;transition:border-color .3s ease}.form-group input:focus{border-color:#e8d5c499;outline:none}.form-group input::placeholder{color:#e8d5c480}.login-form .btn{margin-top:.5rem;padding:1rem;width:100%}.btn-primary{background-color:initial;border:2px solid #e8d5c4;border-radius:50px;color:#e8d5c4;cursor:pointer;display:inline-block;font-size:1rem;font-weight:500;padding:.875rem 2rem;transition:all .3s ease}.btn-primary:hover{background-color:#e8d5c4;color:#4a1942}.btn-primary:disabled{opacity:.6}.alert{border-radius:8px;font-size:.9rem;margin-bottom:1rem;padding:.875rem 1rem}.alert-error{background-color:#dc354533;border:1px solid #dc354580;color:#ff8a8a}.alert-success{background-color:#28a74533;border:1px solid #28a74580;color:#7ddf94}.confirm-text{color:#e8d5c4;line-height:1.6;margin-bottom:1rem;text-align:center}.confirm-text small{color:#e8d5c499}.login-footer{margin-top:1.5rem;text-align:center}.login-footer,.login-footer p{color:#e8d5c4b3}.link-button{background:none;border:none;color:#e8d5c4;cursor:pointer;font-size:inherit;text-decoration:underline;transition:opacity .3s ease}.link-button:hover{opacity:.8}.forgot-password-link{display:block;margin-top:1rem;text-align:center}.login-form .link-button{margin-top:.75rem;text-align:center;width:100%}.qr-code-container img{background:#fff;border:1px solid #e8d5c44d!important;border-radius:12px!important;padding:10px}@media (max-width:768px){.login-container{position:relative;z-index:1}.login-logo{left:50%;margin-top:-340px;position:absolute;top:50%;transform:translate(-50%,-50%)}.login-logo img{display:block;height:340px}.login-container{max-width:100%;padding:1.5rem}.form-group input{font-size:16px}}@media (max-width:480px){.login-logo img{height:280px}.login-container{padding:1.25rem}.login-page{padding:1rem}}.pu-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.pu-modal{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:90vh;max-width:560px;overflow-y:auto;width:100%}.pu-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.pu-modal-header h2{color:var(--text);font-family:var(--font-display);font-size:1.15rem;font-weight:700;margin:0}.pu-close-btn{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:1.5rem;line-height:1;padding:0;transition:color .15s}.pu-close-btn:hover{color:var(--text)}.pu-modal-body{padding:1.5rem}.pu-fields{gap:1rem;margin-bottom:1.5rem}.pu-field,.pu-fields{display:flex;flex-direction:column}.pu-field{gap:.35rem}.pu-label{color:var(--text);font-size:.85rem;font-weight:700}.pu-required{color:var(--red);margin-left:.25rem}.pu-input{background:var(--white);border:1.5px solid var(--border);border-radius:12px;color:var(--text);font-family:var(--font-body);font-size:17px;min-height:52px;outline:none;padding:14px 16px;transition:border-color .15s}.pu-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;cursor:pointer;padding-right:40px}.pu-select option{background:var(--white);color:var(--text)}.pu-input::placeholder{color:var(--text-light)}.pu-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #50006c1f}.pu-acknowledgement{background:var(--primary-bg);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:1rem;padding:1rem 1.25rem}.pu-ack-title{color:var(--text);font-size:.95rem;font-weight:700;margin:0 0 .75rem}.pu-checkbox-label{align-items:flex-start;color:var(--text-muted);cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;line-height:1.4;margin-bottom:.75rem}.pu-checkbox{accent-color:#50006c;flex-shrink:0;height:16px;margin-top:.2rem;width:16px}.pu-input-error{border-color:var(--red)!important}.pu-input-error:focus{box-shadow:0 0 0 3px #c0392b26}.pu-field-error,.pu-name-error{color:var(--red);font-size:.8rem;margin-top:.15rem}.pu-error{background:var(--red-bg);border:1px solid #c0392b4d;border-radius:8px;color:var(--red);font-size:.85rem;margin-bottom:1rem;padding:.6rem .75rem}.pu-actions{display:flex;gap:.75rem;justify-content:flex-end}.pu-btn{border:none;border-radius:12px;cursor:pointer;font-family:var(--font-body);font-size:.9rem;font-weight:700;padding:14px 28px;transition:all .15s ease}.pu-btn-cancel{background:#0000;border:1.5px solid var(--border);color:var(--text-muted)}.pu-btn-cancel:hover{border-color:var(--primary);color:var(--primary)}.pu-btn-submit{background:var(--primary);color:var(--cream)}.pu-btn-submit:hover:not(:disabled){background:var(--primary-light);transform:translateY(-1px)}.pu-btn-submit:disabled{cursor:not-allowed;opacity:.4}@media (max-width:600px){.pu-modal{border-radius:12px;max-width:100%}.pu-modal-body{padding:1rem}.pu-actions{flex-direction:column}.pu-btn{text-align:center;width:100%}}.admin-page{padding:0}.admin-header{margin-bottom:2rem}.admin-header h1{color:var(--text);font-family:var(--font-display);font-size:2rem;margin-bottom:.5rem}.admin-subtitle{color:var(--text-muted);font-size:1.1rem}.admin-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;gap:1rem;padding:1.5rem}.stat-icon{font-size:2rem}.stat-content{display:flex;flex-direction:column}.stat-value{color:var(--text);font-size:1.5rem;font-weight:800}.stat-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.admin-content{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 300px}@media (max-width:900px){.admin-content{grid-template-columns:1fr}}.users-section{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.section-header h2{color:var(--text);font-family:var(--font-display);font-size:1.25rem}.filter-buttons{display:flex;gap:.5rem}.filter-btn{background-color:initial;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-family:var(--font-body);font-size:.85rem;font-weight:700;padding:.5rem 1rem;transition:all .15s ease}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background-color:var(--primary);border-color:var(--primary);color:var(--cream)}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid var(--border);padding:1rem;text-align:left}.users-table th{background:var(--bg);color:var(--text-muted);font-size:.8rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.users-table tr{cursor:pointer;transition:background-color .15s ease}.users-table tr:hover{background-color:var(--primary-bg)}.users-table tr.selected{background-color:#50006c14}.users-table tr.current-user{border-left:3px solid var(--primary)}.users-table td{color:var(--text);font-size:.9rem}.you-badge{background-color:var(--primary);border-radius:4px;color:var(--cream);font-size:.7rem;font-weight:700;margin-left:.5rem;padding:.15rem .4rem}.role-tag{border-radius:20px;font-size:.75rem;font-weight:700;padding:.25rem .6rem;text-transform:uppercase}.role-tag.admin{background-color:var(--primary-bg);border:1px solid #50006c33;color:var(--primary)}.role-tag.user{background-color:var(--bg);color:var(--text-muted)}.role-tag.user,.user-details{border:1px solid var(--border)}.user-details{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);height:-webkit-fit-content;height:fit-content;padding:1.5rem}.user-details h3{color:var(--text);font-family:var(--font-display);font-size:1.1rem;margin-bottom:1.5rem}.detail-content{text-align:center}.detail-avatar{align-items:center;background:var(--pink);border-radius:50%;color:var(--primary);display:flex;font-size:2rem;font-weight:800;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.detail-info{margin-bottom:1.5rem;text-align:left}.detail-info p{color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.detail-info strong{color:var(--text)}.detail-actions{display:flex;flex-direction:column;gap:.5rem}.detail-actions .btn{border-radius:12px;display:block;font-size:.9rem;padding:.75rem;text-align:center;text-decoration:none;transition:all .15s ease;width:100%}.loading{color:var(--text-light);padding:3rem;text-align:center}.refresh-btn{background-color:initial;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-family:var(--font-body);font-size:.9rem;font-weight:700;padding:.5rem 1rem;transition:all .15s ease}.refresh-btn:hover:not(:disabled){background:var(--primary-bg);border-color:var(--primary);color:var(--primary)}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.admin-error{background-color:var(--red-bg);border:1px solid #c0392b4d;border-radius:12px;color:var(--red);margin-bottom:1.5rem;padding:1rem}.admin-error p{margin:0}.error-hint{font-size:.85rem;margin-top:.5rem!important;opacity:.8}.status-badge{font-size:.8rem;font-weight:600}.no-users{color:var(--text-light);padding:3rem;text-align:center}.user-id{font-family:monospace;font-size:.8rem;word-break:break-all}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.doc-modal{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:var(--text);font-family:var(--font-display);font-size:1.25rem;margin:0}.close-btn{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:1.75rem;line-height:1;padding:0;transition:color .15s ease}.close-btn:hover{color:var(--text)}.category-tabs{border-bottom:1px solid var(--border);display:flex;gap:.5rem;overflow-x:auto;padding:1rem 1.5rem}.category-tab{align-items:center;background:#0000;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.9rem;font-weight:600;gap:.5rem;padding:.6rem 1rem;transition:all .15s ease;white-space:nowrap}.category-tab:hover{border-color:var(--primary);color:var(--primary)}.category-tab.active{background:var(--primary);border-color:var(--primary);color:var(--cream)}.tab-icon{font-size:1rem}.modal-content{flex:1 1;overflow-y:auto;padding:1.5rem}.upload-area{margin-bottom:1.5rem}.upload-btn{background:var(--primary);border:none;border-radius:12px;color:var(--cream);cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:700;padding:.75rem 1.5rem;transition:all .15s ease}.upload-btn:hover:not(:disabled){background:var(--primary-light);transform:translateY(-1px)}.upload-btn:disabled{cursor:not-allowed;opacity:.6}.docs-error{background:var(--red-bg);border:1px solid #c0392b4d;border-radius:8px;color:var(--red);margin-bottom:1rem;padding:.75rem 1rem}.documents-list{display:flex;flex-direction:column;gap:.75rem}.document-item{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:12px;display:flex;gap:1rem;padding:1rem;transition:border-color .15s}.document-item:hover{border-color:var(--primary)}.doc-icon{font-size:1.5rem}.doc-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.doc-name{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-meta{color:var(--text-light);font-size:.85rem}.doc-actions{display:flex;gap:.5rem}.action-btn{background:#0000;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-family:var(--font-body);font-size:.85rem;font-weight:700;padding:.4rem 1rem;transition:all .15s ease}.action-btn:hover{background:var(--primary-bg);border-color:var(--primary);color:var(--primary)}.action-btn.delete{border-color:#c0392b4d;color:var(--red)}.action-btn.delete:hover{background:var(--red);border-color:var(--red);color:var(--white)}.empty-state{font-style:italic}.empty-state,.loading-text{color:var(--text-light);padding:2rem;text-align:center}.hs-preview{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.hs-preview-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.hs-preview-header h3{color:var(--text);font-family:var(--font-display);font-size:1.1rem;margin:0}.hs-preview-section{background:var(--bg);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;padding:1.25rem}.hs-preview-section h4{border-bottom:1px solid var(--border);color:var(--text);font-family:var(--font-display);font-size:1rem;font-weight:700;margin:0 0 .75rem;padding-bottom:.5rem}.hs-preview-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.hs-preview-card{background:var(--white);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:.2rem;padding:.6rem .8rem}.hs-preview-label{color:var(--text-muted);font-size:.75rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.hs-preview-value{color:var(--text);font-size:.9rem;font-weight:500}.hs-preview-table-wrap{overflow-x:auto}.hs-preview-table{border-collapse:collapse;width:100%}.hs-preview-table th{background:var(--bg);border-bottom:2px solid var(--border);color:var(--text-muted);font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:.5rem .6rem;text-align:left;text-transform:uppercase}.hs-preview-table td{border-bottom:1px solid var(--border);color:var(--text);font-size:.85rem;padding:.5rem .6rem}.hs-preview-table tbody tr:last-child td{border-bottom:none}.hs-preview-table tbody tr:hover{background:var(--primary-bg)}@media (max-width:768px){.admin-stats{grid-template-columns:1fr}.users-section,.users-table{overflow-x:auto}.users-table{display:block}.doc-modal{border-radius:12px;max-width:100%}.modal-content,.modal-header{padding:1rem}.document-item{align-items:flex-start;flex-direction:column}.doc-actions{width:100%}.doc-actions .action-btn{flex:1 1;text-align:center}.hs-preview-grid{grid-template-columns:1fr}}.contact{background-color:#4a1942;box-sizing:border-box;min-height:100vh;padding:2rem}.contact-inner{margin:0 auto;max-width:960px}.contact-logo-wrap{margin-bottom:2rem;text-align:center}.contact-logo{height:80px;width:auto}.contact-header{margin-bottom:2.5rem;text-align:center}.contact-subtitle{color:#e8d5c4b3;font-size:1.1rem}.contact-phone{color:#e8d5c4;font-family:"DM Serif Display",Georgia,serif;font-size:2.5rem;letter-spacing:1px;margin:.5rem 0}.contact-hours{color:#e8d5c4b3;font-size:1rem}.contact-email{color:#e8d5c480;font-size:.95rem;margin-top:4px}.contact-card{background:#ffffff0f;border:1px solid #e8d5c426;border-radius:16px;padding:28px}.contact-card-title{color:#e8d5c4;font-family:"DM Serif Display",Georgia,serif;font-size:1.25rem;margin:0 0 22px}.contact-field{margin-bottom:16px}.contact-label{color:#e8d5c4b3;display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.contact-input,.contact-select,.contact-textarea{background:#e8d5c414;border:1px solid #e8d5c433;border-radius:10px;box-sizing:border-box;color:#e8d5c4;font-family:inherit;font-size:.95rem;padding:12px 14px;transition:border-color .2s;width:100%}.contact-input:focus,.contact-select:focus,.contact-textarea:focus{border-color:#e8d5c480;outline:none}.contact-input::placeholder,.contact-textarea::placeholder{color:#e8d5c44d}.contact-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='rgba(232,213,196,0.5)' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.contact-select option{background:#4a1942;color:#e8d5c4}.contact-textarea{min-height:100px;resize:vertical}.contact-submit-btn{background:linear-gradient(135deg,#50006c,#6e1491);border:none;border-radius:10px;color:#e8d5c4;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;padding:14px;transition:opacity .2s;width:100%}.contact-submit-btn:hover{opacity:.9}.contact-submit-btn:disabled{cursor:not-allowed;opacity:.6}.contact-alert{border-radius:10px;font-size:.9rem;margin-bottom:16px;padding:12px 16px}.contact-alert-success{background:#2e7d3226;border:1px solid #a5d6a74d;color:#a5d6a7}.contact-alert-error{background:#c6282826;border:1px solid #ef9a9a4d;color:#ef9a9a}.contact-hp{height:0;left:-9999px;opacity:0;overflow:hidden;position:absolute;top:-9999px}@media (max-width:768px){.contact{padding:1.5rem}.contact-phone{font-size:2rem}}@media (max-width:480px){.contact{padding:1rem}.contact-logo{height:60px}.contact-phone{font-size:1.75rem}.contact-card{padding:20px}.contact-input,.contact-select,.contact-textarea{font-size:16px}}.emergency-data{margin:0 auto;max-width:800px}.emergency-banner{background:#dc354526;border:2px solid #dc354580;border-radius:12px;margin-bottom:1.5rem;padding:1rem 1.5rem;text-align:center}.emergency-banner h2{color:#ff6b6b;font-size:1.25rem;margin:0 0 .25rem}.emergency-banner p{color:#e8d5c4cc;font-size:.9rem;margin:0}.emergency-demo-banner{background:#28a74526;border:2px solid #28a74580;border-radius:12px;color:#28a745}.emergency-demo-banner,.emergency-no-refresh{font-size:1rem;line-height:1.5;margin-bottom:1.5rem;padding:1rem 1.5rem;text-align:center}.emergency-no-refresh{background:#ffc10726;border:2px solid #ffc10780;border-radius:12px;color:#ffc107}.emergency-patient-info{background:#3a1934cc;border:1px solid #e8d5c44d;border-radius:16px;margin-bottom:1.5rem;padding:1.25rem 1.5rem;text-align:center}.emergency-patient-info .patient-label{color:#e8d5c499;font-size:.8rem;letter-spacing:1px;margin-bottom:.25rem;text-transform:uppercase}.emergency-patient-info .patient-value{color:#e8d5c4;font-size:1.5rem;font-weight:700}.patient-fields{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:.5rem}.patient-field{align-items:center;display:flex;flex-direction:column;gap:.25rem}.patient-field-label{color:#e8d5c480;font-size:.75rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.patient-field-value{color:#e8d5c4;font-size:1.35rem;font-weight:400}.emergency-section{background:#3a1934cc;border:1px solid #e8d5c44d;border-radius:16px;margin-bottom:1rem;padding:1.25rem 1.5rem}.emergency-section.critical{border-color:#dc354580;border-width:2px}.emergency-section h3{align-items:center;border-bottom:1px solid #e8d5c426;color:#e8d5c4;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0 0 .75rem;padding-bottom:.5rem}.emergency-section h3 .section-icon{font-size:1.1rem}.emergency-section.critical h3{color:#ff6b6b}.allergy-list{display:flex;flex-direction:column;gap:.5rem}.allergy-item{align-items:center;background:#e8d5c40d;border:1px solid #e8d5c41a;border-radius:8px;display:flex;justify-content:space-between;padding:.6rem .8rem}.allergy-item .allergy-name{color:#e8d5c4;flex:1 1;font-weight:500}.allergy-item .allergy-reaction{color:#e8d5c4b3;font-size:.85rem;margin:0 1rem}.severity-badge{border-radius:50px;font-size:.75rem;font-weight:600;padding:.2rem .6rem;text-transform:uppercase}.severity-badge.high,.severity-badge.severe{background:#dc354533;border:1px solid #dc354580;color:#ff6b6b}.severity-badge.medium,.severity-badge.moderate{background:#ffc10733;border:1px solid #ffc10780;color:#ffc107}.severity-badge.low,.severity-badge.mild{background:#28a74533;border:1px solid #28a74580;color:#28a745}.medication-list{display:flex;flex-direction:column;gap:.4rem}.medication-item{align-items:center;background:#e8d5c40d;border-radius:8px;display:flex;justify-content:space-between;padding:.5rem .8rem}.medication-item .med-name{color:#e8d5c4;font-weight:500}.medication-item .med-dosage{color:#e8d5c4b3;font-size:.85rem}.simple-list{display:flex;flex-wrap:wrap;gap:.4rem}.simple-list .list-tag{background:#e8d5c41a;border:1px solid #e8d5c433;border-radius:50px;color:#e8d5c4;font-size:.85rem;padding:.35rem .8rem}.emergency-table{border-collapse:collapse;width:100%}.emergency-table th{border-bottom:1px solid #e8d5c426;color:#e8d5c499;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.5rem .6rem;text-align:left;text-transform:uppercase}.emergency-table td{border-bottom:1px solid #e8d5c414;color:#e8d5c4;font-size:.85rem;padding:.5rem .6rem}.emergency-table tbody tr:last-child td{border-bottom:none}.contact-list{display:flex;flex-direction:column;gap:.5rem}.contact-item{align-items:center;background:#e8d5c40d;border:1px solid #e8d5c41a;border-radius:8px;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;padding:.6rem .8rem}.contact-item .contact-name{color:#e8d5c4;font-weight:500}.contact-item .contact-relation{color:#e8d5c499;font-size:.85rem}.contact-item .contact-phone{color:#e8d5c4;font-family:monospace}.contact-item .contact-phone a{color:#e8d5c4;text-decoration:none}.contact-item .contact-phone a:hover{text-decoration:underline}.doctor-info{align-items:center;background:#e8d5c40d;border-radius:8px;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;padding:.6rem .8rem}.doctor-info .doctor-name{color:#e8d5c4;font-weight:500}.doctor-info .doctor-phone{color:#e8d5c4;font-family:monospace}.doctor-info .doctor-phone a{color:#e8d5c4;text-decoration:none}.doctor-info .doctor-phone a:hover{text-decoration:underline}.no-data-text{color:#e8d5c480;font-size:.9rem;font-style:italic}.emergency-disclaimer{border-top:1px solid #e8d5c41a;color:#e8d5c480;font-size:.8rem;margin-top:1.5rem;padding-top:1rem;text-align:center}@media (max-width:768px){.emergency-data{max-width:100%}.allergy-item,.medication-item{align-items:flex-start;flex-direction:column;gap:.25rem}.allergy-item .allergy-reaction{margin:0}.contact-item,.doctor-info{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.emergency-section{padding:1rem}.emergency-patient-info .patient-value{font-size:1.25rem}}.emergency-page{align-items:center;background:linear-gradient(135deg,#0f0f1a,#1a0a1a 50%,#0f0f1a);display:flex;flex-direction:column;min-height:100vh;padding:2rem 1rem}.emergency-page-header{margin-bottom:2rem;text-align:center}.emergency-page-header .emergency-logo{height:auto;margin-bottom:1rem;max-width:240px}.emergency-page-header h1{color:#e8d5c4;font-size:1.75rem;margin:0 0 .5rem}.emergency-page-header p{color:#e8d5c4b3;font-size:1rem;margin:0}.emergency-loading{padding:4rem 2rem;text-align:center}.emergency-loading .spinner{animation:spin .8s linear infinite;border:3px solid #e8d5c433;border-radius:50%;border-top-color:#e8d5c4;height:48px;margin:0 auto 1rem;width:48px}.emergency-loading p{color:#e8d5c4b3;font-size:1rem}.emergency-pin-form{background:#3a1934cc;border:1px solid #e8d5c44d;border-radius:20px;max-width:420px;padding:2rem;width:100%}.emergency-pin-form h2{color:#e8d5c4;font-size:1.25rem;margin:0 0 .5rem;text-align:center}.emergency-pin-form .form-subtitle{color:#e8d5c499;font-size:.9rem;margin-bottom:1.5rem;text-align:center}.emergency-pin-form .form-group{margin-bottom:1rem}.emergency-pin-form label{color:#e8d5c4b3;display:block;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:.4rem;text-transform:uppercase}.emergency-pin-form input{background:#e8d5c414;border:1px solid #e8d5c440;border-radius:12px;box-sizing:border-box;color:#e8d5c4;font-family:monospace;font-size:1.125rem;letter-spacing:2px;padding:.875rem 1rem;text-align:center;transition:border-color .2s ease;width:100%}.emergency-pin-form input:focus{border-color:#e8d5c480;outline:none}.emergency-pin-form input::placeholder{color:#e8d5c44d;letter-spacing:1px}.emergency-submit-btn{background:#0000;border:2px solid #e8d5c4;border-radius:50px;color:#e8d5c4;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.875rem;transition:all .3s ease;width:100%}.emergency-submit-btn:hover:not(:disabled){background:#e8d5c4;color:#4a1942}.emergency-submit-btn:disabled{cursor:not-allowed;opacity:.5}.emergency-error{background:#dc354526;border:1px solid #dc354566;border-radius:12px;margin-bottom:1.5rem;max-width:500px;padding:1rem 1.5rem;text-align:center;width:100%}.emergency-error p{color:#ff8a8a;margin:0}.emergency-error .error-detail{color:#ff8a8ab3;font-size:.85rem;margin-top:.5rem}.emergency-used{background:#ffc1071f;border:1px solid #ffc10766;border-radius:12px;max-width:500px;padding:1.5rem;text-align:center;width:100%}.emergency-used h2{color:#ffc107;font-size:1.25rem;margin:0 0 .5rem}.emergency-used p{color:#e8d5c4b3;font-size:.9rem;margin:0}.emergency-data-container{max-width:800px;width:100%}.emergency-back-link{color:#e8d5c499;display:inline-block;font-size:.9rem;margin-top:1rem;text-decoration:none;transition:color .2s ease}.emergency-back-link:hover{color:#e8d5c4}.rate-limit-warning{background:#ffc1071f;border:1px solid #ffc1074d;border-radius:8px;margin-bottom:1rem;padding:.6rem 1rem;text-align:center}.rate-limit-warning p{color:#ffc107;font-size:.85rem;margin:0}@media (max-width:768px){.emergency-page{padding:1.5rem 1rem}.emergency-pin-form{padding:1.5rem}.emergency-page-header h1{font-size:1.5rem}}@media (max-width:480px){.emergency-page{padding:1rem .75rem}.emergency-pin-form{border-radius:16px;padding:1.25rem}.emergency-pin-form input{font-size:16px}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6}.App{min-height:100vh}main{min-height:calc(100vh - 70px)}.btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:1rem;font-weight:700;gap:.625rem;justify-content:center;padding:.875rem 2rem;text-align:center;text-decoration:none;transition:all .15s ease}.btn-primary{background-color:var(--primary);color:var(--cream)}.btn-primary:hover{background-color:var(--primary-light);box-shadow:0 4px 16px #50006c4d;transform:translateY(-1px)}.btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.btn-secondary{background-color:initial;border:1.5px solid var(--border);color:var(--text-muted)}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.btn-danger{background-color:var(--red-bg);border:1.5px solid #0000;color:var(--red)}.btn-danger:hover{background-color:var(--red);color:var(--white)}.btn-sm{border-radius:var(--radius-sm);font-size:.875rem;padding:.5625rem 1.125rem}.loading-container{align-items:center;color:var(--text-light);display:flex;flex-direction:column;justify-content:center;min-height:200px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:40px;margin-bottom:1rem;width:40px}@keyframes spin{to{transform:rotate(1turn)}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}::selection{background-color:#50006c26;color:var(--primary)}@media (max-width:768px){input,select,textarea{font-size:16px!important}}
/*# sourceMappingURL=main.7f104806.css.map*/