:root{--primary-green: #105640;--secondary-green: #198460;--light-green: #72bf83;--medium-green: #79b7a1;--pale-green: #c3f4cd;--background: #f2f2f2;--card-bg: #ffffff;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--info-bg: #fffcf0;--border-color: #ddd;--success-bg: #c3f4cd;--success-border: #72bf83;--error-bg: #ffebee;--error-color: #c82333;--error-border: #dc3545;--warning-bg: #fffcf0;--warning-border: #ffb900;--info-bg-light: #e7f5ff;--info-border: #0073aa;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--border-radius: 8px;--border-radius-sm: 4px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Raleway,sans-serif;background-color:var(--background);color:var(--text-primary);line-height:1.6}.container{max-width:1400px;margin:0 auto;padding:20px}header{background-color:var(--primary-green);color:#fff;padding:30px 20px;text-align:center;margin-bottom:30px;border-radius:var(--border-radius)}header h1{font-size:2rem;font-weight:600;margin-bottom:10px}header p{font-size:1rem;opacity:.9}.card{background:var(--card-bg);border-radius:var(--border-radius);padding:30px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.card h2{color:var(--primary-green);margin-bottom:20px;font-size:1.5rem}.form-group{display:flex;flex-direction:column;margin-bottom:20px}.form-group label{font-weight:600;margin-bottom:8px;color:var(--primary-green);display:block}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:1rem;font-family:Raleway,sans-serif}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #1056401a}.form-group textarea{resize:vertical;min-height:80px}.form-group .help-text{font-size:.875rem;color:var(--text-secondary);margin-top:5px}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:25px}.btn{display:inline-block;padding:12px 24px;border:none;border-radius:var(--border-radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;font-family:Raleway,sans-serif}.btn-primary{background-color:var(--secondary-green);color:#fff}.btn-primary:hover{background-color:var(--primary-green)}.btn-secondary{background-color:var(--light-green);color:#fff}.btn-secondary:hover{background-color:var(--secondary-green)}.btn-danger{background-color:var(--error-border);color:#fff}.btn-danger:hover{background-color:var(--error-color)}.btn:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.button-group{display:flex;gap:10px;margin-top:20px}table{width:100%;border-collapse:collapse;margin-top:20px}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--border-color)}th{background-color:var(--primary-green);color:#fff;font-weight:600}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}th.sortable:hover{background-color:var(--secondary-green)}.sort-icon{margin-left:6px;font-size:.8rem;opacity:.5}.sort-icon.active{opacity:1}tr:hover{background-color:#f9f9f9}.actions{display:flex;gap:8px}.badge{display:inline-block;padding:4px 8px;border-radius:var(--border-radius-sm);font-size:.85rem;font-weight:600}.badge-module{background-color:var(--pale-green);color:var(--primary-green)}.badge-type{background-color:var(--info-bg);color:var(--text-secondary)}.message,.alert{padding:15px 20px;border-radius:var(--border-radius-sm);margin-bottom:20px}.message-success,.alert-success{background-color:var(--success-bg);color:var(--primary-green);border:1px solid var(--success-border)}.message-error,.alert-error{background-color:var(--error-bg);color:var(--error-color);border:1px solid var(--error-border)}.alert-warning{background-color:var(--warning-bg);border-left:4px solid var(--warning-border);color:#8a6d3b}.alert-info{background-color:var(--info-bg-light);border-left:4px solid var(--info-border);color:#00537a}.alert{border-left:4px solid}.loading{text-align:center;padding:40px 20px;color:var(--text-secondary)}.loading.active{display:block}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state h3{color:var(--primary-green);margin-bottom:10px}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1000;align-items:center;justify-content:center}.modal.active{display:flex}.modal-content{background:#fff;border-radius:var(--border-radius);padding:30px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2{color:var(--primary-green);margin:0}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary)}.close-btn:hover{color:var(--text-primary)}.hidden{display:none}.text-center{text-align:center}.mt-20{margin-top:20px}.mb-20{margin-bottom:20px}.main-nav{display:flex;gap:5px;background:var(--card-bg);padding:10px;border-radius:var(--border-radius);margin-bottom:20px;flex-wrap:wrap}.nav-item{padding:12px 20px;border:none;background:transparent;color:var(--text-secondary);text-decoration:none;border-radius:var(--border-radius-sm);font-weight:600;cursor:pointer;transition:all .2s;font-family:Raleway,sans-serif;font-size:.95rem}.nav-item:hover{background:var(--pale-green);color:var(--primary-green)}.nav-item.active{background:var(--primary-green);color:#fff}.nav-logout{margin-left:auto;color:var(--error-color)}.nav-logout:hover{background:var(--error-bg)}.main-nav .logout-form{margin-left:auto}.tabs-nav{display:flex;gap:5px;background:var(--card-bg);padding:10px;border-radius:var(--border-radius);margin-bottom:20px;flex-wrap:wrap}.tab{padding:12px 20px;border:none;background:transparent;color:var(--text-secondary);text-decoration:none;border-radius:var(--border-radius-sm);font-weight:600;cursor:pointer;transition:all .2s;font-family:Raleway,sans-serif;font-size:.95rem}.tab:hover{background:var(--pale-green);color:var(--primary-green)}.tab.active{background:var(--primary-green);color:#fff}.tab-logout{margin-left:auto;color:var(--error-color)}.tab-logout:hover{background:var(--error-bg)}.tabs-nav .logout-form{margin-left:auto}.help-text{font-size:.875rem;color:var(--text-secondary)}@media(max-width:768px){.container{padding:10px}header{padding:20px 15px}header h1{font-size:1.5rem}.card{padding:20px}.button-group{flex-direction:column}.btn{width:100%}.main-nav,.tabs-nav{flex-direction:column}.main-nav .logout-form,.tabs-nav .logout-form{margin-left:0;margin-top:10px}.nav-item,.tab{width:100%;text-align:center}}
