body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0a0e1a,#1a1f2e 50%,#0f1419);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:Fira Code,Roboto Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{height:100vh;overflow:hidden;width:100vw}*{box-sizing:border-box}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0f14234d}::-webkit-scrollbar-thumb{background:#4caf504d;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#4caf5080}.App{background:linear-gradient(135deg,#0a0e1a,#1a1f2e 50%,#0f1419);color:#e8eaed;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}.App:before{background:radial-gradient(circle at 20% 30%,#4caf5014 0,#0000 50%),radial-gradient(circle at 80% 70%,#2196f314 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:0}.login-container{align-items:center;background:linear-gradient(135deg,#1e3a8a,#3b82f6 50%,#60a5fa);background:var(--tech-background) no-repeat center center fixed;background-size:cover;display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.login-container:before{animation:float 20s ease-in-out infinite;background:radial-gradient(circle,#4caf5026 0,#0000 70%);border-radius:50%;content:"";height:600px;position:absolute;right:-20%;top:-50%;width:600px}.login-container:after{animation:float 15s ease-in-out infinite reverse;background:radial-gradient(circle,#2196f31f 0,#0000 70%);border-radius:50%;bottom:-30%;content:"";height:500px;left:-10%;position:absolute;width:500px}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-30px) scale(1.1)}}.login-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#a8dadc);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:48px;font-weight:700;letter-spacing:-1px;margin-bottom:12px}.login-form,.login-title{position:relative;z-index:1}.login-form{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1a1f2eb3;border:1px solid #ffffff1a;border-radius:24px;box-shadow:0 8px 32px 0 #0000005e,inset 0 1px 0 0 #ffffff0d;display:flex;flex-direction:column;gap:24px;max-width:420px;padding:48px 40px;width:100%}.login-input{background:#0f142399;border:1px solid #ffffff1a;border-radius:12px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;font-size:15px;padding:16px 20px;transition:all .3s ease}.login-input:focus{background:#0f1423cc;border-color:#4caf5080;box-shadow:0 0 0 4px #4caf501a;outline:none}.login-input::placeholder{color:#fff6}.login-button{background:linear-gradient(135deg,#4caf50,#2e7d32);border:none;border-radius:12px;box-shadow:0 4px 16px #4caf504d;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;font-size:15px;font-weight:600;letter-spacing:.3px;overflow:hidden;padding:16px 24px;position:relative;text-transform:none;transition:all .3s ease}.login-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.login-button:hover:before{left:100%}.login-button:hover{box-shadow:0 6px 24px #4caf5066;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.login-error{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ff6b6b1a;border-left:3px solid #ff6b6b;border-radius:8px;color:#ff6b6b;font-size:14px;padding:12px 16px;text-align:left}.dashboard-layout{background:linear-gradient(135deg,#0a0e1a,#1a1f2e 50%,#0f1419);display:flex;height:calc(100vh - 64px);margin-top:64px;overflow:hidden;position:relative}.dashboard-content{background:#0f142366;box-sizing:border-box;display:block;flex:1 1;overflow:hidden;padding:0;position:relative}.sidebar-toggle{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1a1f2ecc;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 4px 16px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:20px;height:48px;justify-content:center;left:16px;position:absolute;top:16px;transition:all .3s ease;width:48px;z-index:200}.sidebar-toggle:hover{background:#4caf5033;border-color:#4caf504d;box-shadow:0 6px 24px #4caf5033;transform:translateY(-2px)}.sidebar-toggle:active{transform:translateY(0)}.dashboard-iframe{background-color:#fff;border:none;border-radius:0;height:calc(100% + 55px);margin-top:0;width:100%}.iframe-wrapper{box-sizing:border-box;height:100%;overflow:hidden}.dashboard-placeholder{color:#ffffffb3;font-size:18px;line-height:1.6;max-width:480px;padding:24px;text-align:center}.dashboard-error{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ff6b6b26;border:1px solid #ff6b6b4d;border-radius:12px;box-shadow:0 4px 16px #0000004d;color:#ff6b6b;padding:12px 20px;position:absolute;right:24px;top:24px;z-index:150}.settings-container{background:linear-gradient(135deg,#0a0e1a,#1a1f2e 50%,#0f1419);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:96px 24px 32px;position:relative}.settings-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1a1f2eb3;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 8px 32px #0000004d;color:#fff;max-height:calc(100vh - 128px);max-width:1200px;overflow-y:auto;padding:32px;width:100%}.settings-card h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#4caf50);-webkit-background-clip:text;background-clip:text;border-bottom:1px solid #ffffff1a;color:#fff;font-size:24px;font-weight:600;margin-bottom:20px;margin-top:0;padding-bottom:12px}.settings-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#4caf5026;border-left:4px solid #4caf50;border-radius:12px;color:#81c784;font-size:14px;padding:14px 18px}.settings-loading{color:#ffffff80;font-style:italic;padding:16px;text-align:center}.settings-form,.settings-form-inline{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.settings-input,.settings-input-inline,.settings-readonly{background:#0f142399;border:1px solid #ffffff26;border-radius:12px;color:#fff;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;font-size:15px;min-width:160px;padding:14px 18px;transition:all .3s ease}.settings-input-inline:focus,.settings-input:focus{background:#0f1423cc;border-color:#4caf5099;box-shadow:0 0 0 4px #4caf5026;outline:none}.settings-readonly{background:#0f14234d;color:#ffffff80;cursor:not-allowed}.settings-button,.settings-button-action,.settings-button-inline{border:none;border-radius:12px;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;font-size:15px;font-weight:600;overflow:hidden;padding:12px 28px;position:relative;transition:all .3s ease}.settings-button-action:before,.settings-button-inline:before,.settings-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.settings-button-action:hover:before,.settings-button-inline:hover:before,.settings-button:hover:before{left:100%}.settings-button{background:linear-gradient(135deg,#4caf50,#2e7d32);box-shadow:0 4px 16px #4caf504d;color:#fff}.settings-button-inline:hover,.settings-button:hover{box-shadow:0 6px 24px #4caf5066;transform:translateY(-2px)}.settings-button-inline{background:linear-gradient(135deg,#2196f3,#1976d2);box-shadow:0 4px 16px #2196f34d;color:#fff}.settings-button-action{background:linear-gradient(135deg,#ff9800,#f57c00);box-shadow:0 4px 16px #ff98004d;color:#fff}.settings-button-action:hover{box-shadow:0 6px 24px #ff980066;transform:translateY(-2px)}.settings-button-cancel{background:#5f63684d;border:1px solid #fff3;color:#fffc}.settings-button-cancel:hover{background:#5f636880}.settings-button-delete{background:linear-gradient(135deg,#f44336,#d32f2f);box-shadow:0 4px 16px #f443364d;color:#fff}.settings-button-delete:hover{box-shadow:0 6px 24px #f4433666;transform:translateY(-2px)}.user-list,.view-list{display:flex;flex-direction:column;gap:16px;list-style:none;margin:0 0 24px;padding:0}.user-list-item,.view-list-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f142399;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 4px 16px #0003;padding:20px;transition:all .3s ease}.user-list-item:hover,.view-list-item:hover{background:#0f1423cc;border-color:#4caf504d;box-shadow:0 6px 24px #0000004d;transform:translateY(-2px)}.user-list-row,.view-list-row{align-items:center;display:flex;gap:16px;justify-content:space-between}.user-view-checkboxes,.view-assignment-list{display:flex;flex-wrap:wrap;gap:10px;padding:8px 0}.user-view-checkbox,.view-assignment-item{align-items:center;background:#4caf501a;border:1px solid #4caf504d;border-radius:20px;color:#ffffffe6;display:flex;font-size:14px;gap:8px;padding:8px 14px}.settings-readonly{background-color:initial;border:none;color:#ffffffb3;padding-left:0}.view-url{color:#ffffff80;font-size:13px;margin-top:6px;word-break:break-all}.view-assignment-panel{border-top:1px solid #ffffff1a;margin-top:16px;padding-top:16px}.view-assignment-title{color:#fff9;font-size:14px;font-weight:600;letter-spacing:1px;margin:0 0 12px;text-transform:uppercase}.activity-container{background:linear-gradient(135deg,#0a0e1a,#1a1f2e 50%,#0f1419);box-sizing:border-box;color:#fff;min-height:100vh;padding:96px 24px 32px}.activity-container h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#4caf50);-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700;margin-bottom:24px;margin-top:0}.activity-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ff6b6b26;border-left:4px solid #ff6b6b;border-radius:12px;color:#ff6b6b;margin-bottom:20px;padding:14px 18px}.activity-table{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1a1f2eb3;border:1px solid #ffffff1a;border-collapse:collapse;border-radius:16px;box-shadow:0 8px 32px #0000004d;overflow:hidden;width:100%}.activity-table-header{background:#4caf5026;color:#fff;font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px 20px;text-align:left;text-transform:uppercase}.activity-table-row:nth-child(2n){background:#0f142366}.activity-table-cell{border-bottom:1px solid #ffffff0d;color:#ffffffe6;font-size:14px;padding:16px 20px}.activity-download-button{background:linear-gradient(135deg,#4caf50,#2e7d32);border:none;border-radius:12px;box-shadow:0 4px 16px #4caf504d;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;font-size:15px;font-weight:600;margin-bottom:20px;padding:12px 28px;transition:all .3s ease}.activity-download-button:hover{box-shadow:0 6px 24px #4caf5066;transform:translateY(-2px)}.activity-detail-list{color:#ffffffb3;font-size:14px;list-style-type:disc;margin:0;padding-left:20px}.activity-detail-list li+li{margin-top:4px}.navbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1a1f2ecc;border-bottom:1px solid #ffffff1a;box-shadow:0 2px 16px #0003;box-sizing:border-box;color:#fff;height:64px;justify-content:space-between;left:0;padding:12px 32px;position:fixed;top:0;width:100%;z-index:1000}.navbar,.navbar-brand{align-items:center;display:flex}.navbar-brand{gap:12px}.navbar-logo{filter:drop-shadow(0 2px 8px rgba(76,175,80,.3));height:42px}.navbar-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#4caf50);-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:600;letter-spacing:-.5px}.navbar-links{align-items:center;display:flex;gap:12px;padding-right:16px}.navbar-link{border-radius:10px;color:#fffc;font-size:15px;font-weight:500;padding:10px 20px;position:relative;text-decoration:none;transition:all .3s ease;white-space:nowrap}.navbar-link:before{background:linear-gradient(90deg,#4caf50,#2196f3);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width .3s ease;width:0}.navbar-link:hover{background:#4caf501a;color:#fff}.navbar-link:hover:before{width:80%}.navbar-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:1px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;font-size:14px;font-weight:500;padding:10px 24px;transition:all .3s ease}.navbar-button:hover{background:linear-gradient(135deg,#ff6b6b33,#ff6b6b1a);border-color:#ff6b6b66;box-shadow:0 4px 12px #ff6b6b33;transform:translateY(-2px)}.sidebar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1a1f2ecc;border-right:1px solid #ffffff1a;box-shadow:2px 0 16px #0003;color:#fff;display:flex;flex-direction:column;gap:12px;padding:24px 16px;position:relative;transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s ease;width:280px;z-index:100}.sidebar--closed{overflow:hidden;padding:0;transform:translateX(-100%);width:0}.sidebar--open{transform:translateX(0)}.sidebar-title{color:#ffffff80;font-size:13px;font-weight:600;letter-spacing:1.2px;margin:0 0 12px 16px;text-transform:uppercase}.sidebar-empty{color:#fff6;font-size:14px;padding:12px 16px}.sidebar-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.sidebar-item{margin:0}.sidebar-item--active .sidebar-button{background:linear-gradient(135deg,#4caf5040,#4caf5026);border-left:3px solid #4caf50;box-shadow:0 2px 8px #4caf5033;color:#4caf50;font-weight:600}.sidebar-button{background:#0000;border:none;border-left:3px solid #0000;border-radius:0 12px 12px 0;color:#fffc;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;font-size:15px;overflow:hidden;padding:14px 16px;position:relative;text-align:left;transition:all .3s ease;width:100%}.sidebar-button:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.sidebar-button:hover:before{left:100%}.sidebar-button:focus,.sidebar-button:hover{background:#ffffff0d;color:#fff;outline:none;transform:translateX(4px)}