*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#f5a623,#f7b731,#f5a623);min-height:100vh;color:#333}.app{min-height:100vh}.header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#333;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 20px #0000001a}.header h1{font-size:22px;font-weight:700;background:linear-gradient(135deg,#d4a017,#f5a623,#d4a017);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.container{max-width:1200px;margin:0 auto;padding:24px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;border-radius:16px;box-shadow:0 4px 20px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000026}.stat-card h3{font-size:13px;color:#888;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.stat-card .value{font-size:32px;font-weight:700;background:linear-gradient(135deg,#d4a017,#f5a623,#d4a017);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 4px 20px #0000001a}.section h2{font-size:18px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f0f0f0;color:#333}.btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#d4a017,#f5a623);color:#fff;box-shadow:0 4px 15px #d4a01766}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4a01780;background:linear-gradient(135deg,#c49615,#e59b1d)}.btn-danger{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;box-shadow:0 4px 15px #e74c3c66}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e74c3c80}.btn-success{background:linear-gradient(135deg,#27ae60,#1e8449);color:#fff;box-shadow:0 4px 15px #27ae6066}.btn:hover{opacity:.9}.table{width:100%;border-collapse:collapse;border-radius:12px;overflow:hidden}.table th,.table td{padding:14px 16px;text-align:left;border-bottom:1px solid #f0f0f0}.table th{font-weight:600;color:#666;font-size:13px;text-transform:uppercase;letter-spacing:.5px;background:#fafafa}.table tr:hover{background:#fffbf0}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.badge-D{background:linear-gradient(135deg,#fff1f0,#ffccc7);color:#cf1322}.badge-I{background:linear-gradient(135deg,#fff7e6,#ffd591);color:#d46b08}.badge-S{background:linear-gradient(135deg,#f6ffed,#b7eb8f);color:#389e0d}.badge-C{background:linear-gradient(135deg,#f0f5ff,#adc6ff);color:#1d39c4}.badge-weak{background:linear-gradient(135deg,#fff8e6,#ffe8b3);color:#b37800}.badge-medium{background:linear-gradient(135deg,#fff7e6,#ffd591);color:#d46b08}.badge-strong{background:linear-gradient(135deg,#f6ffed,#b7eb8f);color:#389e0d}.warning{background:linear-gradient(135deg,#fff1f0,#ffccc7);border-radius:12px;padding:16px 20px;margin-bottom:16px;color:#cf1322;font-weight:500}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;padding:24px;width:90%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;margin-bottom:6px;color:#666;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:2px solid #e8e8e8;border-radius:8px;font-size:14px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#f5a623;box-shadow:0 0 0 3px #f5a62326}.form-group textarea{min-height:100px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media (max-width: 768px){.container{padding:12px}.form-row{grid-template-columns:1fr 1fr}.table{display:block;overflow-x:auto}.table th,.table td{white-space:nowrap}}@media (max-width: 480px){.form-row{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.header{flex-direction:column;gap:12px}.header h1{font-size:18px}}.app .container .btn:not(.btn-primary){background:#f5f5f5;color:#666}.app .container .btn:not(.btn-primary):hover{background:#e8e8e8}input::placeholder,textarea::placeholder{color:#bbb}fieldset{border:2px solid #e8e8e8;border-radius:12px;padding:16px;margin-bottom:16px}legend{color:#666;font-size:14px;font-weight:600;padding:0 8px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#d4a017,#f5a623);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#c49615,#e59b1d)}.login-container{background:linear-gradient(135deg,#d4a017,#f5a623)}.reminder-item{border-left:4px solid #f5a623;background:#fffbf0}.reminder-item.birthday{border-left-color:#e74c3c}.reminder-item.overdue{background:#fff1f0;border-left-color:#e74c3c}a{color:#d4a017;text-decoration:none}a:hover{color:#f5a623;text-decoration:underline}
