*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;color:#2d3748;background-color:#dfeaf6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%2338648f' stroke-opacity='0.18' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='58' cy='58' r='26'/%3E%3Ccircle cx='58' cy='58' r='3'/%3E%3Cpath d='M58 58l13-11'/%3E%3Cpath d='M40 58h6M58 40v6M76 58h-6M58 76v-6'/%3E%3Cpath d='M182 38c10 14 10 24 0 30-10-6-10-16 0-30z'/%3E%3Cpath d='M176 62a6 6 0 0 0 6 6'/%3E%3Cpath d='M64 156l-13 21h12l-7 23 22-29h-12l9-15z'/%3E%3Ccircle cx='182' cy='182' r='24'/%3E%3Cpath d='M167 186a15 15 0 0 1 30 0'/%3E%3Cpath d='M182 186l9-11'/%3E%3Cpath d='M172 196h20'/%3E%3Cpath d='M166 86l16-14 16 14'/%3E%3Cpath d='M170 84v18h24V84'/%3E%3Cpath d='M178 102v-10h8v10'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(165deg,#f2f8fe,#dce9f7 55%,#c7d9ee);background-size:240px 240px,100% 100%;background-attachment:fixed}#app{display:flex;flex-direction:column;align-items:center;min-height:100vh}.login-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:400px;text-align:center;margin-top:10vh}.login-card h1{color:#333;margin-bottom:10px;font-size:28px}.login-card .subtitle{color:#666;margin-bottom:30px;font-size:14px}.icon{font-size:48px;margin-bottom:20px}input,select{width:100%;padding:12px;margin:8px 0;border:1px solid #ddd;border-radius:8px;font-size:14px}button{width:100%;background:#667eea;color:#fff;border:none;padding:12px;font-size:16px;border-radius:8px;cursor:pointer;margin-top:10px}button:hover{background:#5a67d8}.error{color:red;margin-bottom:15px}.header{width:100%;padding:15px 20px;box-sizing:border-box;flex-shrink:0}.logout-btn{background:#e53e3e;color:#fff;padding:8px 16px;border-radius:6px;text-decoration:none;font-size:14px;border:none;cursor:pointer;width:auto}.logout-btn:hover{background:#c53030}.main-container{width:95%;max-width:1600px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:20px;margin-bottom:20px;overflow-x:auto}.admin-card{width:90%;max-width:800px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:30px;margin-bottom:20px}table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}th,td{border:1px solid #e2e8f0;padding:10px 8px;text-align:left;vertical-align:top;word-wrap:break-word;overflow-wrap:anywhere}th{background-color:#edf2f7;font-weight:600;color:#2d3748;position:sticky;top:0;z-index:5}.green-bg{background-color:#c6f7e2}.red-bg{background-color:#fed7d7}.editable:hover{background-color:#e2e8f0!important}.plus-btn{flex-shrink:0;cursor:pointer;font-weight:700;color:#3182ce;background:#ebf4ff;border:1px solid #bee3f8;border-radius:4px;padding:0 6px;font-size:16px;line-height:1.2;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.plus-btn:hover{background:#bee3f8}.subrow td{background-color:#f9fafb;border-top:2px solid #cbd5e0;vertical-align:top;padding:15px}.cell-content{display:flex;align-items:flex-start;gap:4px;flex-wrap:wrap}.cell-text{flex:1;cursor:pointer;word-break:break-word;white-space:normal;min-width:40px;min-height:20px;display:inline-block}.comment{font-size:10px;color:#555;margin-top:4px;width:100%;border-top:1px dashed #ccc;padding-top:2px}.edit-container{position:absolute;left:0;top:0;min-width:200px;max-width:300px;width:auto;background:#fff;border:2px solid #667eea;border-radius:6px;padding:8px;z-index:20;box-shadow:0 4px 12px #00000026}.edit-textarea,.edit-select{width:100%;font-family:inherit;font-size:13px;padding:6px;border:1px solid #cbd5e0;border-radius:4px;margin-bottom:8px}.edit-textarea{min-height:60px;resize:vertical}.edit-buttons{display:flex;gap:8px;justify-content:flex-end}.edit-buttons button{padding:4px 8px;border-radius:4px;border:none;cursor:pointer;font-size:16px;font-weight:700;width:28px;text-align:center}.edit-save{background:#48bb78;color:#fff}.edit-cancel{background:#e53e3e;color:#fff}.form-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 10px #0000000d}.form-group{margin-bottom:15px}.form-group label{display:inline-block;width:120px;font-weight:700}.form-group input,.form-group select{width:200px;padding:6px}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{border:1px solid #ddd;padding:8px;text-align:left}.meter-upload{margin-bottom:10px;border:1px solid #ddd;padding:10px;border-radius:8px}.meter-upload label{display:inline-block;width:120px}.meter-upload .upload-status{margin-left:10px;font-size:14px}.status-green{color:green;font-weight:700}.status-red{color:red;font-weight:700}.thumbnail{max-width:80px;max-height:80px;border-radius:4px;cursor:pointer;display:block;margin-top:5px}.meter-value{display:block;font-weight:700}.meter-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.delete-btn{background:#e53e3e;color:#fff;border:none;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px}.delete-btn:hover{background:#c53030}.nav-container{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center;width:100%}.nav-btn{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:auto;margin:0;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;letter-spacing:.4px;text-transform:uppercase;text-decoration:none;border:none;border-radius:10px;cursor:pointer;background:transparent;box-shadow:none;text-shadow:none;filter:none;transform:none;transition:background .15s ease}.nav-btn.cyan{background:#2f6fed;color:#fff;border:none;box-shadow:none;text-shadow:none}.nav-btn.cyan:hover{background:#2458c0;filter:none;transform:none;box-shadow:none}.nav-btn.red{background:#d64550;color:#fff;border:none;box-shadow:none;text-shadow:none}.nav-btn.red:hover{background:#b93a44;filter:none;transform:none;box-shadow:none}.nav-btn.yellow{background:#dfa32c;color:#fff;border:none;box-shadow:none;text-shadow:none}.nav-btn.yellow:hover{background:#c08d24;filter:none;transform:none;box-shadow:none}.admin-card{width:92%;max-width:760px;background:#fff;border-radius:16px;box-shadow:0 10px 30px #1f3a5f1f;padding:28px 32px;margin:10px auto 30px}.admin-card.wide{max-width:1150px}.page-title{font-size:20px;font-weight:700;color:#1f3a5f;margin-bottom:20px}.section-title{font-size:16px;font-weight:600;color:#33507a;margin:22px 0 12px}.card-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.card-header .page-title{margin-bottom:0}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.form-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.form-row label{min-width:160px;font-weight:600;color:#33507a}.admin-card input,.admin-card select{padding:8px 10px;border:1px solid #c9d7ea;border-radius:8px;font-size:14px;background:#fff;width:auto;margin:0}.admin-card input:focus,.admin-card select:focus{outline:2px solid rgba(47,111,237,.25);border-color:#2f6fed}.input-small{width:90px}.input-medium{width:240px}.multi-select{min-height:110px;min-width:240px}.hint{color:#7a8aa5;font-size:12px;margin:4px 0 14px}.btn{display:inline-flex;align-items:center;justify-content:center;width:auto;margin:0;padding:9px 18px;border:none;border-radius:8px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;cursor:pointer;background:#e2e8f0;color:#2d3748;transition:background .15s ease}.btn-primary{background:#2f6fed;color:#fff}.btn-primary:hover{background:#2458c0}.btn-danger{background:#d64550;color:#fff}.btn-danger:hover{background:#b93a44}.btn-small{padding:5px 12px;font-size:12px}.admin-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:auto}.admin-table th,.admin-table td{padding:10px 12px;border:none;border-bottom:1px solid #e3ebf5;text-align:left;vertical-align:middle;position:static;overflow-wrap:normal;word-wrap:normal}.admin-table th{background:#eaf1fa;color:#33507a;font-weight:600}.admin-table tbody tr:nth-child(2n){background:#f7fafd}.admin-table tbody tr:hover{background:#eef4ff}.empty-note{text-align:center;color:#7a8aa5;padding:18px 0}.status-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.status-badge.ok{background:#e5f7ec;color:#1d7a3d}.status-badge.fail{background:#fde8e8;color:#b23b3b}.status-badge.neutral{background:#e8eef7;color:#33507a}.form-note{margin-top:14px;font-size:14px;font-weight:600}.msg-ok{color:#1d7a3d}.msg-err{color:#b23b3b}.muted{color:#9aa7bd}.no-photo{color:#b6c2d6;font-size:12px}.expenses-table .table-input{width:100%;padding:6px 8px;border:1px solid #c9d7ea;border-radius:6px;font-size:13px;background:#fff;box-sizing:border-box}.expenses-table .table-input:focus{outline:2px solid rgba(47,111,237,.25);border-color:#2f6fed}.expenses-table tr.row-selected{background:#dbeafe!important}.expenses-table tfoot td{font-size:14px;padding:8px 12px;border-bottom:1px solid #e3ebf5}.expenses-table tfoot tr:last-child td{border-bottom:2px solid #2f6fed}
