:root{ --bg:#0a192f;--bg2:#0d2340;--bg3:#0e3460; --ocean:#0288D1;--teal:#26C6DA;--foam:#80DEEA; --text:#e8f4fd;--muted:#7fb3cc; --surface:rgba(255,255,255,0.06);--surface2:rgba(255,255,255,0.11); --border:rgba(255,255,255,0.09);--border2:rgba(38,198,218,0.28); --warn:#FFB74D;--danger:#EF5350;--success:#66BB6A;--purple:#b39ddb; --H:'Figtree',sans-serif;--B:'Poppins',sans-serif; --r:14px;--rs:8px; } *,*::before,*::after{box-sizing:border-box;margin:0;padding:0} html{scroll-behavior:smooth} body{background:linear-gradient(135deg,var(--bg) 0%,var(--bg2) 45%,var(--bg3) 100%);color:var(--text);font-family:var(--B);min-height:100vh;overflow-x:hidden} body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 70% 50% at 90% 5%,rgba(0,188,212,.1) 0%,transparent 55%),radial-gradient(ellipse 50% 60% at 5% 90%,rgba(2,136,209,.08) 0%,transparent 55%);pointer-events:none;z-index:0} /* MARQUEE */ .marquee-wrap{background:rgba(0,0,0,.18);border-bottom:1px solid var(--border);padding:7px 0;overflow:hidden;position:relative;z-index:5;flex-shrink:0} .marquee-track{display:flex;animation:mq 80s linear infinite;white-space:nowrap;width:max-content} .marquee-track:hover{animation-play-state:paused} .mq-item{font-family:var(--B);font-size:11.5px;font-weight:300;color:var(--muted);padding:0 52px} .mq-item strong{color:var(--teal);font-weight:600} @keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}} /* LAYOUT */ .app{display:flex;min-height:100vh;position:relative;z-index:1} /* SIDEBAR */ .sidebar{width:230px;flex-shrink:0;background:rgba(10,25,47,.88);backdrop-filter:blur(18px);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 0;position:sticky;top:0;height:100vh;overflow-y:auto} .logo{padding:0 18px 18px;border-bottom:1px solid var(--border);margin-bottom:14px} .logo-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--ocean),var(--teal));display:flex;align-items:center;justify-content:center;font-family:var(--H);font-weight:900;font-size:13px;color:#fff;margin-bottom:9px;box-shadow:0 4px 15px rgba(0,188,212,.3)} .logo-t{font-family:var(--H);font-size:12.5px;font-weight:800;color:#f0f8ff;letter-spacing:.05em} .logo-s{font-size:10px;color:var(--muted);font-weight:300;margin-top:1px} .nav-sec{padding:0 8px;margin-bottom:16px} .nav-lbl{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0 10px;margin-bottom:5px;font-weight:600} .ni{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--rs);cursor:pointer;font-size:13px;color:var(--muted);font-family:var(--B);font-weight:400;border:1px solid transparent;transition:all .17s;user-select:none} .ni:hover{background:var(--surface);color:var(--text)} .ni.active{background:rgba(38,198,218,.12);color:var(--teal);border-color:rgba(38,198,218,.2);font-weight:600} .ni-ic{font-size:14px;width:18px;text-align:center;flex-shrink:0} .tdot{width:7px;height:7px;border-radius:50%;flex-shrink:0} .nbadge{margin-left:auto;background:var(--ocean);color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;font-family:var(--H)} /* MAIN */ .main{flex:1;display:flex;flex-direction:column;min-width:0} .main-scroll{flex:1;padding:26px 30px;overflow-y:auto} /* PAGE HEADER */ .ph{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px} .pt{font-family:var(--H);font-size:24px;font-weight:800;line-height:1.2} .pt span{background:linear-gradient(90deg,var(--teal),var(--foam));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text} .ps{font-size:12px;color:var(--muted);margin-top:3px;font-weight:300} .mood{font-size:11.5px;color:var(--teal);margin-top:3px;font-weight:500;font-style:italic;opacity:.85} .ha{display:flex;gap:8px;flex-wrap:wrap} /* BUTTONS */ .btn{padding:8px 16px;border-radius:var(--rs);font-size:13px;font-weight:600;cursor:pointer;border:none;font-family:var(--H);transition:all .18s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px} .bp{background:linear-gradient(135deg,var(--ocean),var(--teal));color:#fff;box-shadow:0 4px 15px rgba(0,188,212,.22)} .bp:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,188,212,.32)} .bg{background:var(--surface);color:var(--muted);border:1px solid var(--border)} .bg:hover{background:var(--surface2);color:var(--text)} .bw{background:rgba(255,183,77,.12);color:var(--warn);border:1px solid rgba(255,183,77,.22)} /* STATS */ .sg{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px} .sc{background:var(--surface);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--r);padding:17px 19px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s;animation:fu .5s ease backwards} .sc:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.2)} .sc::after{content:'';position:absolute;top:-20px;right:-20px;width:70px;height:70px;border-radius:50%;opacity:.08} .sc.c1::after{background:var(--teal)}.sc.c2::after{background:var(--warn)}.sc.c3::after{background:var(--danger)}.sc.c4::after{background:var(--success)} .sl{font-size:10.5px;color:var(--muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase} .sv{font-family:var(--H);font-size:30px;font-weight:900;margin:5px 0 3px;line-height:1} .sc.c1 .sv{color:var(--teal)}.sc.c2 .sv{color:var(--warn)}.sc.c3 .sv{color:var(--danger)}.sc.c4 .sv{color:var(--success)} .ss{font-size:11px;color:var(--muted);font-weight:300} .sc:nth-child(1){animation-delay:.05s}.sc:nth-child(2){animation-delay:.1s}.sc:nth-child(3){animation-delay:.15s}.sc:nth-child(4){animation-delay:.2s} /* GRID */ .cg{display:grid;grid-template-columns:1fr 315px;gap:18px} .cm{display:flex;flex-direction:column;gap:18px} .cs{display:flex;flex-direction:column;gap:18px} /* CARD */ .card{background:var(--surface);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--r);overflow:hidden} .ch{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--border)} .ct{font-family:var(--H);font-size:14px;font-weight:700} .ca{font-size:12px;color:var(--teal);cursor:pointer;font-weight:600;background:none;border:none;font-family:var(--H)} .ca:hover{opacity:.75} .cb{padding:16px 18px} /* FILTER CHIPS */ .fb{display:flex;gap:7px;margin-bottom:13px;flex-wrap:wrap} .chip{padding:5px 12px;border-radius:20px;font-size:11.5px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:var(--H);transition:all .15s} .chip.active{background:linear-gradient(135deg,var(--ocean),var(--teal));color:#fff;border-color:transparent} .chip:hover:not(.active){background:var(--surface2);color:var(--text)} /* TABLE */ .pt-t{width:100%;border-collapse:collapse} .pt-t th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0 10px 9px 0;text-align:left} .pt-t td{padding:10px 10px 10px 0;border-top:1px solid var(--border);vertical-align:top;font-size:13px} .pt-t tr:hover td{background:rgba(255,255,255,.02)} .pn{font-weight:600;color:var(--text);font-family:var(--H);font-size:13px} .pd{font-size:11px;color:var(--muted);margin-top:2px;font-weight:300} .pf{margin-top:5px;display:flex;flex-wrap:wrap;gap:4px} .fchip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:rgba(38,198,218,.1);border:1px solid rgba(38,198,218,.2);border-radius:12px;font-size:10.5px;color:var(--teal);font-weight:600;cursor:pointer;transition:all .15s;text-decoration:none;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .fchip:hover{background:rgba(38,198,218,.18)} .fadd{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;background:rgba(255,255,255,.04);border:1px dashed var(--border);border-radius:12px;font-size:10.5px;color:var(--muted);cursor:pointer;transition:all .15s} .fadd:hover{border-color:var(--teal);color:var(--teal)} /* TAGS */ .tag{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;font-family:var(--H)} .ta{background:rgba(255,183,77,.15);color:var(--warn)} .ts{background:rgba(38,198,218,.15);color:var(--teal)} .tc2{background:rgba(2,136,209,.2);color:var(--foam)} .te{background:rgba(102,187,106,.15);color:var(--success)} .ted{background:rgba(149,117,205,.15);color:var(--purple)} .prio{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600} .pd2{width:6px;height:6px;border-radius:50%} .ph2{color:var(--danger)}.ph2 .pd2{background:var(--danger)} .pm{color:var(--warn)}.pm .pd2{background:var(--warn)} .pl{color:var(--success)}.pl .pd2{background:var(--success)} .sb{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;font-size:11.5px;font-weight:600;font-family:var(--H);cursor:pointer;transition:opacity .15s} .sb:hover{opacity:.8} .s0{background:rgba(122,140,170,.15);color:var(--muted)} .s1{background:rgba(255,183,77,.12);color:var(--warn)} .s2{background:rgba(2,136,209,.15);color:var(--foam)} .s3{background:rgba(102,187,106,.12);color:var(--success)} .pb2{height:5px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden;width:72px} .pf2{height:100%;border-radius:3px;transition:width .6s ease} /* AGENDA */ .al{display:flex;flex-direction:column;gap:9px} .ai{display:flex;gap:12px;align-items:flex-start;padding:11px 13px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid var(--border);transition:all .15s} .ai:hover{border-color:var(--border2)} .at2{font-family:var(--H);font-size:12px;font-weight:800;color:var(--teal);min-width:38px;padding-top:2px} .ab{flex:1} .at3{font-size:13px;font-weight:600;font-family:var(--H)} .am{font-size:11px;color:var(--muted);margin-top:2px;font-weight:300} .adot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px} /* TEAM */ .tl{display:flex;flex-direction:column;gap:8px} .ti{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid var(--border);cursor:pointer;transition:all .15s} .ti:hover{border-color:var(--border2)} .av{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0} .tn{font-size:13px;font-weight:700;font-family:var(--H)} .tr2{font-size:11px;color:var(--muted);font-weight:300} .rb{margin-bottom:13px} .rl{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px} .rn{font-weight:600;font-family:var(--H)} .rp{color:var(--muted);font-weight:300} .rt{height:7px;background:rgba(255,255,255,.06);border-radius:4px;overflow:hidden} .rf{height:100%;border-radius:4px;transition:width .7s ease} /* FORMS */ .ff{display:flex;flex-direction:column;gap:11px} .fr{display:grid;grid-template-columns:1fr 1fr;gap:10px} .fl{display:flex;flex-direction:column;gap:5px} .flb{font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase} .fi,.fse,.fta{background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:var(--rs);padding:9px 12px;color:var(--text);font-family:var(--B);font-size:13px;outline:none;transition:border-color .15s;width:100%;font-weight:400} .fi:focus,.fse:focus,.fta:focus{border-color:rgba(38,198,218,.5);box-shadow:0 0 0 3px rgba(38,198,212,.08)} .fse{cursor:pointer} option{background:#0d2340} .fta{resize:vertical;min-height:72px;line-height:1.5} .fz{border:2px dashed var(--border);border-radius:10px;padding:14px;text-align:center;cursor:pointer;transition:all .15s;background:rgba(255,255,255,.02)} .fz:hover,.fz.dg{border-color:var(--teal);background:rgba(38,198,218,.05)} .fzt{font-size:12px;color:var(--muted);font-weight:300} .fzt strong{color:var(--teal);font-weight:600} .fpl{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px} .fpc{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;background:rgba(38,198,218,.1);border:1px solid rgba(38,198,218,.2);border-radius:12px;font-size:11px;color:var(--teal);font-weight:600} .fpr{background:none;border:none;color:rgba(239,83,80,.6);cursor:pointer;font-size:12px;padding:0 0 0 3px;font-weight:700} /* ====== FORUM โ€” GOOGLE CHAT STYLE ====== */ .forum-layout{display:flex;height:calc(100vh - 130px);gap:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--border)} /* LEFT: thread list */ .forum-list{width:300px;flex-shrink:0;background:rgba(10,25,47,.6);border-right:1px solid var(--border);display:flex;flex-direction:column} .forum-list-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0} .forum-list-title{font-family:var(--H);font-size:14px;font-weight:800} .forum-list-body{flex:1;overflow-y:auto;padding:8px 6px} .thread-item{padding:12px 12px;border-radius:10px;cursor:pointer;transition:all .17s;border:1px solid transparent;margin-bottom:4px} .thread-item:hover{background:rgba(255,255,255,.05)} .thread-item.active{background:rgba(38,198,218,.1);border-color:rgba(38,198,218,.2)} .thread-top{display:flex;align-items:center;gap:8px;margin-bottom:5px} .thread-av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--H);font-size:11px;font-weight:800;color:#fff;flex-shrink:0} .thread-name{font-family:var(--H);font-size:12.5px;font-weight:700;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .thread-time{font-size:10px;color:var(--muted);font-weight:300;white-space:nowrap} .thread-preview{font-size:11.5px;color:var(--muted);font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:36px} .thread-meta{display:flex;align-items:center;gap:6px;padding-left:36px;margin-top:4px} .thread-reply-count{font-size:10.5px;color:var(--teal);font-weight:600;display:flex;align-items:center;gap:3px} .thread-closed{font-size:10px;color:var(--muted);background:rgba(255,255,255,.07);padding:1px 6px;border-radius:8px} .forum-list-new{padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0} /* RIGHT: thread detail */ .forum-detail{flex:1;display:flex;flex-direction:column;min-width:0;background:rgba(13,35,64,.4)} .forum-detail-empty{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--muted)} .forum-detail-empty .ei{font-size:36px} /* Back to list button โ€” always visible inside detail panel */ .back-to-list{display:flex;align-items:center;gap:7px;padding:10px 16px;background:rgba(38,198,218,.07);border:none;border-bottom:1px solid var(--border);color:var(--teal);font-family:var(--H);font-size:12.5px;font-weight:700;cursor:pointer;width:100%;text-align:left;transition:background .15s;flex-shrink:0} .back-to-list:hover{background:rgba(38,198,218,.16)} /* Thread header */ .thread-detail-head{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:12px;flex-shrink:0;background:rgba(10,25,47,.3)} .tdh-info{flex:1;min-width:0} .tdh-title{font-family:var(--H);font-size:15px;font-weight:800;margin-bottom:4px} .tdh-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap} .tdh-actions{display:flex;gap:6px;flex-shrink:0} .tbtn{background:none;border:1px solid var(--border);color:var(--muted);font-size:11.5px;cursor:pointer;font-family:var(--H);padding:5px 11px;border-radius:7px;transition:all .15s;font-weight:600} .tbtn:hover{background:var(--surface2);color:var(--text)} .tbtn.close-t{color:var(--warn);border-color:rgba(255,183,77,.25)} .tbtn.close-t:hover{background:rgba(255,183,77,.08)} .tbtn.closed-label{color:var(--muted);cursor:default;border-color:transparent;background:rgba(255,255,255,.04)} /* Original post */ .orig-post{padding:18px 20px;border-bottom:1px solid var(--border);flex-shrink:0} .op-head{display:flex;align-items:center;gap:10px;margin-bottom:10px} .op-av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--H);font-size:14px;font-weight:800;color:#fff;flex-shrink:0} .op-name{font-family:var(--H);font-size:14px;font-weight:700} .op-sub{font-size:11px;color:var(--muted);font-weight:300} .op-body{font-size:13.5px;line-height:1.7;font-weight:400} .op-foot{margin-top:10px;display:flex;gap:8px;align-items:center} .like-btn{background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;font-family:var(--B);padding:4px 8px;border-radius:6px;transition:all .15s;display:flex;align-items:center;gap:4px} .like-btn:hover{background:rgba(255,255,255,.06);color:var(--text)} .like-btn.liked{color:var(--danger)} /* Replies */ .replies-scroll{flex:1;overflow-y:auto;padding:12px 20px;display:flex;flex-direction:column;gap:10px} .reply{display:flex;gap:10px;align-items:flex-start} .reply-av{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--H);font-size:12px;font-weight:800;color:#fff;flex-shrink:0} .reply-bubble{flex:1;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:12px;padding:10px 13px} .reply-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap} .reply-name{font-family:var(--H);font-size:12px;font-weight:700} .reply-team{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:10px} .reply-time{font-size:10px;color:var(--muted);font-weight:300;margin-left:auto} .reply-del{background:none;border:none;color:rgba(239,83,80,.4);cursor:pointer;font-size:11px;padding:2px 5px;border-radius:4px;transition:all .15s} .reply-del:hover{color:var(--danger);background:rgba(239,83,80,.08)} .reply-text{font-size:13px;line-height:1.6;color:var(--text);font-weight:400} /* Reply input */ .reply-form{padding:12px 20px;border-top:1px solid var(--border);flex-shrink:0;background:rgba(10,25,47,.3)} .reply-form.closed-form{padding:10px 20px 12px;text-align:center;font-size:12px;color:var(--muted);font-style:italic} .rf2{display:flex;gap:10px;align-items:flex-end} .rf-inputs{flex:1} .rf-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:7px} .rf-input{background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:var(--rs);padding:8px 12px;color:var(--text);font-family:var(--B);font-size:12.5px;outline:none;transition:border-color .15s;width:100%} .rf-input:focus{border-color:rgba(38,198,218,.45)} .rf-area{background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:var(--rs);padding:9px 12px;color:var(--text);font-family:var(--B);font-size:13px;outline:none;resize:none;line-height:1.5;width:100%;transition:border-color .15s;min-height:52px} .rf-area:focus{border-color:rgba(38,198,218,.45)} .rf-send{background:linear-gradient(135deg,var(--ocean),var(--teal));border:none;color:#fff;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;align-self:flex-end} .rf-send:hover{transform:scale(1.07)} .rf-send:disabled{opacity:.4;cursor:default} /* New thread modal form */ .nt-form{padding:18px 20px} /* MODAL */ .overlay{position:fixed;inset:0;background:rgba(5,15,30,.8);backdrop-filter:blur(6px);z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s} .overlay.open{opacity:1;pointer-events:all} .modal{background:linear-gradient(160deg,#0d2340 0%,#0e3460 100%);border:1px solid var(--border);border-radius:18px;padding:26px;width:520px;max-width:94vw;transform:translateY(12px);transition:transform .22s;max-height:88vh;overflow-y:auto} .overlay.open .modal{transform:translateY(0)} .mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px} .mtt{font-family:var(--H);font-size:17px;font-weight:800} .mc{width:28px;height:28px;background:var(--surface);border:none;border-radius:7px;cursor:pointer;font-size:14px;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:all .15s} .mc:hover{background:var(--surface2);color:var(--text)} /* STATUS MENU */ .smenu{position:fixed;background:#0d2340;border:1px solid var(--border);border-radius:10px;z-index:300;min-width:155px;box-shadow:0 10px 30px rgba(0,0,0,.5);overflow:hidden;animation:fu .15s ease} .sopt{padding:9px 14px;font-size:13px;cursor:pointer;font-family:var(--H);font-weight:600;display:flex;align-items:center;gap:7px;transition:background .12s} .sopt:hover{background:rgba(255,255,255,.07)} /* REPORT */ .rcard{background:linear-gradient(135deg,rgba(2,136,209,.15),rgba(38,198,218,.08));border:1px solid rgba(38,198,218,.2);border-radius:var(--r);padding:18px} .rprev{background:rgba(0,0,0,.3);border:1px solid var(--border);border-radius:var(--r);padding:14px;font-family:var(--B);font-size:12px;line-height:1.8;color:var(--text);white-space:pre-wrap;max-height:300px;overflow-y:auto;display:none;margin-top:12px} .rprev.vis{display:block} .scbadge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600;font-family:var(--H)} .scf{background:rgba(102,187,106,.15);color:var(--success)} .scm{background:rgba(38,198,218,.15);color:var(--teal)} /* TOAST */ .toast{position:fixed;bottom:24px;right:24px;background:linear-gradient(135deg,var(--ocean),var(--teal));color:#fff;padding:11px 19px;border-radius:10px;font-size:13.5px;font-weight:700;font-family:var(--H);transform:translateY(60px);opacity:0;transition:all .3s;z-index:500;box-shadow:0 8px 25px rgba(0,188,212,.3)} .toast.show{transform:translateY(0);opacity:1} /* REMINDER POPUP โ€” muncul gantian seperti screenshot */ .reminder-popup{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(30px);opacity:0;pointer-events:none;transition:opacity .35s,transform .35s;z-index:600;max-width:260px;width:90%} .reminder-popup.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:all} .reminder-bubble{background:rgba(22,38,65,.96);backdrop-filter:blur(16px);border:1px solid rgba(38,198,218,.25);border-radius:18px;padding:16px 20px;box-shadow:0 16px 40px rgba(0,0,0,.5);cursor:pointer;position:relative;overflow:hidden} .reminder-bubble::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(38,198,218,.05),transparent);pointer-events:none} .reminder-icon{font-size:22px;margin-bottom:8px;display:block} .reminder-text{font-family:var(--H);font-size:15px;font-weight:800;color:#fff;line-height:1.5} .reminder-text strong{color:var(--teal)} .reminder-sub{font-size:11.5px;color:var(--muted);margin-top:5px;font-weight:300} .reminder-dismiss{font-size:10.5px;color:rgba(127,179,204,.6);margin-top:8px;font-weight:500} .reminder-dots{display:flex;gap:5px;justify-content:center;margin-top:10px} .reminder-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2);transition:background .3s} .reminder-dot.active{background:var(--teal)} /* SECTIONS */ .sec{display:none}.sec.active{display:flex;flex-direction:column;flex:1} .sec-inner{flex:1;padding:26px 30px;overflow-y:auto} @keyframes fu{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}} /* EMPTY */ .empty{text-align:center;padding:34px 20px;color:var(--muted);font-size:13px} .ei{font-size:28px;margin-bottom:8px} /* HOME BUTTON */ .home-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;background:rgba(38,198,218,.1);border:1px solid rgba(38,198,218,.22);border-radius:var(--rs);font-size:12.5px;font-weight:700;font-family:var(--H);color:var(--teal);cursor:pointer;transition:all .17s;margin-bottom:18px} .home-btn:hover{background:rgba(38,198,218,.18);transform:translateX(-2px)} /* SYNC STATUS BADGE */ .sync-badge{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:7px 16px;border-radius:20px;font-family:var(--H);font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px;z-index:600;backdrop-filter:blur(10px);transition:all .3s;box-shadow:0 4px 16px rgba(0,0,0,.3)} .sync-connecting{background:rgba(38,198,218,.15);border:1px solid rgba(38,198,218,.3);color:var(--teal)} .sync-ok{background:rgba(102,187,106,.15);border:1px solid rgba(102,187,106,.3);color:var(--success)} .sync-err{background:rgba(255,183,77,.12);border:1px solid rgba(255,183,77,.3);color:var(--warn)} .guide-btn{position:fixed;top:14px;right:66px;z-index:400;background:rgba(13,35,64,.95);border:1px solid rgba(38,198,218,.3);border-radius:20px;height:40px;padding:0 14px;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .18s;backdrop-filter:blur(10px);font-family:var(--H);font-size:12px;font-weight:700;color:var(--teal)} .guide-btn:hover{background:rgba(38,198,218,.15);border-color:var(--teal)} /* GUIDE MODAL */ .guide-overlay{position:fixed;inset:0;background:rgba(5,15,30,.85);backdrop-filter:blur(8px);z-index:700;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .22s} .guide-overlay.open{opacity:1;pointer-events:all} .guide-modal{background:linear-gradient(160deg,#0c1e38 0%,#0d2e58 100%);border:1px solid rgba(38,198,218,.2);border-radius:20px;width:680px;max-width:95vw;max-height:88vh;display:flex;flex-direction:column;transform:translateY(16px);transition:transform .24s;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.6)} .guide-overlay.open .guide-modal{transform:translateY(0)} .guide-modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(38,198,218,.15);flex-shrink:0} .guide-modal-title{font-family:var(--H);font-size:18px;font-weight:900;background:linear-gradient(90deg,var(--teal),var(--foam));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text} .guide-close{background:rgba(255,255,255,.07);border:none;border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:14px;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:all .15s} .guide-close:hover{background:rgba(255,255,255,.12);color:var(--text)} .guide-tabs{display:flex;overflow-x:auto;border-bottom:1px solid rgba(38,198,218,.1);flex-shrink:0;padding:0 8px;scrollbar-width:none} .guide-tabs::-webkit-scrollbar{display:none} .guide-tab{padding:11px 14px;font-family:var(--H);font-size:11.5px;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .17s;white-space:nowrap;background:none;border-top:none;border-left:none;border-right:none;flex-shrink:0} .guide-tab:hover{color:var(--text)} .guide-tab.active{color:var(--teal);border-bottom-color:var(--teal)} .guide-body{flex:1;overflow-y:auto;padding:22px 24px} .guide-section{display:none}.guide-section.active{display:block;animation:fu .25s ease} .guide-hero{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:14px 16px;background:rgba(38,198,218,.07);border:1px solid rgba(38,198,218,.15);border-radius:12px} .guide-hero-icon{font-size:32px;flex-shrink:0} .guide-hero-title{font-family:var(--H);font-size:16px;font-weight:900;margin-bottom:3px} .guide-hero-desc{font-size:12.5px;color:var(--muted);font-weight:300;line-height:1.6} .guide-steps{display:flex;flex-direction:column;gap:10px;margin-bottom:18px} .guide-step{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:10px;transition:border-color .15s} .guide-step:hover{border-color:rgba(38,198,218,.2)} .guide-step-num{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--ocean),var(--teal));display:flex;align-items:center;justify-content:center;font-family:var(--H);font-size:11px;font-weight:900;color:#fff;flex-shrink:0;margin-top:1px} .guide-step-body{flex:1} .guide-step-title{font-family:var(--H);font-size:13px;font-weight:800;margin-bottom:3px} .guide-step-desc{font-size:12px;color:var(--muted);font-weight:300;line-height:1.6} .guide-tip{display:flex;gap:10px;padding:10px 13px;background:rgba(255,183,77,.06);border:1px solid rgba(255,183,77,.18);border-radius:9px;margin-top:12px} .guide-tip-icon{font-size:14px;flex-shrink:0;margin-top:1px} .guide-tip-text{font-size:11.5px;color:var(--warn);font-weight:500;line-height:1.5} .guide-footer{padding:14px 24px;border-top:1px solid rgba(38,198,218,.1);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:rgba(0,0,0,.15)} .guide-nav{display:flex;gap:8px} .guide-progress{font-size:11px;color:var(--muted);font-family:var(--H);font-weight:600} /* NOTIF BELL */ .notif-bell{position:fixed;top:14px;right:20px;z-index:400;background:rgba(13,35,64,.95);border:1px solid var(--border);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s;backdrop-filter:blur(10px)} .notif-bell:hover{border-color:var(--teal);background:rgba(38,198,218,.12)} .notif-bell .bell-ic{font-size:17px} .notif-dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--warn);border:2px solid var(--bg);display:none;animation:pulse-bell 1.5s ease-in-out infinite} .notif-dot.show{display:block} @keyframes pulse-bell{0%,100%{transform:scale(1)}50%{transform:scale(1.3)}} .notif-panel{position:fixed;top:58px;right:16px;width:320px;background:linear-gradient(160deg,#0d2340,#0e3460);border:1px solid var(--border);border-radius:14px;z-index:399;box-shadow:0 16px 40px rgba(0,0,0,.5);display:none;overflow:hidden;animation:fu .2s ease} .notif-panel.open{display:block} .notif-head{padding:14px 16px;border-bottom:1px solid var(--border);font-family:var(--H);font-size:14px;font-weight:800;display:flex;justify-content:space-between;align-items:center} .notif-list{max-height:300px;overflow-y:auto} .notif-item{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;gap:11px;align-items:flex-start;cursor:pointer;transition:background .14s} .notif-item:hover{background:rgba(255,255,255,.04)} .notif-item.unread{background:rgba(255,183,77,.05)} .ni2{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0} .ni2.warn{background:rgba(255,183,77,.15)} .ni2.info{background:rgba(38,198,218,.12)} .ni2.danger{background:rgba(239,83,80,.12)} .notif-msg{font-size:12.5px;font-weight:500;line-height:1.4} .notif-sub{font-size:11px;color:var(--muted);margin-top:2px;font-weight:300} .notif-empty{padding:28px 16px;text-align:center;color:var(--muted);font-size:13px} /* REPORT UPLOAD */ .ru-grid{display:grid;grid-template-columns:1fr 340px;gap:18px} .ru-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:14px} .ru-item{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;gap:12px;align-items:flex-start;transition:background .14s} .ru-item:last-child{border-bottom:none} .ru-item:hover{background:rgba(255,255,255,.03)} .ru-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0} .ru-info{flex:1;min-width:0} .ru-name{font-family:var(--H);font-size:13px;font-weight:700} .ru-meta{font-size:11px;color:var(--muted);margin-top:2px;font-weight:300} .ru-link{font-size:11.5px;color:var(--teal);font-weight:600;text-decoration:none;word-break:break-all} .ru-link:hover{opacity:.75} .ru-badge{display:inline-flex;padding:3px 9px;border-radius:10px;font-size:10.5px;font-weight:700;font-family:var(--H)} .ru-week{background:rgba(102,187,106,.12);color:var(--success)} .ru-month{background:rgba(0,188,212,.12);color:var(--teal)} .ru-late{background:rgba(239,83,80,.12);color:var(--danger)} .deadline-bar{background:linear-gradient(135deg,rgba(255,183,77,.12),rgba(239,83,80,.08));border:1px solid rgba(255,183,77,.2);border-radius:var(--r);padding:16px 18px;margin-bottom:18px} /* SEO DASHBOARD */ .seo-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:0;overflow-x:auto} .seo-tab{padding:10px 18px;font-family:var(--H);font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .17s;white-space:nowrap;background:none;border-top:none;border-left:none;border-right:none} .seo-tab:hover{color:var(--text)} .seo-tab.active{color:var(--teal);border-bottom-color:var(--teal)} .seo-tab.archive{color:var(--muted);font-size:11.5px;opacity:.7} .seo-content{padding:18px} .seo-tbl{width:100%;border-collapse:collapse} .seo-tbl th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0 10px 10px 0;text-align:left;white-space:nowrap} .seo-tbl td{padding:9px 10px 9px 0;border-top:1px solid var(--border);font-size:12.5px;vertical-align:middle} .seo-tbl tr:hover td{background:rgba(255,255,255,.02)} .seo-input{background:rgba(255,255,255,.05);border:1px solid transparent;border-radius:6px;padding:5px 8px;color:var(--text);font-family:var(--B);font-size:12px;outline:none;width:100%;transition:border-color .14s;min-width:80px} .seo-input:focus{border-color:rgba(38,198,218,.4)} .achieve-yes{background:rgba(102,187,106,.15);color:var(--success);padding:3px 10px;border-radius:10px;font-size:11px;font-weight:700;font-family:var(--H)} .achieve-no{background:rgba(239,83,80,.12);color:var(--danger);padding:3px 10px;border-radius:10px;font-size:11px;font-weight:700;font-family:var(--H)} .achieve-pending{background:rgba(127,179,204,.1);color:var(--muted);padding:3px 10px;border-radius:10px;font-size:11px;font-weight:700;font-family:var(--H)} .arch-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;cursor:pointer;transition:background .14s;user-select:none} .arch-header:hover{background:rgba(255,255,255,.03)} .arch-toggle{font-size:11px;color:var(--muted);font-family:var(--H);font-weight:600} /* OBJECTIVES */ .obj-lock{display:flex;align-items:center;gap:8px;padding:9px 14px;background:rgba(255,183,77,.07);border:1px solid rgba(255,183,77,.2);border-radius:var(--rs);font-size:12px;color:var(--warn);font-family:var(--H);font-weight:600;margin-bottom:16px} .obj-lock input{background:rgba(255,255,255,.06);border:1px solid rgba(255,183,77,.3);border-radius:6px;padding:5px 10px;color:var(--text);font-family:var(--B);font-size:12px;outline:none;flex:1;max-width:180px} .obj-lock input:focus{border-color:rgba(255,183,77,.6)} .obj-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:16px} .obj-sec-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.03)} .obj-sec-title{font-family:var(--H);font-size:14px;font-weight:800;flex:1} .obj-tbl{width:100%;border-collapse:collapse} .obj-tbl th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)} .obj-tbl td{padding:9px 12px;border-bottom:1px solid var(--border);font-size:12.5px} .obj-tbl tr:last-child td{border-bottom:none} .obj-tbl tr:hover td{background:rgba(255,255,255,.02)} .obj-inp{background:rgba(255,255,255,.05);border:1px solid transparent;border-radius:6px;padding:5px 9px;color:var(--text);font-family:var(--B);font-size:12px;outline:none;width:100%;transition:border-color .14s} .obj-inp:focus{border-color:rgba(38,198,218,.4)} .obj-inp:disabled{opacity:.5;cursor:not-allowed} .obj-big{background:linear-gradient(135deg,rgba(2,136,209,.1),rgba(38,198,218,.06));border:1px solid rgba(38,198,218,.18);border-radius:var(--r);padding:18px;margin-bottom:16px} .obj-big-title{font-family:var(--H);font-size:13px;font-weight:800;color:var(--teal);margin-bottom:10px} .obj-big textarea{background:rgba(255,255,255,.05);border:1px solid rgba(38,198,218,.2);border-radius:10px;padding:12px 14px;color:var(--text);font-family:var(--B);font-size:13px;line-height:1.7;width:100%;resize:vertical;min-height:90px;outline:none;transition:border-color .15s} .obj-big textarea:focus{border-color:rgba(38,198,218,.45)} .obj-big textarea:disabled{opacity:.5;cursor:not-allowed} .spv-unlocked{color:var(--success);font-size:11px;font-weight:700;font-family:var(--H);display:flex;align-items:center;gap:5px} ::-webkit-scrollbar{width:5px;height:5px} ::-webkit-scrollbar-track{background:transparent} ::-webkit-scrollbar-thumb{background:rgba(38,198,218,.2);border-radius:3px} @media(max-width:1100px){.sg{grid-template-columns:repeat(2,1fr)}.cg{grid-template-columns:1fr}.forum-list{width:250px}} @media(max-width:768px){.sidebar{display:none}.main-scroll{padding:14px}.forum-layout{flex-direction:column;height:auto}.forum-list{width:100%;height:200px}}