body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f6f8;color:#17202a}.app{display:flex;min-height:100vh}aside{width:245px;background:#101828;color:white;padding:22px;box-sizing:border-box}aside h1{margin:0 0 25px;font-size:28px}nav a{display:block;color:#d0d5dd;text-decoration:none;padding:11px 10px;border-radius:8px;margin-bottom:4px}nav a:hover{background:#1d2939;color:white}.user{position:fixed;bottom:20px;font-size:13px;color:#d0d5dd}.user a{color:white}main{flex:1}header{background:white;padding:18px 28px;border-bottom:1px solid #e5e7eb}.content{padding:28px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.card{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.04)}table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden}th,td{padding:11px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}th{background:#f9fafb}input,select,textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #d0d5dd;border-radius:8px;margin:4px 0 12px}textarea{min-height:90px}.btn,button{background:#155eef;color:white;border:0;border-radius:8px;padding:10px 14px;text-decoration:none;cursor:pointer;display:inline-block}.btn.secondary{background:#475467}.btn.danger{background:#b42318}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.notice{padding:12px;border-radius:8px;background:#ecfdf3;border:1px solid #abefc6;margin-bottom:15px}.error{background:#fef3f2;border-color:#fecdca}.login{max-width:420px;margin:80px auto}.small{font-size:12px;color:#667085}.actions a{margin-right:8px}
