*{box-sizing:border-box;margin:0;padding:0}.layout{min-height:100vh;font-family:system-ui,sans-serif;display:flex}.sidebar{color:#fff;background:#1a1a2e;flex-direction:column;flex-shrink:0;width:220px;display:flex}.sidebar-brand{border-bottom:1px solid #ffffff1a;padding:1.5rem 1rem;font-size:1.2rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem 0;display:flex}.nav-item{color:#ffffffbf;border-radius:4px;margin:0 .5rem;padding:.6rem 1rem;text-decoration:none;transition:background .15s}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#fff;background:#ffffff26;font-weight:600}.sidebar-footer{border-top:1px solid #ffffff1a;padding:1rem}.sidebar-user{color:#fff9;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.5rem;font-size:.8rem;overflow:hidden}.signout-btn{color:#ffffffbf;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:4px;width:100%;padding:.3rem .75rem;font-size:.8rem}.signout-btn:hover{color:#fff;background:#ffffff14}.main-content{background:#f5f5f5;flex:1;padding:2rem;overflow-y:auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-header h1{font-size:1.5rem}.btn{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.btn-primary{color:#fff;background:#1a1a2e}.btn-primary:hover{background:#2a2a4e}.btn-danger{color:#fff;background:#c0392b}.btn-danger:hover{background:#a93226}.btn-ghost{color:#333;background:0 0;border:1px solid #ccc}.btn-ghost:hover{background:#eee}table{border-collapse:collapse;background:#fff;border-radius:6px;width:100%;overflow:hidden;box-shadow:0 1px 4px #00000014}th,td{text-align:left;border-bottom:1px solid #eee;padding:.75rem 1rem;font-size:.9rem}th{color:#444;background:#f0f0f0;font-weight:600}tr:last-child td{border-bottom:none}.actions{gap:.5rem;display:flex}.modal-backdrop{z-index:100;background:#0006;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-box{background:#fff;border-radius:8px;width:100%;max-width:560px;padding:1.5rem;box-shadow:0 8px 32px #0003}.modal-box h2{margin-bottom:1.25rem;font-size:1.2rem}.form-group{margin-bottom:1rem}.form-group label{color:#555;margin-bottom:.3rem;font-size:.85rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;padding:.5rem .75rem;font-size:.9rem}.form-group textarea{resize:vertical;min-height:80px}.form-row{gap:1rem;display:flex}.form-row .form-group{flex:1}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.badge{border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-green{color:#155724;background:#d4edda}.badge-gray{color:#383d41;background:#e2e3e5}.badge-blue{color:#004085;background:#cce5ff}.dtp-row{align-items:stretch;gap:.5rem;display:flex}.dtp-row input,.dtp-row select{width:auto}.dtp-date{flex:1;min-width:0}.dtp-select{flex:none}.dtp-minute{width:5rem}.checkbox-inline{cursor:pointer;align-items:center;gap:.5rem;margin-bottom:0;font-size:.9rem;display:flex!important}.checkbox-group{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.25rem;display:grid}.form-group .checkbox-group label{color:#333;cursor:pointer;align-items:center;gap:.375rem;margin-bottom:0;font-size:.875rem;font-weight:400;display:flex}
