/* TALKEE GOLDEN PASS v1.2 — layout based on supplied reference */
.talkee-gp-page,
.talkee-gp-page *{box-sizing:border-box}

.talkee-gp-page{
    width:100%;
    max-width:100%;
    padding:10px;
    margin:0 auto;
    font-family:Arial,Helvetica,sans-serif;
    color:#1b3047;
    background:transparent;
}

.talkee-gp-shell{
    width:100%;
    max-width:940px;
    margin:0 auto;
    padding:16px 16px 18px;
    background:#fff;
    border:1px solid #d6dce4;
    border-radius:10px;
    box-shadow:0 1px 7px rgba(16,40,67,.07);
}

.talkee-gp-heading{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    margin:0 0 16px;
    color:#154b83;
    font-size:12px;
    line-height:1;
    font-weight:800;
    letter-spacing:.1px;
}
.talkee-gp-target{font-size:13px;color:#f11a2f}

.talkee-gp-rule{
    padding:12px 14px 12px;
    margin-bottom:13px;
    background:#f7f9fb;
    border-left:2px solid #26425f;
    border-radius:0 5px 5px 0;
}
.talkee-gp-rule-title{
    margin:0 0 6px;
    color:#233c57;
    font-size:9px;
    line-height:1.2;
    font-weight:800;
}
.talkee-gp-rule ul{
    margin:0;
    padding:0 0 0 17px;
    color:#647485;
    font-size:7px;
    line-height:1.75;
}

.talkee-gp-form{width:100%;margin:0}

.talkee-gp-new-label{
    margin:0 0 3px;
    color:#0864c7;
    font-size:8px;
    font-weight:900;
    letter-spacing:1px;
}
.talkee-gp-new-title{
    margin:0 0 16px;
    color:#072852;
    font-size:18px;
    line-height:1.1;
    font-weight:900;
}

.talkee-gp-field{
    margin:0 0 12px;
}
.talkee-gp-field>label,
.talkee-gp-panel-title{
    display:block;
    margin:0 0 6px;
    color:#17334f;
    font-size:9px;
    line-height:1.15;
    font-weight:800;
}

.talkee-gp-field input[type="text"]{
    display:block;
    width:100%;
    min-height:36px;
    padding:0 10px;
    margin:0;
    border:1px solid #ccd8e5;
    border-radius:6px;
    background:#fff;
    color:#17334d;
    outline:none;
    font-size:10px;
    font-weight:600;
    box-shadow:none;
}
.talkee-gp-field input[type="text"]::placeholder{color:#17334d;opacity:1}
.talkee-gp-field input[type="text"]:focus{
    border-color:#7aa4cc;
    box-shadow:0 0 0 2px rgba(40,101,161,.08)
}

.talkee-gp-top-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-bottom:12px;
}
.talkee-gp-panel{
    min-width:0;
    min-height:155px;
    padding:11px;
    border:1px solid #d4dee9;
    border-radius:7px;
    background:#fbfcfe;
}

.talkee-gp-categories{
    height:98px;
    overflow-y:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    padding-right:4px;
}
.talkee-gp-categories::-webkit-scrollbar{width:7px}
.talkee-gp-categories::-webkit-scrollbar-thumb{
    background:#8f969e;
    border-radius:10px;
}
.talkee-gp-cat{
    min-width:0;
    min-height:29px;
    padding:4px 7px;
    display:flex;
    align-items:center;
    gap:6px;
    border:1px solid #d9e1ea;
    border-radius:6px;
    background:#fff;
    color:#34495f;
    font-size:8px;
    font-weight:700;
    cursor:pointer;
}
.talkee-gp-cat input{
    width:12px;
    height:12px;
    margin:0;
    accent-color:#183e67;
}
.talkee-gp-cat span{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.talkee-gp-panel-help{
    margin-top:6px;
    color:#92a0ae;
    font-size:7px;
    line-height:1.25;
}

/* Featured image block — same visual arrangement as supplied reference */
.talkee-gp-image-area{
    position:relative;
    height:104px;
    border:1px dashed #cfd9e4;
    border-radius:6px;
    background:#fff;
    overflow:hidden;
}
.talkee-gp-image-empty{height:100%;position:relative}
.talkee-gp-file-line{
    position:absolute;
    top:28px;
    left:10px;
    right:10px;
    display:flex;
    align-items:center;
    gap:15px;
}
.talkee-gp-file-btn{
    min-height:23px;
    padding:3px 7px;
    border:1px solid #dae1e8;
    border-radius:3px;
    background:#fff;
    color:#a8b1ba;
    font-size:8px;
    cursor:pointer;
}
#talkee-gp-upload-status{
    color:#777;
    font-size:8px;
    font-weight:700;
}
.talkee-gp-drop-hint{
    position:absolute;
    top:12px;
    right:15px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    width:70px;
    text-align:center;
    color:#b4bdc6;
    font-size:8px;
    line-height:1.35;
}
.talkee-gp-image-symbol{
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    margin-bottom:1px;
    border:1px solid #eef1f4;
    border-radius:5px;
    color:#e2e6ea;
    font-size:10px;
}
.talkee-gp-drop-hint small{
    display:block;
    font-size:6px;
    color:#c6cdd4;
}
.talkee-gp-featured-preview{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    background:#fff;
}
.talkee-gp-image-actions{
    position:absolute;
    left:10px;
    right:10px;
    bottom:8px;
    display:flex;
    justify-content:flex-end;
    gap:5px;
}
.talkee-gp-image-actions button{
    min-height:24px;
    padding:4px 7px;
    border:1px solid #d5dde6;
    border-radius:4px;
    background:#fff;
    color:#4e6072;
    font-size:7px;
    font-weight:800;
    cursor:pointer;
}
#talkee-gp-image-remove{color:#e95e61}
.talkee-gp-image-area.is-dragging{
    border-color:#4f86bb;
    background:#f2f7fb;
}

/* Editor */
.talkee-gp-content-field{margin-bottom:10px}
.talkee-gp-editor{
    border:1px solid #cfd9e4;
    border-radius:7px;
    overflow:hidden;
    background:#fff;
}
.talkee-gp-toolbar{
    min-height:34px;
    display:flex;
    align-items:center;
    gap:4px;
    padding:5px 6px;
    border-bottom:1px solid #d5dee8;
    background:#f7f9fc;
}
.talkee-gp-toolbar button{
    width:27px;
    height:25px;
    flex:0 0 27px;
    padding:0;
    border:1px solid #d5dee8;
    border-radius:4px;
    background:#fff;
    color:#203b58;
    font-size:11px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    cursor:pointer;
}
.talkee-gp-toolbar button:hover,
.talkee-gp-toolbar button.active{
    background:#eef4f9;
    border-color:#aac0d6;
}
.talkee-gp-content{
    min-height:265px;
    max-height:540px;
    overflow:auto;
    padding:14px 12px;
    outline:none;
    color:#526579;
    background:#fff;
    font-size:10px;
    line-height:1.7;
}
.talkee-gp-content:empty::before{
    content:attr(data-placeholder);
    color:#9aa7b4;
    pointer-events:none;
}
.talkee-gp-content p{margin:0 0 10px}
.talkee-gp-content h2{
    margin:14px 0 8px;
    color:#173651;
    font-size:17px;
}
.talkee-gp-content img{
    max-width:100%;
    height:auto;
    border-radius:4px;
}
.talkee-gp-content a{color:#145d9e;text-decoration:underline}
.talkee-gp-html-mode{
    min-height:265px;
    background:#111a23;
    color:#eaf1f6;
    font-family:Consolas,Monaco,monospace;
    white-space:pre-wrap;
}
.talkee-gp-editor-help{
    margin:4px 0 0;
    color:#8b98a5;
    font-size:7px;
    line-height:1.3;
}

/* Buttons */
.talkee-gp-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:6px;
    margin-top:20px;
}
.talkee-gp-button{
    min-height:30px;
    padding:7px 10px;
    border-radius:6px;
    font-size:8px;
    font-weight:900;
    cursor:pointer;
}
.talkee-gp-draft{
    color:#173752;
    background:#fff;
    border:1px solid #ccd7e2;
}
.talkee-gp-review{
    color:#fff;
    background:#1976ed;
    border:1px solid #1976ed;
}
.talkee-gp-publish{
    color:#fff;
    background:#12ad6c;
    border:1px solid #12ad6c;
}
.talkee-gp-button:hover{filter:brightness(.97)}
.talkee-gp-button:disabled{opacity:.55;cursor:wait}
.talkee-gp-message{
    min-height:18px;
    margin-top:5px;
    text-align:right;
    font-size:8px;
}
.talkee-gp-message.success{color:#13855c}
.talkee-gp-message.error{color:#d44b4b}

/* Access message */
.talkee-gp-login{
    max-width:620px;
    margin:20px auto;
    padding:22px;
    border:1px solid #d6dfe9;
    border-radius:8px;
    background:#fff;
    text-align:center;
    font-family:Arial,Helvetica,sans-serif;
}
.talkee-gp-login a{
    display:inline-block;
    margin-top:8px;
    padding:8px 14px;
    border-radius:5px;
    background:#273e56;
    color:#fff;
    font-size:9px;
    font-weight:800;
    text-decoration:none;
}

/* Mobile: preserves desktop appearance while stacking only when needed */
@media (max-width: 760px){
    .talkee-gp-page{padding:6px}
    .talkee-gp-shell{
        width:100%;
        padding:12px;
        border-radius:9px;
    }
    .talkee-gp-top-grid{grid-template-columns:1fr}
    .talkee-gp-panel{min-height:145px}
    .talkee-gp-categories{height:100px}
    .talkee-gp-content{min-height:230px;max-height:none}
    .talkee-gp-actions{
        display:grid;
        grid-template-columns:1fr 1fr 1fr;
        gap:6px;
    }
    .talkee-gp-button{
        width:100%;
        padding-left:5px;
        padding-right:5px;
    }
}

@media (max-width: 480px){
    .talkee-gp-shell{padding:10px}
    .talkee-gp-heading{font-size:10px;margin-bottom:10px}
    .talkee-gp-rule{padding:9px 10px}
    .talkee-gp-rule-title{font-size:8px}
    .talkee-gp-rule ul{font-size:6px;line-height:1.6}
    .talkee-gp-new-title{font-size:17px}
    .talkee-gp-field>label,.talkee-gp-panel-title{font-size:8px}
    .talkee-gp-field input[type="text"]{min-height:38px;font-size:9px}
    .talkee-gp-toolbar{
        overflow-x:auto;
        flex-wrap:nowrap;
        padding:5px;
    }
    .talkee-gp-toolbar button{width:29px;height:27px;flex-basis:29px}
    .talkee-gp-content{min-height:220px;font-size:9px;padding:11px 9px}
    .talkee-gp-editor-help{font-size:6.5px}
    .talkee-gp-actions{
        grid-template-columns:1fr;
        margin-top:14px;
    }
    .talkee-gp-button{min-height:34px;font-size:8px}
}

/* Very small screens: image block remains usable */
@media (max-width: 350px){
    .talkee-gp-file-line{
        left:7px;right:7px;gap:5px;
    }
    #talkee-gp-upload-status{font-size:7px}
    .talkee-gp-drop-hint{right:5px;width:58px}
}


/* Visibility fix for themes/plugins that override button text/icon styling */
.talkee-gp-page .talkee-gp-toolbar button{
    appearance:none !important;
    -webkit-appearance:none !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#203b58 !important;
    background:#fff !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:1 !important;
    text-indent:0 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    overflow:visible !important;
}
.talkee-gp-page .talkee-gp-toolbar button strong,
.talkee-gp-page .talkee-gp-toolbar button em{
    display:inline !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#203b58 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:11px !important;
    line-height:1 !important;
}
.talkee-gp-page .talkee-gp-toolbar button:hover,
.talkee-gp-page .talkee-gp-toolbar button.active{
    color:#203b58 !important;
    background:#eef4f9 !important;
}
.talkee-gp-page .talkee-gp-draft,
.talkee-gp-page .talkee-gp-draft *{
    visibility:visible !important;
    opacity:1 !important;
}
.talkee-gp-page .talkee-gp-draft{
    color:#173752 !important;
    background:#fff !important;
    border:1px solid #ccd7e2 !important;
    font-size:8px !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-indent:0 !important;
    white-space:nowrap !important;
}
.talkee-gp-page .talkee-gp-review{
    color:#fff !important;
    background:#1976ed !important;
    border-color:#1976ed !important;
}
.talkee-gp-page .talkee-gp-publish{
    color:#fff !important;
    background:#12ad6c !important;
    border-color:#12ad6c !important;
}

/* Preserve the compact editor proportions on mobile without shrinking the icons away. */
@media (max-width:480px){
    .talkee-gp-page .talkee-gp-toolbar button{
        min-width:29px !important;
        width:29px !important;
        flex:0 0 29px !important;
        font-size:11px !important;
    }
    .talkee-gp-page .talkee-gp-toolbar button strong,
    .talkee-gp-page .talkee-gp-toolbar button em{
        font-size:11px !important;
    }
}

/* Contest state / control shortcodes */
.talkee-gp-status{
    display:inline-flex;
    align-items:center;
    padding:5px 9px;
    border-radius:999px;
    font:800 8px/1 Arial,Helvetica,sans-serif;
}
.talkee-gp-status.open{
    background:#e9f8f1;
    color:#16865a;
}
.talkee-gp-status.closed{
    background:#fdeeee;
    color:#c84949;
}
.talkee-gp-closed{
    width:100%;
    max-width:620px;
    margin:20px auto;
    padding:28px 18px;
    border:1px solid #e0e5eb;
    border-radius:9px;
    background:#fff;
    text-align:center;
    font-family:Arial,Helvetica,sans-serif;
    box-shadow:0 1px 5px rgba(16,40,67,.06);
}
.talkee-gp-closed strong{
    display:block;
    color:#c74a4a;
    font-size:14px;
    margin-bottom:5px;
}
.talkee-gp-closed span{
    display:block;
    color:#788694;
    font-size:9px;
}
.talkee-gp-contest-control{
    max-width:520px;
    padding:14px;
    margin:15px auto;
    border:1px solid #d4dee8;
    border-radius:8px;
    background:#fff;
    box-shadow:0 1px 5px rgba(16,40,67,.06);
    font-family:Arial,Helvetica,sans-serif;
}
.talkee-gp-control-title{
    color:#0a2c50;
    font-size:12px;
    font-weight:900;
    margin-bottom:8px;
}
.talkee-gp-control-status{
    color:#657484;
    font-size:9px;
    margin-bottom:10px;
}
.talkee-gp-control-state{
    color:#16875c;
}
.talkee-gp-contest-control[data-open="0"] .talkee-gp-control-state{
    color:#c84d4d;
}
.talkee-gp-control-buttons{
    display:flex;
    gap:7px;
}
.talkee-gp-control-btn{
    flex:1;
    border:0;
    border-radius:5px;
    min-height:31px;
    padding:7px 10px;
    color:#fff;
    font:900 8px/1 Arial,Helvetica,sans-serif;
    cursor:pointer;
}
.talkee-gp-control-btn.open{background:#14a96a}
.talkee-gp-control-btn.close{background:#d95353}
.talkee-gp-control-btn:disabled{opacity:.55;cursor:wait}
.talkee-gp-control-message{
    min-height:14px;
    margin-top:6px;
    font-size:8px;
    text-align:center;
}
.talkee-gp-control-message.success{color:#16855c}
.talkee-gp-control-message.error{color:#d04b4b}
@media(max-width:480px){
    .talkee-gp-contest-control{margin:10px 0;padding:12px}
    .talkee-gp-control-buttons{display:grid;grid-template-columns:1fr}
    .talkee-gp-control-btn{min-height:36px}
}

.talkee-gp-contest-control .talkee-gp-control-state{
    display:inline-block;
    min-width:58px;
    text-align:center;
    padding:4px 7px;
    border-radius:999px;
    background:#eaf8f1;
    color:#16855c;
}
.talkee-gp-contest-control[data-open="0"] .talkee-gp-control-state{
    background:#fdeeee;
    color:#c74c4c;
}
