.portal-body{background-color:var(--bg-light);min-height:100vh;display:flex;flex-direction:column}.portal-main{flex:1;padding:40px 0 80px}.portal-section{display:none}.portal-section.active{display:block;animation:fadeInSlide .4s ease forwards}.login-card{max-width:440px;margin:60px auto;background-color:var(--white);padding:40px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid rgba(12,56,32,.06)}.login-header{text-align:center;margin-bottom:30px}.login-logo{width:72px;height:72px;border-radius:50%;margin:0 auto 16px;box-shadow:var(--shadow-sm)}.login-header h2{font-size:1.45rem;font-weight:800;color:var(--primary-color);margin-bottom:8px;letter-spacing:-.5px}.login-header p{color:var(--text-muted);font-size:.9rem}.login-form .form-group{margin-bottom:20px}.form-group label{display:block;font-size:.88rem;font-weight:600;color:var(--primary-color);margin-bottom:6px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;font-family:var(--font-family);font-size:.95rem;border:1.5px solid rgba(12,56,32,.12);border-radius:var(--radius-sm);background-color:var(--white);color:var(--text-main);transition:var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #52b78826}.form-group textarea{resize:vertical;min-height:100px}.error-msg{color:#d90429;font-size:.85rem;font-weight:600;margin-bottom:15px;min-height:18px}.btn-login{width:100%;padding:14px;margin-top:10px}.dashboard-header{margin-bottom:40px;display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1.5px solid rgba(12,56,32,.08);padding-bottom:24px}.welcome-block h2{font-size:2rem;font-weight:800;color:var(--primary-color);margin-top:6px;letter-spacing:-.5px}.welcome-block p{color:var(--text-muted);font-size:1rem}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;align-items:start}.dashboard-card{background-color:var(--white);border-radius:var(--radius-md);border:1px solid rgba(12,56,32,.04);box-shadow:var(--shadow-sm);padding:30px}.dashboard-card h3{font-size:1.25rem;font-weight:800;color:var(--primary-color);letter-spacing:-.5px;display:flex;align-items:center;gap:10px}.underline-left{width:40px;height:3px;background-color:var(--accent-color);margin:12px 0 24px;border-radius:2px}.file-drop-area{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;border:2px dashed rgba(12,56,32,.2);border-radius:var(--radius-sm);background-color:var(--bg-light);cursor:pointer;transition:var(--transition-fast);text-align:center}.file-drop-area:hover{border-color:var(--accent-color);background-color:#52b7880d}.file-icon{font-size:1.8rem;margin-bottom:8px}.file-label{font-size:.85rem;font-weight:600;color:var(--primary-color)}.file-drop-area input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}#photo-preview-container{margin-top:15px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid rgba(12,56,32,.1);max-height:180px;display:flex;justify-content:center;align-items:center;background-color:var(--bg-light)}#photo-preview{max-width:100%;max-height:180px;object-fit:contain}.table-responsive{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.92rem}.data-table th{background-color:var(--bg-light);color:var(--primary-color);font-weight:700;padding:14px 16px;border-bottom:2px solid rgba(12,56,32,.08)}.data-table td{padding:14px 16px;border-bottom:1px solid rgba(12,56,32,.05);vertical-align:middle}.data-table tbody tr:hover{background-color:#52b78805}.table-empty{text-align:center;padding:40px!important;color:var(--text-muted);font-style:italic}.status-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-round);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge.pending{background-color:#ff9f431f;color:#ff9f43}.status-badge.assigned{background-color:#0984e31f;color:#0984e3}.status-badge.pickup{background-color:#6c5ce71f;color:#6c5ce7}.status-badge.progress{background-color:#e843931f;color:#e84393}.status-badge.completed{background-color:#25d3661f;color:var(--accent-dark)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:35px}.stat-card{background-color:var(--white);border-radius:var(--radius-md);padding:24px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow-sm);border:1px solid rgba(12,56,32,.04)}.stat-icon{width:54px;height:54px;border-radius:var(--radius-sm);background-color:#52b7881f;display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:var(--accent-dark)}.stat-info h4{font-size:1.85rem;font-weight:800;color:var(--primary-color);line-height:1.1}.stat-info p{color:var(--text-muted);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.filters-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.admin-tabs{display:flex;background-color:#0c38200f;padding:4px;border-radius:var(--radius-round);gap:4px}.admin-tab-btn{background:none;border:none;font-family:var(--font-family);font-weight:700;font-size:.9rem;padding:10px 20px;color:var(--text-muted);border-radius:var(--radius-round);cursor:pointer;transition:var(--transition-fast)}.admin-tab-btn:hover{color:var(--primary-color)}.admin-tab-btn.active{background-color:var(--primary-color);color:var(--white)}.search-filter-block{display:flex;gap:12px;align-items:center}#admin-search{min-width:280px;padding:10px 14px;border-radius:var(--radius-round);border:1.5px solid rgba(12,56,32,.12);font-family:var(--font-family);font-size:.88rem}#admin-status-filter{padding:10px 14px;border-radius:var(--radius-round);border:1.5px solid rgba(12,56,32,.12);font-family:var(--font-family);font-size:.88rem;background-color:var(--white);cursor:pointer}.admin-tab-panel{display:none}.admin-tab-panel.active{display:block}.card-full{width:100%}.select-table{padding:6px 12px;font-size:.85rem;border-radius:4px;border:1px solid rgba(12,56,32,.15);font-family:var(--font-family);background-color:var(--white);cursor:pointer;font-weight:600}.select-table:focus{outline:none;border-color:var(--accent-color)}.admin-order-id{font-family:monospace;font-weight:700;font-size:.8rem;color:var(--text-muted);background-color:var(--bg-light);padding:2px 6px;border-radius:4px}.worker-uploads-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:15px}.upload-item-card{background-color:var(--bg-light);border-radius:var(--radius-md);border:1px solid rgba(12,56,32,.05);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.upload-image-wrapper{width:100%;height:200px;overflow:hidden;background-color:var(--primary-dark);position:relative}.upload-image{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.upload-image-wrapper:hover .upload-image{transform:scale(1.05)}.upload-card-content{padding:20px;display:flex;flex-direction:column;gap:12px;flex-grow:1}.upload-card-content h4{font-size:1.1rem;font-weight:700;color:var(--primary-color)}.upload-detail-item{font-size:.85rem;line-height:1.5;color:var(--text-main)}.upload-detail-item strong{color:var(--primary-light)}.upload-date-badge{font-size:.72rem;font-weight:600;color:var(--text-muted);margin-top:auto;padding-top:10px;border-top:1.5px dashed rgba(12,56,32,.08)}.table-empty-wide{grid-column:1 / -1;text-align:center;padding:50px 20px;color:var(--text-muted);font-style:italic}.logout-btn{cursor:pointer;background-color:#d904291a!important;color:#d90429!important;border:1px solid rgba(217,4,41,.2)!important;font-weight:700}.logout-btn:hover{background-color:#d90429!important;color:var(--white)!important;border-color:#d90429!important}@media(max-width:992px){.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.portal-main{padding:24px 0 60px}.login-card{padding:24px;margin:30px auto}.dashboard-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}.stats-grid{grid-template-columns:1fr;gap:16px}.filters-row{flex-direction:column;align-items:stretch;gap:16px}.admin-tabs{justify-content:center}.search-filter-block{flex-direction:column;align-items:stretch}#admin-search{min-width:unset;width:100%}.data-table,.data-table thead,.data-table tbody,.data-table th,.data-table td,.data-table tr{display:block}.data-table thead{display:none}.data-table tr{background-color:var(--white);border:1px solid rgba(12,56,32,.08);border-radius:var(--radius-md);margin-bottom:20px;padding:16px;box-shadow:var(--shadow-sm)}.data-table td{border-bottom:1px dashed rgba(12,56,32,.05);position:relative;padding:10px 0 10px 45%;min-height:38px;text-align:right}.data-table td:before{position:absolute;top:10px;left:0;width:40%;padding-right:10px;white-space:nowrap;text-align:left;font-weight:700;color:var(--primary-color)}#assigned-jobs-table td:nth-of-type(1):before{content:"Customer Name"}#assigned-jobs-table td:nth-of-type(2):before{content:"Phone"}#assigned-jobs-table td:nth-of-type(3):before{content:"Address"}#assigned-jobs-table td:nth-of-type(4):before{content:"Items Ordered"}#assigned-jobs-table td:nth-of-type(5):before{content:"Amount"}#assigned-jobs-table td:nth-of-type(6):before{content:"Status"}#admin-orders-list td:nth-of-type(1):before{content:"Order ID"}#admin-orders-list td:nth-of-type(2):before{content:"Customer Details"}#admin-orders-list td:nth-of-type(3):before{content:"Address"}#admin-orders-list td:nth-of-type(4):before{content:"Items Ordered"}#admin-orders-list td:nth-of-type(5):before{content:"Subtotal"}#admin-orders-list td:nth-of-type(6):before{content:"Notes"}#admin-orders-list td:nth-of-type(7):before{content:"Assign Worker"}#admin-orders-list td:nth-of-type(8):before{content:"Status Control"}.data-table td:last-child{border-bottom:none}}
