/* ==========================================
   DRILLBIT GUIDE ANIMATIONS v3
   ========================================== */

/* === CONTAINER === */
.guide-anim{border:1px solid #e2e2e0;border-radius:16px;overflow:hidden;margin:28px 0 32px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,0.04)}
.ga-slides{position:relative}
.ga-slide{display:none}
.ga-slide.active{display:block}

.guide-anim{position:relative;z-index:0;overflow:hidden;border-radius:14px;margin-bottom:24px;border:1px solid #e5e5e0;background:#fff}

/* === VIEWPORT (animation stage) === */
.ga-viewport{position:relative;height:340px;overflow:hidden;background:#eceae6}

/* === INFO === */
.ga-info{padding:18px 22px 14px;font-family:var(--db-font,system-ui,sans-serif)}
.ga-step-badge{display:inline-block;font-size:10px;font-weight:700;color:#1967D2;background:#E8F0FE;padding:4px 12px;border-radius:20px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.8px}
.ga-info h3{font-size:16px;font-weight:600;margin-bottom:4px;color:#1a1a1a}
.ga-info p{font-size:13px;color:#6b6b6b;line-height:1.55;margin:0}

/* === CONTROLS === */
.ga-controls{display:none}
.ga-viewport{cursor:pointer;position:relative}
.ga-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease}
.ga-overlay.on{opacity:1;pointer-events:auto}
.ga-overlay-btn{width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;cursor:pointer}
.ga-overlay-btn svg{width:22px;height:22px;color:#333;margin-left:3px}
.ga-overlay-btn .reset-ico{position:absolute;bottom:10px;right:10px}
.ga-reset-float{position:absolute;bottom:8px;right:8px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:201;opacity:0;pointer-events:none;transition:opacity .25s ease}
.ga-reset-float.on{opacity:1;pointer-events:auto}
.ga-reset-float svg{width:13px;height:13px;color:#333}
.ga-progress{height:3px;background:#eee;border-radius:2px}
.ga-progress-bar{height:100%;background:#4285f4;transition:width .5s ease;border-radius:2px}

/* === CURSOR === */
.ga-cursor{position:absolute;width:20px;height:24px;z-index:100;pointer-events:none;opacity:0;filter:drop-shadow(1px 2px 2px rgba(0,0,0,.25))}
.ga-cursor.vis{opacity:1}

/* === SCENE: each phase lives in a .sc layer === */
.sc{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .5s ease;font-family:var(--db-font,system-ui,sans-serif)}
.sc.on{opacity:1;pointer-events:auto}

/* ---- SCENE 1: EMAIL ---- */



@keyframes npop{0%{opacity:0;transform:translateX(-50%) scale(.5) translateY(-8px)}100%{opacity:1;transform:translateX(-50%) scale(1) translateY(0)}}

@keyframes ngone{to{opacity:0;transform:translateX(-50%) scale(.9) translateY(-8px)}}







@keyframes ecpop{0%{opacity:0;transform:scale(.85)}100%{opacity:1;transform:scale(1)}}














@keyframes egl{0%,100%{opacity:.3;box-shadow:0 0 0 0 rgba(66,133,244,.2)}50%{opacity:1;box-shadow:0 0 0 6px rgba(66,133,244,0)}}



/* ---- SCENE 2: HOMEPAGE ---- */













/* Dropdown */







/* ---- SCENE 3: LOGIN ---- */

























@keyframes spin{to{transform:rotate(360deg)}}

/* Typing cursor */

@keyframes tcb{50%{opacity:0}}

/* ---- SCENE 4: DASHBOARD ---- */
.sc-dash{background:#fff;display:flex}
.ds-side{width:115px;background:#fafafc;border-right:1px solid #eee;padding:12px 0;display:flex;flex-direction:column;gap:1px}
.ds-side-logo{display:flex;align-items:center;gap:5px;padding:0 12px 14px}
.ds-side-logo i{width:18px;height:18px;background:#4285f4;border-radius:5px;display:block}
.ds-side-logo span{font-size:12px;font-weight:600;color:#1a1a1a}
.ds-nav{padding:8px 12px;font-size:10px;color:#999;display:flex;align-items:center;gap:7px;margin-right:6px;border-radius:0 7px 7px 0}
.ds-nav i{width:14px;height:14px;border-radius:4px;background:currentColor;opacity:.2;display:block}
.ds-nav.act{background:#4285f4;color:#fff;font-weight:600}
.ds-nav.act i{opacity:.5}
.ds-body{flex:1;padding:12px 16px;overflow:hidden}
.ds-top{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-bottom:12px}
.ds-uname{font-size:10px;color:#888}
.ds-uname b{color:#333}
.ds-av{width:28px;height:28px;border-radius:50%;background:#9c5fff;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.ds-cards{display:flex;gap:10px;margin-bottom:12px}
.ds-card{flex:1;border:1px solid #eee;border-radius:11px;padding:12px;position:relative;opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease}
.ds-card.pop{opacity:1;transform:translateY(0)}
.ds-card-lbl{font-size:10px;color:#aaa;margin-bottom:1px}
.ds-card-val{font-size:20px;font-weight:700;color:#1a1a1a}
.ds-card-ico{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.ds-card-ico svg{width:14px;height:14px}
.ds-chart{border:1px solid #eee;border-radius:11px;padding:12px 14px;opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease}
.ds-chart.pop{opacity:1;transform:translateY(0)}
.ds-chart-hd{font-size:11px;font-weight:600;color:#1a1a1a;margin-bottom:12px;display:flex;justify-content:space-between}
.ds-chart-hd span{font-size:9px;color:#aaa;background:#f5f5f3;padding:2px 7px;border-radius:4px}
.ds-bars{display:flex;align-items:stretch;gap:5px;height:65px}
.ds-bar-c{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.ds-bar{width:100%;max-width:24px;background:#4285f4;border-radius:3px 3px 0 0;height:0;transition:height .7s cubic-bezier(.34,1.56,.64,1)}
.ds-bar-l{font-size:8px;color:#ccc;margin-top:4px}

/* ---- TIP CALLOUT (inline, not overlay) ---- */
.ga-tip{position:absolute;z-index:40;background:#fffde7;border:1px solid #f0e68c;border-radius:10px;padding:10px 14px;box-shadow:0 4px 16px rgba(0,0,0,.08);opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .35s ease,transform .35s ease;display:flex;align-items:flex-start;gap:8px;max-width:280px;font-family:var(--db-font,system-ui,sans-serif)}
.ga-tip.on{opacity:1;transform:translateY(0)}
.ga-tip-ico{width:20px;height:20px;flex-shrink:0;margin-top:1px}
.ga-tip-ico svg{width:20px;height:20px}
.ga-tip-txt{font-size:11px;color:#5d4e00;line-height:1.5}
.ga-tip-txt b{font-weight:600;color:#3e3300}

/* ---- ERROR POPUP (kept for other uses) ---- */









/* ---- LOGIN FIELD ERROR STATE ---- */


@keyframes fshake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

/* ---- SUCCESS CHECKMARK ---- */






/* ---- TOAST NOTIFICATION ---- */
.ga-toast{position:absolute;top:10px;right:10px;background:#fff;border-radius:10px;padding:10px 14px;box-shadow:0 4px 20px rgba(0,0,0,.12);display:flex;align-items:center;gap:8px;z-index:50;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .3s ease,transform .3s ease;max-width:260px;font-family:var(--db-font,system-ui,sans-serif)}
.ga-toast.on{opacity:1;transform:translateY(0)}
.ga-toast-ico{width:22px;height:22px;flex-shrink:0}
.ga-toast-ico svg{width:22px;height:22px}
.ga-toast-txt{font-size:11px;color:#333;line-height:1.4}
.ga-toast-bar{position:absolute;bottom:0;left:10px;right:10px;height:3px;background:#eee;border-radius:2px;overflow:hidden}
.ga-toast-bar-fill{height:100%;background:#1D9E75;width:100%;border-radius:2px}
.ga-toast-bar-fill.run{animation:toastBar 2s linear forwards}
@keyframes toastBar{from{width:100%}to{width:0%}}

/* ---- FORGOT PASSWORD PAGE ---- */














/* ---- RESET PASSWORD PAGE ---- */




/* ---- RESET EMAIL CARD (compact) ---- */













/* ---- PROFILE DROPDOWN ---- */



















/* ---- USER DASHBOARD (after switch) ---- */


































/* ---- ACCOUNT INFO PAGE ---- */



























/* ---- CHANGE PASSWORD PAGE ---- */























/* ---- ANNOUNCEMENTS PAGE ---- */
.sc-announce{background:#f0f0ee;display:flex}
.an-side{width:115px;background:#fafafc;border-right:1px solid #eee;padding:12px 0;display:flex;flex-direction:column;gap:1px}
.an-side-logo{display:flex;align-items:center;gap:5px;padding:0 12px 14px}
.an-side-logo i{width:18px;height:18px;background:#4285f4;border-radius:5px;display:block}
.an-side-logo span{font-size:12px;font-weight:600;color:#1a1a1a}
.an-nav{padding:8px 12px;font-size:10px;color:#999;display:flex;align-items:center;gap:7px;margin-right:6px;border-radius:0 7px 7px 0}
.an-nav i{width:14px;height:14px;border-radius:4px;background:currentColor;opacity:.2;display:block}
.an-body{flex:1;padding:14px 16px;overflow:hidden;position:relative}
.an-top{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-bottom:8px}
.an-uname{font-size:10px;color:#888}
.an-uname b{color:#333}
.an-av{width:28px;height:28px;border-radius:50%;background:#9c5fff;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.an-breadcrumb{font-size:10px;color:#888;margin-bottom:12px}
.an-breadcrumb b{color:#1a1a1a;font-weight:600}
.an-tabs{display:flex;gap:0;margin-bottom:14px}
.an-tab{padding:7px 14px;font-size:10px;font-weight:600;border:none;background:#eee;color:#888;cursor:default;border-radius:6px 6px 0 0;transition:all .15s}
.an-tab.act{background:#4285f4;color:#fff}

.an-empty{border:1px solid #ddd;border-radius:8px;padding:20px;text-align:center;color:#aaa;font-size:11px;background:#fff}
.an-empty-ico{font-size:16px;margin-bottom:4px;opacity:.4}
.an-fab{position:absolute;bottom:14px;right:14px;width:36px;height:36px;border-radius:50%;background:#4285f4;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:300;cursor:default;box-shadow:0 3px 12px rgba(66,133,244,.3);transition:transform .15s}
.an-fab.hl{transform:scale(1.1)}

/* Slide panel */
.an-panel{position:absolute;top:0;right:0;bottom:0;width:55%;background:#fff;box-shadow:-4px 0 24px rgba(0,0,0,.1);z-index:20;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;padding:16px 18px;overflow-y:auto}
.an-panel.on{transform:translateX(0)}
.an-panel-close{position:absolute;top:10px;right:14px;font-size:16px;color:#aaa;cursor:default}
.an-panel-art{height:80px;background:#f0f2f8;border-radius:10px;margin-bottom:14px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.an-panel-art-person{width:40px;height:50px;background:#4285f4;border-radius:10px;position:relative}
.an-panel-art-person::before{content:'';position:absolute;top:-12px;left:10px;width:20px;height:20px;background:#f5c6a0;border-radius:50%}
.an-panel-art-dots{position:absolute;top:10px;right:20px;display:flex;gap:5px;flex-wrap:wrap;width:40px}
.an-panel-art-dots i{width:8px;height:8px;border-radius:50%;display:block}
.an-panel-grp{margin-bottom:10px}
.an-panel-lbl{font-size:10px;font-weight:500;color:#777;margin-bottom:3px;display:block}
.an-panel-inp{width:100%;height:32px;border:1.5px solid #ddd;border-radius:6px;background:#fff;padding:0 10px;font-size:11px;color:#1a1a1a;display:flex;align-items:center;transition:border-color .2s,box-shadow .2s;overflow:hidden}
.an-panel-inp.fc{border-color:#4285f4;box-shadow:0 0 0 3px rgba(66,133,244,.1)}
.an-panel-textarea{width:100%;height:70px;border:1.5px solid #ddd;border-radius:6px;background:#fff;padding:8px 10px;font-size:11px;color:#1a1a1a;transition:border-color .2s,box-shadow .2s;overflow:hidden;line-height:1.5;display:block}
.an-panel-textarea.fc{border-color:#4285f4;box-shadow:0 0 0 3px rgba(66,133,244,.1)}
.an-panel-btn{width:100%;height:34px;background:#4285f4;color:#fff;border:none;border-radius:7px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:5px;transition:all .15s;cursor:default;margin-top:10px}
.an-panel-btn.press{transform:scale(.97);background:#3367c7}
.an-panel-btn .ldot{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;display:none;animation:spin .5s linear infinite}
.an-panel-btn.ld .ldot{display:inline-block}

/* Announcement item (after creation) */
.an-item{border:1px solid #ddd;border-radius:8px;padding:12px 14px;background:#fff;opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}
.an-item.pop{opacity:1;transform:translateY(0)}



.an-item.found{border-color:#4285f4;box-shadow:0 0 0 3px rgba(66,133,244,.12)}
.an-search-box.fc{border-color:#4285f4 !important;box-shadow:0 0 0 2px rgba(66,133,244,.1)}

/* ---- FULL DASHBOARD (for dashboard article) ---- */





























/* Mini bar chart */




/* SVG donut/pie */











/* Similarity ranges line */






/* Dashboard highlight for individual sections */



/* User management highlights above blur */





/* Individual action card highlight */










/* ---- USER MANAGEMENT PAGE ---- */










































/* Highlight row */



/* Confirmation dialog overlay */













/* Edit/Add User slide panel */














/* Stats popup overlay */

























/* ---- FAB POPUP MENU ---- */










/* ---- ADD USER PANEL (slide-over right) ---- */




















/* ---- ADD MULTIPLE USERS: upload page scene ---- */

























/* ---- CSV preview modal ---- */

























/* ---- ADMIN REPORTS PAGE SCENE ---- */


























/* Download notification popup (browser-like) */












/* ---- REPORTS RESULTS POPUP ---- */


















/* Score badges */






/* Form filled state */





/* ---- MAIL DIALOG (submissions report) ---- */













/* Confirm dialogs inside reports need to be above results popup (z-index:25) */


/* ---- EMAIL PREVIEW (submissions report) ---- */














/* ---- REPOSITORY SCENES ---- */













/* Upload page scene */






















/* Metadata form below upload */















/* Repo select dropdown */




/* Repo delete button */





/* ---- INTEGRATIONS PAGE SCENE ---- */

























/* Tooltip cards for overview */





/* ---- INTEGRATION SETUP PANEL (slide-over) ---- */













/* Know More link on card */




/* Moodle details page */















/* ---- SECURITY SETTINGS SCENE ---- */















/* OTP login page */
















/* ---- SUPPORT CENTRE SCENE ---- */



















/* Create ticket panel */

















/* Ticket details page */


















/* ---- USER MY FOLDERS SCENE ---- */























/* User profile dropdown */













/* User account info page */












/* === RESPONSIVE === */
@media(max-width:640px){
  .ga-viewport{height:280px}
  
  
  
  .ds-side,.ud-side,.ai-side,.cp-side,.an-side,.df-side,.um-side{width:80px}
  
  
  
  
  
  .an-panel{width:70%}
}

/* ======================================================================
   USER SECTION ANIMATIONS — NEW SCENES
   ====================================================================== */

/* --- Shared user top bar & breadcrumb bar --- */





/* --- USER CHANGE PASSWORD (uChangePw) --- */






/* --- USER DASHBOARD (uDashOverview, uDashCharts, uDashDocTypes) --- */

























/* Charts */
















/* Doc types */











/* --- FOLDER MANAGEMENT (uFolderTable, uFolderView) --- */















/* --- NEW FOLDER (uNewFolder) --- */






















/* --- FILE UPLOAD (uUploadEnglish, uUploadRegional) --- */




























/* --- SUBMISSIONS (uSubOverview, uSubAnalysis) --- */

















/* Analysis page */









































/* --- DOC ERRORS (uDocError) --- */









/* --- REPOSITORY (uRepoUpload, uRepoManage) --- */






















/* --- MFA (uMfa) --- */






/* --- SUPPORT CENTRE (uSupCreate, uSupView) --- */






/* --- FOLDER TABLE ROWS --- */


/* --- FOLDER TABLE ICON (matches screenshot blue folder) --- */



/* --- SUBMISSIONS TABLE ROWS --- */


