:root{--bg-main:#f5e2c7;--bg-header-bar:#c88437;--bg-card:#fff5e5;--bg-table-head:#f0c98a;--text-main:#3a2a1d;--accent-dark:#3a2a1d;--accent-btn:#3a2a1d}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background-color:#f5e2c7;background-color:var(--bg-main);color:#3a2a1d;color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;padding:1.5rem}.admin-portal-page{margin:0 auto;max-width:1200px}.top-app-bar{align-items:center;background:#c88437;background:var(--bg-header-bar);border-radius:999px;color:#fff8e8;display:flex;justify-content:space-between;margin:0 auto .8rem;max-width:1200px;padding:.55rem 1.5rem}.top-app-title{font-weight:600;letter-spacing:.04em}.top-app-nav span{cursor:default;font-size:.9rem;margin-left:1.25rem;opacity:.9}.top-app-nav span:first-child{font-weight:600;text-decoration:underline}.admin-header{align-items:center;background:linear-gradient(90deg,#ffe7c1,#fff5e5 40%,#fffdf7);border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;margin-bottom:2rem;padding:1.2rem 1.5rem}.admin-logo-img{background-color:#3c2618;border:1px solid #f6c57d;border-radius:12px;box-shadow:0 0 14px #f6c57dd9,0 0 32px #f6c57d8c;height:80px;object-fit:contain;padding:6px 10px;width:auto}.admin-header-welcome{flex-grow:1;margin-left:1.5rem}.admin-header-welcome h1{color:#4a2a10;font-size:2rem;font-weight:700;margin:0 0 .3rem}.admin-header-welcome p{color:#7a6553;font-size:.9rem;margin:0}.logout-button{background-color:#3a2a1d;background-color:var(--accent-dark);border:none;border-radius:30px;color:#fff8e8;cursor:pointer;font-size:.9rem;font-weight:600;margin-left:1rem;padding:.65rem 1.5rem;transition:background-color .2s ease,transform .1s ease}.logout-button:hover{background-color:#5b4738;transform:translateY(-1px)}.content-card{background-color:#fff5e5;background-color:var(--bg-card);border:1px solid #c8843733;border-radius:12px;box-shadow:0 6px 18px #0000000a;margin-bottom:2.2rem;padding:2rem 2.25rem}.content-card h2{color:#3a2a1d;font-size:1.4rem;font-weight:700;margin:0 0 .75rem}.section-subtitle{color:#8a7a6a;font-size:.9rem;letter-spacing:1px;margin:0 0 1.4rem;text-transform:uppercase}.form-row{display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:1.25rem}.form-field{display:flex;flex-direction:column;min-width:0}.form-field.full-width{width:100%}.form-field label{color:#4a2a10;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.form-field input,.form-field select{background-color:#fffaf0;border:1px solid #d4b485;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.7rem .9rem;transition:border .2s ease,box-shadow .2s ease,background-color .2s ease}.form-field input::placeholder{color:#b7a28f}.form-field input:disabled{background-color:#f0f0f0;cursor:not-allowed}.form-field input:focus,.form-field select:focus{border-color:#c88437;box-shadow:0 0 0 3px #c8843740;outline:none}.create-user-button{background-color:#3a2a1d;background-color:var(--accent-btn);border:none;border-radius:8px;color:#fff8e8;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.5px;padding:.85rem 1.8rem;transition:background-color .2s ease,transform .1s ease,box-shadow .2s ease;width:auto}.create-user-button:hover{background-color:#5b4738;box-shadow:0 4px 10px #00000014;transform:translateY(-1px)}.restaurant-assign-display{background:#f8f1e4;border:1px solid #d5b99a;border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;min-height:44px;padding:10px}.restaurant-assign-display span{align-self:center;color:#eef105}.restaurant-pill{align-items:center;background:#3a2a1d;background:var(--accent-dark);border-radius:20px;color:#fff8e8;display:flex;font-size:.9rem;padding:5px 12px}.restaurant-pill button{background:none;border:none;color:#fff8e8;cursor:pointer;font-size:1rem;font-weight:700;line-height:1;margin-left:8px;padding:0 5px}.restaurant-search-results{background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 4px 8px #0000001a;max-height:200px;overflow-y:auto;position:absolute;width:100%;z-index:10}.restaurant-search-item{cursor:pointer;font-size:.95rem;padding:10px}.restaurant-search-item:hover{background-color:#f0f0f0}.search-bar{margin-bottom:0}.search-bar label{color:#5b4738;display:block;font-weight:500;margin-bottom:.5rem}.search-bar input{background-color:#fffaf0;border:1px solid #d5b99a;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.75rem .9rem;transition:border .2s ease,box-shadow .2s ease;width:100%}.search-bar input:focus{border-color:#c88437;box-shadow:0 0 0 3px #c8843740;outline:none}.admin-table{border-collapse:initial;border-spacing:0 8px;margin-top:1rem;min-width:1000px;width:100%}.admin-table thead th{background-color:#f0c98a;background-color:var(--bg-table-head);color:#4a2a10;font-size:.95rem;font-weight:600;padding:14px 15px;text-align:left}.admin-table tbody tr{background-color:#fff;box-shadow:0 2px 6px #0000000d}.admin-table tbody td{border-bottom:1px solid #eee;border-top:1px solid #16f502;font-size:.93rem;padding:14px 15px;white-space:nowrap}.status-active{color:#28a745;font-weight:600}.status-inactive{color:#dc3545;font-weight:600}.system-account-text{color:#6c757d;font-size:.9rem;font-style:italic}.role-badge{border-radius:6px;color:#fff;display:inline-block;font-size:.8rem;padding:4px 8px;text-transform:capitalize}.role-admin{background-color:#347ab8}.role-super-admin{background-color:#aa5f2f}.role-chef{background-color:#00a86b}.role-front-desk{background-color:#8e44ad}.action-button{background-color:#f8f2ea;border:1px solid #d0d0d0;border-radius:4px;color:#3a2a1d;cursor:pointer;font-size:.85rem;margin-right:5px;padding:4px 9px;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .05s ease}.action-button:hover{background-color:#e2e6ea;transform:translateY(-1px)}.action-button.modify{background-color:#f5f0ea}.action-button.disable{color:#d9534f}.action-button.disable:hover{background-color:#fbebea;border-color:#f0c1bd}.action-button.enable{color:#28a745}.action-button.enable:hover{background-color:#eaf3ea;border-color:#b7e6c1}.action-button.reset-pw{color:#c88437}.action-button.reset-pw:hover{background-color:#fcf3e8;border-color:#f0c98a}.form-actions{align-items:center;border-top:1px solid #c8843733;display:flex;gap:.75rem;margin-top:2rem;padding-top:1.5rem}.cancel-button{background:none;border:none;border-radius:8px;color:#8a7a6a;cursor:pointer;font-size:.95rem;font-weight:600;padding:.85rem 1rem;transition:background-color .2s ease,color .2s ease}.cancel-button:hover{background-color:#f0e6d8;color:#3a2a1d}.modal-backdrop{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:#fff5e5;background-color:var(--bg-card);border:1px solid #c8843733;border-radius:12px;box-shadow:0 6px 18px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem 2.25rem;width:100%}.modal-content .form-field{margin-bottom:1rem}.modal-content .form-field textarea{background-color:#fffaf0;border:1px solid #d4b485;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:.7rem .9rem}.modal-content .form-field textarea:focus{border-color:#c88437;box-shadow:0 0 0 3px #c8843740;outline:none}.modal-content .form-actions{margin-top:1.5rem;padding-top:1rem}.login-card{background-color:#fff5e5;background-color:var(--bg-card);border:1px solid #c8843733;border-radius:12px;box-shadow:0 6px 18px #0000000a;box-sizing:border-box;margin:5rem auto 0;max-width:400px;padding:2rem 2.25rem}.login-card h2{margin-top:0;text-align:center}.error-message{color:#dc3545}.error-message,.success-message{font-size:.9rem;text-align:center}.success-message{color:#28a745}.forgot-password-link{background:none;border:none;color:#7a6553;cursor:pointer;font-size:.9rem;margin:0;padding:0;text-decoration:underline}.forgot-password-link:hover{color:#3a2a1d;color:var(--text-main)}.form-hint{color:#7a6553;font-size:.8rem;margin-top:5px}.list-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.application-error{background:#ffd2d2;border-radius:8px;color:#d8000c;font-weight:500;padding:1rem}.tab-nav{border-bottom:2px solid #f0c98a;border-bottom:2px solid var(--bg-table-head);display:flex;margin-bottom:1.5rem}.tab-button{background:none;border:none;border-bottom:2px solid #0000;color:#7a6553;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:-2px;padding:.8rem 1.2rem;transition:all .2s ease}.tab-button:hover{background-color:#f0e6d8;color:#3a2a1d;color:var(--text-main)}.tab-button.active{border-bottom-color:var(--accent-highlight);color:var(--accent-highlight)}.tab-content{padding-top:1rem}@media (max-width:900px){body{padding:1rem}.top-app-bar{padding:.5rem 1rem}.admin-header{align-items:flex-start;flex-direction:column;gap:.75rem}.admin-header-welcome{margin-left:0}.logout-button{align-self:flex-end}.content-card{padding:1.5rem}.admin-table{min-width:800px}}@media (max-width:600px){.admin-table{min-width:600px}}