/* frontend.css
   AGM portal stylesheet — do not edit inline in templates.
*/

/* ===================================================================
   Frontend meeting layout (header, mobile stats, vote confirm, vote result)
   (from templates/layout/dashboard.php)
   =================================================================== */
        body{ font-family:'IBM Plex Sans','Hind Siliguri',sans-serif !important; background:#F5F6F8 !important; color:#46566B; -webkit-font-smoothing:antialiased; }
        .body{ background:#F5F6F8 !important; }
        .main{ max-width:1400px; margin:0 auto; padding:20px 16px 0; }
        .seal-rule{ height:2px; background:linear-gradient(90deg,#C0992F 0%,#C0992F 38%,transparent 38%,transparent 100%); }
        a:focus-visible,button:focus-visible,input:focus-visible{ outline:2px solid #C0992F; outline-offset:2px; border-radius:6px; }

        /* ===== kill the old coloured section backgrounds ===== */
        .section{ background:transparent !important; margin-top:0 !important; padding:0 !important; border:none !important; }

        /* ===== minimal 12-col grid (replaces Bootstrap CSS, which we dropped) ===== */
        .main .row{ margin-left:-8px; margin-right:-8px; }
        .main .row:before, .main .row:after{ content:" "; display:table; }
        .main .row:after{ clear:both; }
        .main [class*="col-md-"], .main [class*="col-sm-"]{ float:left; padding:0 8px; min-height:1px; position:relative; }
        .main .col-md-8{ width:66.6667%; } .main .col-md-7{ width:58.3333%; } .main .col-md-6{ width:50%; } .main .col-md-5{ width:41.6667%; } .main .col-md-4{ width:33.3333%; } .main .col-md-3{ width:25%; }
        .main [class*="col-md-offset-"]{ margin-left:0 !important; }
        @media (max-width:991px){ .main [class*="col-md-"], .main [class*="col-sm-"]{ width:100% !important; float:none !important; } }

        /* ===== panels -> clean white cards ===== */
        .panel, .panel-default{ background:#fff !important; border:1px solid #E3E7EE !important; border-radius:14px !important; box-shadow:0 1px 2px rgba(11,37,69,.04), 0 8px 24px -12px rgba(11,37,69,.12) !important; overflow:hidden; }
        .thumb-info, .custom-thumb-info, .custom-box-shadow{ box-shadow:none !important; border:none !important; border-radius:14px !important; background:transparent !important; padding:0 !important; }

        /* video / meeting card */
        article.thumb-info iframe{ display:block; width:100%; border-radius:14px; border:1px solid #E3E7EE; background:#0B2545; }

        /* comments header */
        .plan-header{ background:#0B2545 !important; color:#fff !important; padding:15px 18px !important; }
        .plan-header strong{ font-family:'IBM Plex Serif','Hind Siliguri',serif; font-weight:600; font-size:15.5px; letter-spacing:.005em; }

        /* Speech Registration / Director Vote — refined pills */
        .btn-borders.btn-primary{ background:#fff !important; color:#13315C !important; border:1px solid #E3E7EE !important; border-radius:10px !important; padding:10px 20px !important; font-size:13px !important; font-weight:600 !important; letter-spacing:.01em; box-shadow:0 1px 2px rgba(11,37,69,.05) !important; transition:.15s; }
        .btn-borders.btn-primary:hover{ border-color:#2C6CA6 !important; color:#fff !important; background:#2C6CA6 !important; box-shadow:0 4px 12px -4px rgba(44,108,166,.4) !important; }

        /* ===== vote confirmation dialog ===== */
        .agm-vc{ position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:18px; }
        .agm-vc.is-open{ display:flex; }
        .agm-vc-backdrop{ position:absolute; inset:0; background:rgba(11,37,69,.55); backdrop-filter:blur(2px); animation:agmvcFade .18s ease; }
        .agm-vc-box{ position:relative; width:100%; max-width:400px; background:#fff; border-radius:18px; padding:26px 24px 22px; text-align:center;
            box-shadow:0 30px 70px -20px rgba(11,37,69,.6); animation:agmvcPop .2s cubic-bezier(.2,.8,.3,1.2); }
        .agm-vc-ic{ width:56px; height:56px; margin:0 auto 14px; border-radius:50%; background:rgba(19,122,79,.12); display:flex; align-items:center; justify-content:center; }
        .agm-vc-ic svg{ width:28px; height:28px; fill:#137A4F; }
        .agm-vc-box h3{ margin:0 0 6px; font-family:'IBM Plex Serif',Georgia,serif; font-size:20px; font-weight:700; color:#0B2545; }
        .agm-vc-box #agm-vc-sub{ margin:0 0 16px; font-size:13px; color:#7A8798; line-height:1.5; }
        .agm-vc-choice{ font-size:13px; color:#46566B; background:#F4F6F9; border:1px solid #E7ECF3; border-radius:10px; padding:9px 14px; margin-bottom:18px; }
        .agm-vc-choice span{ font-weight:700; }
        .agm-vc-favor{ color:#137A4F; } .agm-vc-against{ color:#B23A3A; }
        .agm-vc-actions{ display:flex; gap:10px; }
        .agm-vc-btn{ flex:1; border:none; border-radius:11px; padding:13px 10px; font-size:14px; font-weight:600; cursor:pointer; transition:.15s; }
        .agm-vc-no{ background:#fff; color:#5C6B7E; border:1.5px solid #E3E7EE; }
        .agm-vc-no:hover{ background:#F4F6F9; border-color:#D3DAE3; }
        .agm-vc-yes{ background:linear-gradient(135deg,#137A4F,#0F6B45); color:#fff; box-shadow:0 10px 22px -10px rgba(19,122,79,.6); }
        .agm-vc-yes:hover{ transform:translateY(-1px); }
        @keyframes agmvcFade{ from{opacity:0} to{opacity:1} }
        @keyframes agmvcPop{ from{opacity:0; transform:translateY(10px) scale(.96)} to{opacity:1; transform:none} }

        /* ===== mobile-only live stats bar (above the video) ===== */
        .agm-mstats{ display:none; }
        @media (max-width:639px){
            .agm-mstats{ display:flex; align-items:center; justify-content:center; gap:6px;
                margin:12px 12px 0; padding:10px 12px; background:#fff; border:1px solid #E3E7EE;
                border-radius:14px; box-shadow:0 6px 18px -12px rgba(11,37,69,.35); }
            .agm-mstat{ display:flex; align-items:center; gap:9px; flex:1 1 0; min-width:0; justify-content:center; }
            .agm-mstat-ic{ height:34px; width:34px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
            .agm-mstat-ic svg{ height:18px; width:18px; }
            .agm-mstat-txt{ line-height:1.15; min-width:0; }
            .agm-mstat-txt strong{ display:block; font-family:'IBM Plex Mono',monospace; font-size:17px; font-weight:700; color:#0B2545; }
            .agm-mstat-txt label{ display:block; margin:0; font-size:10.5px; font-weight:500; color:#8A97A8; letter-spacing:.02em; }
            .agm-mstat-div{ width:1px; align-self:stretch; background:#E7ECF3; margin:2px 0; flex:0 0 auto; }
        }

        /* collapse the empty space below Favor/Against in agenda cards */
        .call-to-action.featured{ padding:20px 20px 14px !important; }
        .call-to-action.featured .row.text-center:has(span:empty){ display:none; }
        .call-to-action.featured .row.text-center{ margin-left:0; margin-right:0; }
        #agenda-vote-info-data .row.mb-10{ margin-bottom:0 !important; }
        /* vote message wrapper — sits right under the buttons, hidden while empty */
        .agm-vote-msg{ margin:6px 0 0; line-height:1; }
        .agm-vote-msg:not(:has(span:not(:empty))){ display:none; }
        /* comment list refinement */
        #comment-list-data blockquote{ background:#F5F6F8; border-left:3px solid #C0992F; border-radius:0 8px 8px 0; padding:9px 12px; margin:0 0 8px 0; }
        #comment-list-data blockquote cite{ font-style:normal; font-size:11px; color:#46566B; font-weight:600; }
        .not-msg-info{ color:#8794A6 !important; font-size:12.5px; padding:18px 0; text-align:center; }

        /* ===== agenda top tabs (Speech Registration / Director Vote) — aligned ===== */
        .agm-agenda-tabs{ display:flex; justify-content:center; flex-wrap:wrap; gap:10px; padding:18px 16px 6px; }
        .agm-agenda-tabs .btn{ margin:0 !important; }

        /* vote button loading state */
        .agm-spinner{ display:inline-block; width:13px; height:13px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:agm-spin .6s linear infinite; vertical-align:-2px; margin-right:5px; }
        @keyframes agm-spin{ to{ transform:rotate(360deg); } }
        .agm-btn-loading{ opacity:.9; cursor:wait !important; }

        /* ===== vote "already voted" / info message -> professional badge ===== */
        [class*="message-vote-info-"]:not(:empty), [class*="message-info-"]:not(:empty){
            display:inline-block; margin:2px auto 2px; padding:7px 16px;
            background:rgba(192,153,47,.10); border:1px solid rgba(192,153,47,.32);
            color:#8a6a1c; border-radius:20px; font-size:12.5px; font-weight:600; letter-spacing:.01em; }
        .accepted-msg, .declined-msg{ display:none; }

        /* ===== comments -> clean chat bubbles ===== */
        #comment-list-info{ padding:14px 14px 0; }
        #comment-list-data blockquote{ background:#fff !important; border:1px solid #EAEEF4 !important; border-left:3px solid #C0992F !important; border-radius:0 10px 10px 0 !important; padding:10px 13px !important; margin:0 0 10px 0 !important; box-shadow:0 1px 2px rgba(11,37,69,.03) !important; }
        #comment-list-data blockquote > div{ font-size:13.5px; color:#1A2433; line-height:1.55; word-break:break-word; }
        #comment-list-data blockquote footer{ display:flex !important; align-items:center; justify-content:space-between; gap:8px; margin-top:7px !important; padding:0 !important; border:none !important; }
        #comment-list-data blockquote cite{ font-style:normal; font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:#6B7A8D; font-weight:500; }
        #comment-list-data blockquote footer .pull-right{ float:none !important; font-size:10px; color:#9AA7B5; white-space:nowrap; }

        /* ===== premium finishing touches ===== */
        .panel, .panel-default{ box-shadow:0 1px 2px rgba(11,37,69,.04), 0 14px 34px -20px rgba(11,37,69,.16) !important; }
        .call-to-action.featured{ transition:border-color .15s, box-shadow .15s, transform .15s; }
        .call-to-action.featured:hover{ border-color:#D6DEE9 !important; box-shadow:0 6px 20px -8px rgba(11,37,69,.12) !important; }
        .agm-motion-proposed, .agm-motion-seconded{ letter-spacing:.01em; }
        /* subtle brand rule already under header stays; refine agenda scrollbars */
        #agenda-list-info::-webkit-scrollbar, #comment-list-data ::-webkit-scrollbar{ width:8px; }
        #agenda-list-info::-webkit-scrollbar-thumb, #comment-list-data ::-webkit-scrollbar-thumb{ background:#D6DEE9; border-radius:8px; }
        #agenda-list-info::-webkit-scrollbar-thumb:hover, #comment-list-data ::-webkit-scrollbar-thumb:hover{ background:#C0992F; }

        /* ===== agenda list ===== */
        #agenda-list-info, #comment-list-info{ scrollbar-width:thin; }
        #agenda-list-info::-webkit-scrollbar, #comment-list-info::-webkit-scrollbar{ width:8px; }
        #agenda-list-info::-webkit-scrollbar-thumb, #comment-list-info::-webkit-scrollbar-thumb{ background:#cdd5e0; border-radius:9px; }
        .call-to-action.featured{ background:#fff !important; border:1px solid #E3E7EE !important; border-radius:14px !important; padding:20px !important; margin-bottom:16px !important; box-shadow:0 1px 3px rgba(11,37,69,.04) !important; transition:.15s; }
        .post-event-content{ min-height:56px; }
        .call-to-action.featured .agenda-active, .agenda-box-active{ }
        .post-event-content.agenda-box-active{ border:none !important; box-shadow:none !important; }
        .agenda-box-active{ border-left:3px solid #C0992F !important; padding-left:14px !important; }
        .post-event-content .text-quaternary{ color:#1A2433 !important; font-size:14.5px; line-height:1.7; }
        .agenda-active{ color:#0B2545 !important; font-weight:500; }

        /* comment success message — professional inline toast */
        #comments-msg-info{ position:fixed !important; top:84px !important; left:50% !important; transform:translateX(-50%); z-index:9999; margin:0 !important; padding:12px 20px 12px 14px !important; min-width:270px; max-width:92vw; background:#fff; border:1px solid rgba(19,122,79,.22); border-left:4px solid #137A4F; border-radius:12px; box-shadow:0 18px 46px -12px rgba(11,37,69,.32); animation:agmToastIn .28s cubic-bezier(.2,.8,.2,1); }
        #comments-msg-info .agm-toast-ic{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; background:#137A4F; color:#fff; font-weight:700; font-size:15px; line-height:1; border-radius:50%; vertical-align:middle; margin-right:11px; }
        #comments-msg-info .agm-toast-body{ display:inline-block; vertical-align:middle; text-align:left; }
        #comments-msg-info .agm-toast-title{ display:block; font-family:'IBM Plex Serif','Hind Siliguri',serif; font-size:13.5px; font-weight:700; color:#0B2545; line-height:1.25; }
        #comments-msg-info .agm-toast-sub{ display:block; font-size:11.5px; font-weight:500; color:#6B7A8D; line-height:1.3; margin-top:1px; }
        @keyframes agmToastIn{ from{ opacity:0; transform:translate(-50%,-10px);} to{ opacity:1; transform:translate(-50%,0);} }

        /* vote result blocks (favor / against) — aligned 2-up */
        .agm-vote-result{ display:flex; gap:10px; margin:6px 0 12px; }
        .child, .childz{ border-radius:10px !important; padding:10px 6px !important; }
        .child{ background:#137A4F !important; border:none !important; }
        .childz{ background:#B23A3A !important; border:none !important; }
        .agm-vote-result .child, .agm-vote-result .childz{ float:none !important; width:auto !important; flex:1 1 0 !important; margin:0 !important; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
        .agm-vr-label{ font-size:11px; font-weight:600; letter-spacing:.01em; color:rgba(255,255,255,.92); line-height:1.2; }
        .agm-vr-value{ font-family:'IBM Plex Mono',monospace; font-size:16px; font-weight:700; color:#fff; line-height:1.2; margin-top:2px; }

        /* ===== buttons ===== */
        .btn{ border-radius:10px !important; font-weight:600 !important; letter-spacing:.01em; border:1px solid transparent !important; transition:.15s; box-shadow:none !important; text-shadow:none !important; }
        .btn-borders{ border-radius:10px !important; }
        .btn-primary{ background:#0B2545 !important; border-color:#0B2545 !important; color:#fff !important; }
        .btn-primary:hover{ background:#13315C !important; }
        .btn-info{ background:#137A4F !important; border-color:#137A4F !important; color:#fff !important; }   /* Favor */
        .btn-info:hover{ filter:brightness(1.06); }
        .btn-warning{ background:#fff !important; border:1.5px solid rgba(178,58,58,.45) !important; color:#B23A3A !important; }  /* Against */
        .btn-warning:hover{ background:#B23A3A !important; color:#fff !important; }
        .btn-success{ background:#137A4F !important; border-color:#137A4F !important; color:#fff !important; }
        .btn-danger{ background:#fff !important; border:1.5px solid rgba(178,58,58,.45) !important; color:#B23A3A !important; }

        /* comment thread */
        blockquote{ border:none !important; border-left:2px solid #E3E7EE !important; padding:6px 0 6px 12px !important; margin:0 0 12px 0 !important; background:transparent !important; font-size:13.5px; color:#1A2433; }
        blockquote cite{ font-style:normal; color:#0B2545; font-weight:600; font-size:11.5px; }
        blockquote .pull-right{ float:right; font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:#8A97A8; }
        .not-msg-info{ color:#8A97A8 !important; font-size:13px; text-align:center; padding:24px 0; }
        .mytext{ width:100%; border:1px solid #E3E7EE !important; background:#fff !important; border-radius:10px !important; padding:10px 12px !important; font-size:13px; outline:none; }
        .agm-comment-box{ padding:14px 14px 4px; }
        .mytext:focus, .mytext:focus-visible{ outline:none !important; border-color:#C0992F !important; box-shadow:0 0 0 3px rgba(192,153,47,.15) !important; }
        .text.text-r{ overflow:visible !important; }
        .frame.text-box{ overflow:visible !important; }
        .msj-rta.macro{ display:flex; gap:8px; align-items:center; }
        #mytext_send{ height:40px; width:44px; border:none; background:#0B2545; color:#fff; border-radius:10px; cursor:pointer; transition:.15s; }
        #mytext_send:hover{ background:#13315C; }

        /* ===== bottom block (news + proposed/seconded + record) ===== */
        .agm-newsbar{ background:#0B2545; padding:12px 0; margin-top:20px; }
        .agm-colorbar{ height:9px; background:linear-gradient(90deg,
            #0B2545 0%, #0B2545 12%, #1565C0 12%, #1565C0 30%, #29B6D8 30%, #29B6D8 42%,
            #F57C00 42%, #F57C00 56%, #FBC02D 56%, #FBC02D 68%, #43A047 68%, #43A047 80%,
            #7B3FA0 80%, #7B3FA0 92%, #E5197D 92%, #E5197D 100%); }
        .agm-newsbar marquee, .agm-newsbar h4{ color:#fff !important; font-size:13px !important; margin:0 !important; font-weight:500; }
        #footer.custom-footer{ background:#0B2545 !important; border-top:1px solid rgba(255,255,255,.08); margin-top:18px; }
        #footer .record-section p{ color:#fff !important; font-size:13px; }
        #footer .counter strong{ color:#fff !important; font-family:'IBM Plex Mono',monospace; }
        #footer .counter label, #footer .counter .top-attend{ color:rgba(255,255,255,.6) !important; }
        #footer .counter i{ color:#C0992F !important; }

        /* responsive: stack the old bootstrap columns on small screens */
        @media (max-width:991px){
            .main [class*="col-md-"], .main [class*="col-sm-"]{ width:100% !important; float:none !important; margin-left:0 !important; margin-right:0 !important; padding:6px !important; }
            article.thumb-info{ margin-left:0 !important; }
            .panel{ margin:0 0 14px 0 !important; }
        }
        @media (max-width:991px){
            #footer .col-md-3, #footer .col-md-4, #footer .col-md-5{ width:100% !important; float:none !important; }
        }

        /* ===== speech / director action buttons ===== */
        .panel .btn-borders.btn-primary{ display:inline-block; margin:4px !important; background:#fff !important; color:#0B2545 !important; border:1px solid #E3E7EE !important; padding:8px 16px !important; font-size:13px; }
        .panel .btn-borders.btn-primary:hover{ border-color:#C0992F !important; color:#C0992F !important; background:#fff !important; }

        /* ===== vote buttons (Favor / Against): clean 2-up; applies to initial AND AJAX-injected content ===== */
        #agenda-info-data .col-lg-12.mb-10{ display:flex !important; gap:10px; width:100%; padding:0 !important; margin-top:8px; }
        #agenda-info-data .col-lg-12.mb-10 .col-lg-2{ flex:1 1 0 !important; width:auto !important; margin:0 !important; padding:0 !important; }
        #agenda-info-data form{ margin:0 !important; }
        #agenda-info-data .btn-info, #agenda-info-data .btn-warning{ display:block !important; width:100% !important; padding:11px 6px !important; margin:0 !important; font-size:13.5px !important; line-height:1.3 !important; white-space:normal !important; }

        /* ===== live attendance — two stats (attendance + shares) ===== */
        .agm-attend-grid{ display:flex; gap:12px; }
        .agm-attend-item{ flex:1 1 0; display:flex; align-items:center; gap:10px; min-width:0; }
        .agm-attend-ic{ height:38px; width:38px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
        @media (max-width:360px){ .agm-attend-grid{ flex-direction:column; gap:10px; } }

        /* ===== AGM agenda title header ===== */
        .agm-agenda-title{ display:flex; align-items:center; gap:10px; margin:14px 14px 2px; padding:12px 16px; background:linear-gradient(135deg,#0B2545 0%,#13315C 100%); color:#fff; border-radius:12px; border-left:4px solid #C0992F; box-shadow:0 8px 20px -10px rgba(11,37,69,.5); }
        .agm-agenda-title .agm-agenda-title-ic{ width:20px; height:20px; fill:#C0992F; flex:0 0 auto; }
        .agm-agenda-title > span{ font-family:'IBM Plex Serif','Hind Siliguri',serif; font-weight:600; font-size:15px; line-height:1.3; letter-spacing:.005em; }
        .agm-agenda-title .agm-agenda-title-en{ font-family:'IBM Plex Sans',sans-serif; font-weight:500; font-size:12.5px; color:rgba(255,255,255,.72); }

        /* hide the agenda action-tabs bar when it has no buttons */
        .agm-agenda-tabs:not(:has(a)){ display:none !important; padding:0 !important; }

        /* keep the vote message pill close to the buttons */
        .call-to-action.featured .row.text-center{ margin-top:2px !important; margin-bottom:0 !important; }

        /* ===== video: 16/9 matches the stream (no black letterbox), clean full-bleed ===== */
        article.thumb-info{ overflow:hidden; border-radius:16px; }
        article.thumb-info iframe{ height:auto !important; aspect-ratio:16/9; display:block; border-radius:14px; }

        /* ===== voice recorder (Ask a question) ===== */
        .agm-rec-btn{ flex:1; display:inline-flex; align-items:center; justify-content:center; gap:6px; font-size:13px; font-weight:600; border-radius:10px; padding:10px 8px; border:1px solid transparent; cursor:pointer; transition:.15s; }
        .agm-rec-record{ background:#137A4F; color:#fff; }
        .agm-rec-record:hover:not(:disabled){ filter:brightness(1.06); }
        .agm-rec-dot{ height:8px; width:8px; border-radius:50%; background:#fff; display:inline-block; }
        .agm-rec-pause{ background:#fff; color:#0B2545; border:1px solid #E3E7EE; }
        .agm-rec-pause:hover:not(:disabled){ border-color:#C0992F; color:#C0992F; }
        .agm-rec-stop{ background:#fff; color:#B23A3A; border:1px solid rgba(178,58,58,.4); }
        .agm-rec-stop:hover:not(:disabled){ background:#B23A3A; color:#fff; }
        .agm-rec-btn:disabled{ opacity:.45; cursor:not-allowed; }
        .agm-rec-msg{ display:block; font-size:12px; color:#137A4F; margin-top:8px; font-weight:600; }
        .agm-rec-list{ list-style:none; padding:0; margin:12px 0 0 0; }
        .agm-rec-list li{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; background:#F5F6F8; border:1px solid #E3E7EE; border-radius:8px; padding:8px 10px; margin-bottom:6px; font-size:12px; }
        .agm-rec-list li a{ color:#0B2545; font-weight:600; text-decoration:none; }
        .agm-rec-list li a:hover{ color:#C0992F; }
        .agm-audio{ border-radius:8px; }

        /* ===== comment composer ===== */
        .frame.text-box .text.text-r{ flex:1; background:transparent !important; padding:0 !important; }
        #mytext_send{ height:40px !important; width:44px !important; min-width:44px; padding:0 !important; display:inline-flex !important; align-items:center; justify-content:center; font-size:15px; }
        #mytext_send i{ font-style:normal; }
        #mytext_send i::before{ content:"\2794"; }

        /* ===== motion status buttons (left column) ===== */
        .agm-motion-proposed{ background:#137A4F !important; border-color:#137A4F !important; border-radius:0 !important; padding:11px 6px !important; width:100% !important; }
        .agm-motion-seconded{ background:#2C6CA6 !important; border-color:#2C6CA6 !important; border-radius:0 !important; padding:11px 6px !important; width:100% !important; }
        .agm-motion-poll{ background:#fff !important; border:1px solid rgba(178,58,58,.4) !important; color:#B23A3A !important; border-radius:10px !important; padding:11px 6px !important; width:100% !important; }
        .agm-motion-poll:hover{ background:#B23A3A !important; color:#fff !important; }
        .agm-record-btn{ background:#137A4F !important; border-color:#137A4F !important; width:100% !important; border-radius:10px !important; padding:11px !important; }
        .agm-marquee{ color:rgba(255,255,255,.85) !important; font-size:13px; }

        /* header user dropdown */
        .agm-usermenu-panel{ display:none; }
        .agm-usermenu.open .agm-usermenu-panel{ display:block; }
    

/* ===================================================================
   Login / profile layout shell
   (from templates/layout/userLoginLayout.php)
   =================================================================== */
        body{ font-family:'IBM Plex Sans','Hind Siliguri',sans-serif; background:#F5F6F8; color:#46566B; -webkit-font-smoothing:antialiased; }
        .seal-rule{ height:2px; background:linear-gradient(90deg,#C0992F 0%,#C0992F 38%,transparent 38%,transparent 100%); }
        a:focus-visible,button:focus-visible,input:focus-visible{ outline:2px solid #C0992F; outline-offset:2px; border-radius:6px; }

        /* ============ compatibility layer: restyle the legacy OTP form markup ============ */
        .login-form .form-group{ margin-bottom:1rem; }
        .login-form label{ display:block; font-size:12px; font-weight:600; color:#0B2545; margin-bottom:6px; }
        .login-form .row{ margin:0; }
        .login-form .row > [class^="col-"], .login-form [class*="col-md-"], .login-form [class*="col-sm-"]{ padding:0; width:100%; float:none; }
        .login-form .form-control,
        .login-form input[type=text], .login-form input[type=password], .login-form input[type=email]{
            width:100%; font-size:15px; color:#1A2433; background:#fff;
            border:1px solid #E3E7EE; border-radius:10px; padding:11px 14px; transition:.15s; outline:none; box-shadow:none;
        }
        .login-form .form-control:focus,
        .login-form input[type=text]:focus, .login-form input[type=password]:focus, .login-form input[type=email]:focus{
            border-color:#C0992F; box-shadow:0 0 0 3px rgba(192,153,47,.12);
        }
        .login-form input[readonly]{ background:#EEF1F5; color:#5B6B7F; }
        .login-form input::placeholder{ color:#9AA6B4; }

        /* buttons inside the forms */
        .login-form .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font-size:14px; font-weight:600; border-radius:10px; padding:10px 16px; border:1px solid transparent; cursor:pointer; transition:.15s; text-decoration:none; }
        .login-form .btn-default{ background:#fff; color:#0B2545; border-color:#E3E7EE; }
        .login-form .btn-default:hover{ border-color:#C0992F; color:#C0992F; }
        .login-form .btn-primary{ background:#0B2545; color:#fff; }
        .login-form .btn-primary:hover{ background:#13315C; }
        .login-form input[type=submit]{
            width:100%; background:#0B2545; color:#fff; font-weight:600; font-size:15px; border:none;
            border-radius:10px; padding:12px 18px; cursor:pointer; transition:.15s; letter-spacing:.01em;
        }
        .login-form input[type=submit]:hover{ background:#13315C; }
        .login-form .pull-right{ float:none; }
        .login-form .pull-left{ float:none; }
        .login-form .mb-xl{ margin-bottom:0; }
        .login-form .col-md-2{ width:100%; }

        /* OTP block */
        .login-form #otpBlock, .login-form [id^="otpBlock"]{ margin-top:14px !important; padding-top:14px; border-top:1px dashed #E3E7EE; }
        .login-form [id^="channelWrap"] label{ font-weight:500 !important; display:inline-flex; align-items:center; gap:6px; font-size:14px; color:#1A2433; margin-bottom:0; }
        .login-form input[type=radio]{ accent-color:#0B2545; width:16px; height:16px; }
        .login-form [id^="verifyWrap"]{ margin-top:14px !important; }
        .login-form [id^="otpMsg"]{ font-size:12.5px; }

        /* ============ tabs (Bootstrap JS toggles .active) ============ */
        .agm-tabs .nav-tabs{ display:flex; gap:26px; list-style:none; padding:0; margin:0; border-bottom:1px solid #E3E7EE; }
        .agm-tabs .nav-tabs > li{ margin:0; }
        .agm-tabs .nav-tabs > li > a, .agm-tabs .nav-tabs .nav-link{ display:block; padding:12px 2px; font-size:14px; font-weight:600; color:#8A97A8; text-decoration:none; position:relative; background:transparent; border:none; }
        .agm-tabs .nav-tabs > li.active > a, .agm-tabs .nav-tabs > li > a:hover, .agm-tabs .nav-tabs .nav-link.active{ color:#0B2545; }
        .agm-tabs .nav-tabs > li.active > a::after, .agm-tabs .nav-tabs .nav-link.active::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:#C0992F; }
        .agm-tabs .tab-content{ padding-top:20px; }
        .agm-tabs .tab-content > .tab-pane{ display:none; }
        .agm-tabs .tab-content > .tab-pane.active{ display:block; }

        /* flash messages */
        .message, .alert{ border-radius:10px; padding:11px 14px; font-size:13.5px; margin-bottom:14px; border:1px solid transparent; }
        .message.success, .alert-success{ background:#E7F4EE; color:#137A4F; border-color:#BfE3D2; }
        .message.error, .alert-danger, .alert-error{ background:#FBEBEA; color:#B23A3A; border-color:#F1CFCC; }
        .message.info, .alert-info{ background:#EAF1F8; color:#2C6CA6; border-color:#CFE0EF; }

        /* header dropdown */
        .agm-usermenu{ position:relative; }
        .agm-usermenu-panel{ display:none; }
        .agm-usermenu.open .agm-usermenu-panel{ display:block; }
    

/* ===================================================================
   Pro home layout
   (from templates/Pages/home_pro.php)
   =================================================================== */
    /* Pro layout grid */
    .agm-pro-row{ display:flex; gap:16px; align-items:flex-start; }
    .agm-pro-left{ flex:2 1 0; min-width:0; }
    .agm-pro-left > * + *{ margin-top:16px; }
    .agm-pro-right{ flex:1 1 0; min-width:0; }

    .agm-pro-right > .col-md-4{ width:100% !important; float:none !important; padding:0 !important; margin:0 !important; }
    .agm-pro-right > .col-md-4 > .panel{ margin:0 !important; }
    /* agenda scroll area (height set by script) */
    .agm-pro-right #agenda-list-info{ height:600px; overflow-y:auto; overflow-x:hidden; }

    .agm-pro-ask{ margin-top:16px; }

    .agm-pro .agm-agenda-title{ margin:14px 14px 6px; padding:14px 18px; }
    .agm-pro .agm-agenda-title > span{ font-size:16.5px; }
    .agm-pro .agm-agenda-title .agm-agenda-title-en{ font-size:13px; }
    .agm-pro .agm-agenda-title .agm-agenda-title-ic{ width:22px; height:22px; }

    @media (max-width:991px){
        .agm-pro-row{ flex-direction:column; }
        .agm-pro-left, .agm-pro-right{ flex:0 0 auto !important; width:100%; }
    }

/* ===================================================================
   Agenda list + vote buttons
   (from templates/Pages/agenda_list.php)
   =================================================================== */
*{ box-sizing: border-box;

}

.child {
	border: 1px solid #339933;
	background-color:#339933;
	float: left;
	width: 40%;
	margin-left: 0px;
	color: #f1f1f1;
	}

.childz {
	border: 1px solid #e36159;
	background-color:#e36159;
	float: left;
	width: 40%;
	margin-left: 6px;
	color: #f1f1f1;
	margin-bottom: 14px;
	}
    .featured-boxes .featured-box {
        margin-bottom: 30px !important;
        margin-top: 10px !important;
        margin-left: -31px;
    }

/* ===================================================================
   Agenda card (AJAX refresh)
   (from templates/Agendas/agenda.php)
   =================================================================== */
*{ box-sizing: border-box;

}

.child {
	border: 1px solid #339933;
	background-color:#339933;
	float: left;
	width: 40%;
	margin-left: 0px;
	color: #f1f1f1;
	}

.childz {
	border: 1px solid #e36159;
	background-color:#e36159;
	float: left;
	width: 40%;
	margin-left: 6px;
	color: #f1f1f1;
	margin-bottom: 14px;
	}

/* ===================================================================
   My Profile page
   (from templates/Users/profile.php)
   =================================================================== */
    .agm-prof{ --navy:#0B2545; --navy2:#16386A; --gold:#C0992F; --favor:#137A4F; --against:#B23A3A; --ink:#1A2433; --ink2:#5C6B7E; --line:#E3E7EE; }
    .agm-prof{ max-width:1000px; margin:0 auto; padding:34px 20px 60px; color:var(--ink); font-family:'IBM Plex Sans','Segoe UI',Roboto,sans-serif; }
    .agm-prof *{ box-sizing:border-box; }
    .agm-h{ display:flex; align-items:center; gap:12px; margin:0 0 20px; }
    .agm-h .bar{ width:5px; height:26px; border-radius:3px; background:var(--gold); }
    .agm-h h1{ font-family:'IBM Plex Serif',Georgia,serif; font-size:26px; font-weight:700; color:var(--navy); margin:0; }

    /* profile card */
    .agm-card{ background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:0 1px 2px rgba(11,37,69,.04),0 22px 46px -32px rgba(11,37,69,.32); }
    .agm-pc-head{ background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%); padding:24px 26px; display:flex; align-items:center; gap:18px; }
    .agm-pc-avatar{ width:74px; height:74px; border-radius:50%; flex:0 0 auto; background:var(--gold); color:var(--navy); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Serif',Georgia,serif; font-size:32px; font-weight:700; box-shadow:0 8px 20px -8px rgba(0,0,0,.4); }
    .agm-pc-name{ font-family:'IBM Plex Serif',Georgia,serif; font-size:22px; font-weight:700; color:#fff; line-height:1.2; margin:0; }
    .agm-pc-boid{ font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--gold); margin:5px 0 8px; letter-spacing:.02em; }
    .agm-pc-badge{ display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.06em; color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22); padding:4px 11px; border-radius:20px; }

    .agm-pc-body{ padding:22px 26px 24px; display:grid; grid-template-columns:1fr 1fr; gap:20px 32px; }
    @media(max-width:640px){ .agm-pc-body{ grid-template-columns:1fr; } }
    .agm-field{ display:flex; align-items:flex-start; gap:12px; }
    .agm-field .fic{ width:36px; height:36px; border-radius:10px; flex:0 0 auto; background:#F1F4F8; display:flex; align-items:center; justify-content:center; }
    .agm-field .fic svg{ width:18px; height:18px; fill:var(--ink2); }
    .agm-field .flabel{ font-size:10.5px; font-weight:600; letter-spacing:.05em; color:#8A97A8; text-transform:uppercase; }
    .agm-field .fvalue{ font-size:14.5px; color:var(--ink); margin-top:2px; word-break:break-word; }
    .agm-field .fvalue.mono{ font-family:'IBM Plex Mono',monospace; font-weight:600; }

    .agm-note{ display:flex; align-items:center; gap:8px; font-size:12px; color:#8A97A8; background:#F7F9FC; border-top:1px solid #EEF1F6; padding:12px 26px; }
    .agm-note svg{ width:14px; height:14px; fill:#A7B2C0; flex:0 0 auto; }

    /* section blocks */
    .agm-sec{ margin-top:26px; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:0 1px 2px rgba(11,37,69,.04),0 20px 44px -32px rgba(11,37,69,.28); }
    .agm-sec-head{ display:flex; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid #EEF1F6; }
    .agm-sec-ic{ width:40px; height:40px; border-radius:11px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; }
    .agm-sec-ic svg{ width:20px; height:20px; }
    .agm-sec-titles{ flex:1 1 auto; min-width:0; }
    .agm-sec-title{ font-size:16px; font-weight:700; color:var(--navy); line-height:1.2; }
    .agm-sec-sub{ font-size:11.5px; color:#8A97A8; margin-top:2px; }
    .agm-chip{ flex:0 0 auto; font-family:'IBM Plex Mono',monospace; font-size:13px; font-weight:700; color:var(--navy); background:#F1F4F8; border:1px solid #E7ECF3; border-radius:9px; padding:4px 11px; }
    .agm-ro{ flex:0 0 auto; display:inline-flex; align-items:center; gap:5px; font-size:11px; color:#98A4B2; }
    .agm-ro svg{ width:12px; height:12px; fill:currentColor; }

    /* votes table */
    .agm-tbl-wrap{ overflow-x:auto; }
    table.agm-tbl{ width:100%; border-collapse:separate; border-spacing:0; font-size:13.5px; min-width:520px; }
    table.agm-tbl th, table.agm-tbl td{ text-align:left; padding:12px 16px; border-bottom:1px solid #EEF1F6; }
    table.agm-tbl thead th{ background:#F7F9FC; font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:#8A97A8; }
    table.agm-tbl tbody tr:last-child td{ border-bottom:0; }
    table.agm-tbl tbody tr:hover td{ background:#FBFCFE; }
    .agm-idx{ font-family:'IBM Plex Mono',monospace; color:#98A4B2; width:44px; }
    .agm-when{ font-family:'IBM Plex Mono',monospace; color:var(--ink2); white-space:nowrap; }
    .vbadge{ display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:700; padding:5px 12px; border-radius:20px; white-space:nowrap; }
    .vbadge .d{ width:7px; height:7px; border-radius:50%; }
    .v-favor{ background:rgba(19,122,79,.12); color:#0F6B45; } .v-favor .d{ background:var(--favor); }
    .v-against{ background:rgba(178,58,58,.12); color:#9E3232; } .v-against .d{ background:var(--against); }

    /* comments list */
    .agm-clist{ padding:8px 20px 16px; }
    .agm-citem{ padding:14px 0; border-bottom:1px solid #F0F3F7; }
    .agm-citem:last-child{ border-bottom:0; }
    .agm-ctext{ font-size:14px; color:var(--ink); line-height:1.55; white-space:pre-wrap; word-break:break-word; }
    .agm-cmeta{ display:flex; align-items:center; gap:7px; margin-top:7px; font-size:11.5px; color:#98A4B2; }
    .agm-cmeta svg{ width:13px; height:13px; fill:currentColor; }

    .agm-empty{ padding:26px 20px; text-align:center; color:#98A4B2; font-size:13.5px; }

/* ===================================================================
   Agenda details popup (View / Details link + modal)
   =================================================================== */
.agm-view-link{ display:inline-flex; align-items:center; gap:6px; margin-top:12px; font-size:12.5px; font-weight:600; color:#2C6CA6; text-decoration:none; background:rgba(44,108,166,.08); border:1px solid rgba(44,108,166,.18); padding:6px 13px; border-radius:9px; transition:.15s; cursor:pointer; }
.agm-view-link:hover{ background:#2C6CA6; border-color:#2C6CA6; color:#fff; }
.agm-view-link svg{ width:15px; height:15px; fill:currentColor; }
/* subtle table-cell variant */
.agm-view-cell{ font-size:12px; padding:5px 11px; margin-top:0; }

.agm-am{ position:fixed; inset:0; z-index:10000; display:none; align-items:center; justify-content:center; padding:18px; }
.agm-am.is-open{ display:flex; }
.agm-am-backdrop{ position:absolute; inset:0; background:rgba(11,37,69,.6); backdrop-filter:blur(2px); animation:agmAmFade .18s ease; }
.agm-am-box{ position:relative; width:100%; max-width:600px; max-height:86vh; display:flex; flex-direction:column; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 30px 80px -24px rgba(11,37,69,.65); animation:agmAmPop .2s cubic-bezier(.2,.8,.3,1.15); }
.agm-am-head{ display:flex; align-items:center; gap:11px; padding:16px 18px; background:linear-gradient(135deg,#0B2545 0%,#16386A 100%); color:#fff; flex:0 0 auto; }
.agm-am-ic{ width:34px; height:34px; border-radius:9px; flex:0 0 auto; background:rgba(255,255,255,.12); display:inline-flex; align-items:center; justify-content:center; }
.agm-am-ic svg{ width:18px; height:18px; fill:#C0992F; }
#agm-am-title{ flex:1 1 auto; font-family:'IBM Plex Serif',Georgia,serif; font-size:16px; font-weight:700; }
.agm-am-close{ flex:0 0 auto; width:32px; height:32px; border:none; background:rgba(255,255,255,.12); color:#fff; border-radius:8px; font-size:20px; line-height:1; cursor:pointer; transition:.15s; }
.agm-am-close:hover{ background:rgba(255,255,255,.24); }
.agm-am-body{ padding:20px 22px 24px; overflow-y:auto; font-size:14.5px; line-height:1.65; color:#1A2433; }
.agm-am-body b, .agm-am-body strong{ color:#0B2545; }
.agm-am-body br{ line-height:1.8; }
@keyframes agmAmFade{ from{opacity:0} to{opacity:1} }
@keyframes agmAmPop{ from{opacity:0; transform:translateY(12px) scale(.97)} to{opacity:1; transform:none} }
