
:root{
  --ink:#29243f;--teal:#22b8c7;--yellow:#f6b21d;--paper:#f4f6f8;--line:#e3e6eb;
  --muted:#737786;--white:#fff;--danger:#a53a3a;--green:#176a4a;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.5}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}
.admin-login-body{min-height:100vh;background:linear-gradient(135deg,#211e32,#39334e 65%,#24515a);display:grid;place-items:center;padding:30px}
.login-shell{display:grid;grid-template-columns:1fr 1fr;max-width:900px;width:100%;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.3)}
.login-brand{background:linear-gradient(150deg,#2a2540,#302b47);color:#fff;padding:55px;display:flex;flex-direction:column;justify-content:space-between;min-height:540px}
.login-brand img{background:#fff;border-radius:14px;padding:12px;width:220px}
.login-brand span{font-weight:800;letter-spacing:.12em;color:#76dfe6}
.login-card{padding:55px;display:flex;flex-direction:column;justify-content:center}
.login-card h1{font-size:2.5rem;margin:0}.login-card p{color:var(--muted);margin-bottom:30px}
.login-card label,.admin-form label,.settings-form label{display:flex;flex-direction:column;gap:7px;font-size:.85rem;font-weight:800;margin-bottom:16px}
.login-card input,.admin-form input,.admin-form textarea,.admin-form select,.settings-form input,.settings-form textarea,.status-form select{border:1px solid #d8dce3;background:#fbfcfd;border-radius:10px;padding:11px 12px;outline:0;color:var(--ink)}
.login-card input:focus,.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus,.settings-form input:focus,.settings-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(34,184,199,.1)}
.admin-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:10px 15px;font-weight:800;cursor:pointer}
.admin-btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}
.admin-btn:hover{border-color:var(--teal)}
.back-link{margin-top:18px;color:var(--muted);font-size:.85rem}
.admin-alert{padding:12px 15px;border-radius:10px;margin-bottom:16px;font-weight:700}.admin-alert.error{background:#fff0f0;color:#872f2f;border:1px solid #efcccc}.admin-alert.success{background:#eaf9f3;color:#1c694d;border:1px solid #c6eadb}
.admin-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;background:#211e32;color:#cfccd7;padding:26px 20px;display:flex;flex-direction:column;z-index:100}
.admin-logo{background:#fff;border-radius:12px;padding:9px 12px}.admin-logo img{width:190px}
.cms-label{font-size:.68rem;letter-spacing:.15em;color:#777487;margin:20px 10px 12px}
.admin-sidebar nav{display:flex;flex-direction:column;gap:3px}
.admin-sidebar nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:9px;font-size:.9rem;font-weight:700;position:relative}
.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#343048;color:#fff}
.admin-sidebar nav a span{color:#69d7df;width:18px;text-align:center}.admin-sidebar nav a b{margin-left:auto;background:#efb21f;color:#2d2940;border-radius:999px;padding:2px 7px;font-size:.7rem}
.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:14px;display:flex;flex-direction:column;font-size:.85rem;gap:7px}
.admin-main{grid-column:2;padding:28px 35px 50px;min-width:0}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}
.admin-topbar h1{margin:0;font-size:1.8rem}.admin-topbar p{margin:3px 0 0;color:var(--muted);font-size:.85rem}
.admin-user{display:flex;flex-direction:column;text-align:right}.admin-user span{font-weight:800}.admin-user small{color:var(--muted)}
.sidebar-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 10px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.stat-card span{color:var(--muted);font-size:.82rem}.stat-card strong{display:block;font-size:2.3rem;margin-top:14px}
.admin-panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px;margin-bottom:18px;box-shadow:0 10px 30px rgba(42,38,60,.035)}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.panel-head h2{margin:0;font-size:1.25rem}.panel-head p,.page-actions p{margin:4px 0 0;color:var(--muted);font-size:.85rem}
.page-actions{margin-bottom:18px}
.table-wrap{overflow:auto}
.admin-table{width:100%;border-collapse:collapse;min-width:800px}.admin-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#8e919d;border-bottom:1px solid var(--line);padding:10px}.admin-table td{border-bottom:1px solid #eff1f3;padding:13px 10px;vertical-align:top;font-size:.86rem}.admin-table td strong,.admin-table td small{display:block}.admin-table td small{color:var(--muted);max-width:420px;white-space:normal}
.empty{text-align:center!important;color:#979aa5!important;padding:30px!important}
.status{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:850;background:#eef0f4}.status.new{background:#fff3d7;color:#8d6410}.status.contacted,.status.quotation-sent{background:#e9f5fb;color:#22627b}.status.won{background:#e7f6ef;color:#1a6c4c}.status.lost{background:#f7e9e9;color:#8a3838}
.table-actions{display:flex;gap:10px;white-space:nowrap}.table-actions a{color:#167b88;font-weight:800}.table-actions form{display:inline}.table-actions button,.content-actions button{border:0;background:none;color:#aa4040;font-weight:800;cursor:pointer;padding:0}
.form-grid{display:grid;gap:15px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:1.4fr .5fr .5fr}.form-grid.four{grid-template-columns:1.2fr 1.2fr .9fr .5fr}
.admin-form textarea,.settings-form textarea{resize:vertical}
.admin-form small{color:var(--muted);font-weight:500}
.check-label{flex-direction:row!important;align-items:center;justify-content:flex-start!important;gap:9px!important;padding-top:25px}.check-label input{width:auto}
.content-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.content-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.content-card img{width:100%;height:180px;object-fit:cover}.content-card>div{padding:14px}.content-card span{color:#1593a2;font-size:.72rem;font-weight:800;text-transform:uppercase}.content-card h3{margin:4px 0}.content-card p{color:var(--muted);font-size:.82rem}.content-actions{display:flex;gap:12px;font-size:.8rem;font-weight:800}.content-actions a{color:#167b88}
.client-admin-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.client-admin-grid article{border:1px solid var(--line);border-radius:12px;padding:13px}.client-admin-grid img{height:75px;width:100%;object-fit:contain}.client-admin-grid h3{font-size:.9rem}
.status-form select{padding:7px 9px;font-size:.78rem;background:#fff}
.message-list{display:grid;gap:12px}.message-card{border:1px solid var(--line);border-radius:14px;padding:17px}.message-head{display:flex;justify-content:space-between;gap:20px}.message-head h3{margin:0}.message-head h3 small{color:var(--muted);font-weight:500;margin-left:8px}.message-head p{margin:4px 0;color:var(--muted);font-size:.82rem}.message-head>span{color:var(--muted);font-size:.75rem}.message-body{background:#f7f8fa;border-radius:10px;padding:13px}
.setting-row{display:grid;grid-template-columns:180px 1fr 1fr;gap:15px;border-top:1px solid #eff1f3;padding:18px 0}.setting-key{display:flex;flex-direction:column;gap:5px}.setting-key strong{text-transform:capitalize}.setting-key code{font-size:.7rem;color:#9a9ca6}.sticky-save{position:sticky;bottom:16px;display:flex;justify-content:flex-end;padding:10px}.sticky-save .admin-btn{box-shadow:0 12px 30px rgba(42,38,60,.2)}
.narrow{max-width:520px}.account-panel p{color:var(--muted)}
code{background:#f1f3f5;padding:2px 5px;border-radius:5px}
@media(max-width:1100px){.stats-grid{grid-template-columns:1fr 1fr}.content-card-grid{grid-template-columns:1fr 1fr}.client-admin-grid{grid-template-columns:repeat(3,1fr)}.form-grid.four{grid-template-columns:1fr 1fr}.setting-row{grid-template-columns:140px 1fr 1fr}}
@media(max-width:820px){.admin-shell{display:block}.admin-sidebar{transform:translateX(-105%);transition:.2s;box-shadow:10px 0 30px rgba(0,0,0,.18)}.admin-sidebar.open{transform:none}.admin-main{padding:20px}.sidebar-toggle{display:block}.admin-topbar{align-items:flex-start}.admin-user{display:none}.form-grid.two,.form-grid.three,.form-grid.four{grid-template-columns:1fr}.setting-row{grid-template-columns:1fr}.content-card-grid{grid-template-columns:1fr}.client-admin-grid{grid-template-columns:1fr 1fr}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-card{padding:35px;min-height:500px}}
@media(max-width:520px){.stats-grid{grid-template-columns:1fr}.client-admin-grid{grid-template-columns:1fr}.admin-main{padding:15px}.admin-topbar h1{font-size:1.4rem}}
/* =========================================================
   RICH TEXT EDITOR
========================================================= */

.rich-editor{
    width:100%;
    border:1px solid #dfe3ea;
    border-radius:14px;
    overflow:hidden;
    background:#fff;
    transition:
        border-color .2s,
        box-shadow .2s;
}

.rich-editor:focus-within{
    border-color:#2CB0BF;
    box-shadow:
        0 0 0 3px
        rgba(44,176,191,.10);
}


/* TOOLBAR */

.rich-toolbar{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:5px;

    padding:8px;

    background:#f7f8fa;

    border-bottom:
        1px solid #e4e7ed;
}


.rich-toolbar button,
.rich-toolbar select{
    min-height:36px;

    border:1px solid #d8dce5;
    border-radius:8px;

    background:#fff;

    color:#27233d;

    padding:6px 10px;

    font-family:inherit;
    font-size:13px;
    font-weight:600;

    cursor:pointer;

    transition:
        border-color .15s,
        color .15s,
        background .15s;
}


.rich-toolbar button{
    min-width:36px;
}


.rich-toolbar button:hover,
.rich-toolbar select:hover{
    border-color:#2CB0BF;
    color:#2CB0BF;
}


.rich-toolbar button:active{
    background:
        rgba(44,176,191,.10);
}


.rich-format-select{
    min-width:105px;
}


.toolbar-divider{
    width:1px;
    height:25px;

    margin:0 3px;

    background:#dadde5;
}


/* EDITABLE AREA */

.rich-area{
    min-height:180px;

    padding:15px 16px;

    background:#fff;

    color:#27233d;

    font-size:14px;
    font-weight:500;
    line-height:1.75;

    outline:none;

    overflow:auto;
}


.rich-area[dir="rtl"]{
    text-align:right;
}


.rich-area p{
    margin:
        0
        0
        12px;
}


.rich-area p:last-child{
    margin-bottom:0;
}


.rich-area h2{
    margin:
        14px
        0
        8px;

    font-size:24px;
    line-height:1.25;
}


.rich-area h3{
    margin:
        12px
        0
        7px;

    font-size:19px;
    line-height:1.3;
}


.rich-area ul,
.rich-area ol{
    margin:
        10px
        0;

    padding-inline-start:28px;
}


.rich-area blockquote{
    margin:
        12px
        0;

    padding:
        10px
        15px;

    border-inline-start:
        3px solid #2CB0BF;

    background:
        rgba(44,176,191,.06);
}


.rich-area a{
    color:#2CB0BF;
    text-decoration:underline;
}


/* TABLET / MOBILE */

@media(max-width:800px){

    .rich-toolbar{
        gap:4px;
    }

    .rich-toolbar button,
    .rich-toolbar select{
        font-size:12px;
        padding:5px 8px;
    }

    .toolbar-divider{
        display:none;
    }

}