*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg-main:#121212;--bg-surface:#1e1e1e;--bg-elevated:#252525;--bg-input:#2a2a2a;--border:#2d2d2d;--border-input:#3d3d3d;--text:#e0e0e0;--text-muted:#888;--accent:#fd0;--accent-text:#000;--danger:#e53935;--success:#43a047;--radius:6px}html{font-size:16px;scroll-behavior:smooth}body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--bg-main);color:var(--text);min-height:100vh;line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.2rem;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;transition:opacity .15s , transform .1s;white-space:nowrap}.btn:hover{opacity:.85}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border-input)}.btn-outline:hover{background:var(--bg-elevated)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:.3rem .75rem;font-size:.8rem}.btn-full{width:100%}.btn-icon{background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:.4rem;border-radius:var(--radius);line-height:1;transition:color .15s , background .15s}.btn-icon:hover{color:var(--text);background:var(--bg-elevated)}.btn-link{background:none;border:none;color:var(--accent);font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;font-family:inherit}.btn-link:hover{text-decoration:underline}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:60px;background:var(--bg-surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-brand{display:flex;align-items:center;gap:.6rem;font-size:1.25rem;font-weight:700;color:var(--accent);letter-spacing:-.02em}.header-logo{height:50px;width:50px;object-fit:contain}.header-actions{display:flex;align-items:center;gap:.75rem}.user-info{color:var(--text-muted);font-size:.85rem}.main-content{padding:1.5rem;max-width:1400px;margin:0 auto}.page-title{font-size:1rem;font-weight:600;color:var(--text-muted);margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:.05em}.table-wrapper{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table thead{background:var(--bg-surface)}.data-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr{background:var(--bg-main);cursor:pointer;transition:background .1s}.data-table tbody tr:hover{background:var(--bg-elevated)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.own-row{border-left:3px solid var(--accent)}.empty-row td,.loading-row td{text-align:center;color:var(--text-muted);padding:3rem!important;cursor:default}.badge{display:inline-block;padding:.1rem .45rem;background:var(--accent);color:var(--accent-text);border-radius:999px;font-size:.65rem;font-weight:700;vertical-align:middle;margin-left:.3rem}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:720px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2{font-size:1.05rem;color:var(--text)}.modal-body{overflow-y:auto;padding:1.5rem;flex:1}.modal-footer{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border);flex-shrink:0}.form-section{margin-bottom:1.75rem}.form-section h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem}.form-group label{font-size:.78rem;color:var(--text-muted);font-weight:500}.form-group input,.form-group textarea,.form-group select{padding:.55rem .75rem;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius);color:var(--text);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .15s;width:100%}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent)}.form-group input[readonly],.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background:var(--bg-main);color:var(--text-muted);cursor:default;border-color:var(--border)}.form-group textarea{resize:vertical;min-height:80px}input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.signature-wrapper{border:2px dashed var(--border-input);border-radius:var(--radius);background:#fff;overflow:hidden;margin-bottom:.5rem;position:relative}#signatureCanvas{display:block;width:100%;height:160px;cursor:crosshair;touch-action:none}.signature-view-img{display:block;width:100%;height:160px;object-fit:contain;background:#fff}.no-signature-text{display:flex;align-items:center;justify-content:center;height:160px;color:#aaa;font-style:italic;font-size:.85rem;background:#fff}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.login-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem;width:100%;max-width:380px;box-shadow:0 10px 40px rgba(0,0,0,.4)}.login-logo{display:flex;justify-content:center;margin-bottom:1rem}.login-logo img{max-height:60px;max-width:100%;object-fit:contain}.login-card h1{font-size:1.7rem;color:var(--accent);margin-bottom:.25rem;text-align:center}.login-card .login-subtitle{color:var(--text-muted);font-size:.85rem;margin-bottom:2rem;text-align:center}.msg-error{background:rgba(229,57,53,.15);border:1px solid rgba(229,57,53,.5);border-radius:var(--radius);color:#ef9a9a;padding:.75rem 1rem;font-size:.85rem;margin-top:.75rem}.msg-success{background:rgba(67,160,71,.15);border:1px solid rgba(67,160,71,.5);border-radius:var(--radius);color:#a5d6a7;padding:.75rem 1rem;font-size:.85rem;margin-top:.75rem}.tab-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;gap:1rem;flex-wrap:wrap}.tab-buttons{display:flex;gap:.25rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:.25rem}.tab-btn{padding:.45rem 1.1rem;border:none;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--text-muted);font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s , color .15s}.tab-btn:hover{color:var(--text)}.tab-btn.active{background:var(--bg-elevated);color:var(--text)}.tab-content{}.action-cell{display:flex;gap:.4rem;align-items:center}.hidden{display:none!important}.text-muted{color:var(--text-muted)}.mt-1{margin-top:.5rem}@media (max-width:768px){.form-row{grid-template-columns:1fr}.header-actions .user-info{display:none}.main-content{padding:1rem}.modal-container{max-height:95vh}}@media (max-width:580px){.data-table .col-hide-mobile{display:none}.app-header{padding:0 1rem}}