
:root{
  --bg:#f4f6f9;
  --surface:#ffffff;
  --surface2:#f8f9fc;
  --border:#e2e6ed;
  --bd-blue:#1f5fa6;
  --bd-blue-light:#e8f0fb;
  --bd-blue-mid:#3a7bc8;
  --accent:#c8956c;
  --accent2:#2d7a62;
  --text:#1a1f2e;
  --text2:#4a5568;
  --text3:#8a96a8;
  --shadow:0 1px 8px rgba(0,0,0,.07);
  --shadow-lg:0 8px 32px rgba(0,0,0,.11);
  --radius:12px;
  --sidebar:250px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Noto Sans",sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;font-size:14px}

/* SIDEBAR */
.sidebar{width:var(--sidebar);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;height:100vh;top:0;left:0;z-index:100;transition:transform .3s ease}
.logo-wrap{padding:20px 18px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center}
.logo-wrap img{height:44px;object-fit:contain}
nav{flex:1;padding:12px 10px;overflow-y:auto}
.nav-section{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text3);font-weight:600;padding:12px 10px 5px}
.nav-item{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:8px;cursor:pointer;transition:all .15s;font-size:13.5px;font-weight:400;color:var(--text2);margin-bottom:1px;user-select:none}
.nav-item:hover{background:var(--bd-blue-light);color:var(--bd-blue)}
.nav-item.active{background:var(--bd-blue-light);color:var(--bd-blue);font-weight:600}
.nav-item .icon{width:18px;text-align:center;font-size:15px;flex-shrink:0}
.nav-badge{margin-left:auto;background:var(--bd-blue);color:white;font-size:10px;font-weight:700;padding:2px 6px;border-radius:20px}
.sidebar-footer{padding:14px 16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--bd-blue);display:flex;align-items:center;justify-content:center;color:white;font-size:11px;font-weight:700;flex-shrink:0}

/* MAIN */
.main{margin-left:var(--sidebar);flex:1;display:flex;flex-direction:column;min-height:100vh}
.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 24px;height:58px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}
.page-title{font-family:"Libre Baskerville",serif;font-size:19px;font-weight:700;color:var(--text)}
.topbar-right{display:flex;align-items:center;gap:10px}
.content{padding:24px;flex:1}

/* BTN */
.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .15s;font-family:"Noto Sans",sans-serif}
.btn-primary{background:var(--bd-blue);color:white}
.btn-primary:hover{background:#1a4f8e;box-shadow:0 3px 12px rgba(31,95,166,.35);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border)}
.btn-ghost:hover{background:var(--bd-blue-light);color:var(--bd-blue);border-color:var(--bd-blue)}
.btn-sm{padding:5px 10px;font-size:12px}
.btn-success{background:#2d7a62;color:white}
.btn-success:hover{background:#236050}
.btn-danger{background:#c0392b;color:white}
.btn-danger:hover{background:#a93226}

/* PAGES */
.page{display:none}
.page.active{display:block;animation:fadeUp .25s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* STATS */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:22px}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}
.stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--bd-blue)}
.stat-card:nth-child(2)::before{background:var(--accent)}
.stat-card:nth-child(3)::before{background:var(--accent2)}
.stat-card:nth-child(4)::before{background:#7a5c8a}
.stat-card:nth-child(5)::before{background:#c0392b}
.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.stat-label{font-size:11px;color:var(--text3);font-weight:600;text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}
.stat-value{font-size:26px;font-weight:700;color:var(--text);font-family:"Libre Baskerville",serif}
.stat-sub{font-size:11.5px;color:var(--accent2);margin-top:3px}
.stat-icon{float:right;font-size:22px;opacity:.6}

/* CARDS */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:18px;box-shadow:var(--shadow)}
.card-header{padding:15px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--surface)}
.card-title{font-size:14.5px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}
.card-body{padding:0}

/* TABLE */
table{width:100%;border-collapse:collapse}
th{background:var(--surface2);font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--text3);font-weight:700;padding:9px 15px;text-align:left;border-bottom:1px solid var(--border)}
td{padding:11px 15px;font-size:13.5px;color:var(--text2);border-bottom:1px solid var(--border);vertical-align:middle}
tr:last-child td{border-bottom:none}
tbody tr{cursor:pointer;transition:background .12s}
tbody tr:hover td{background:var(--bd-blue-light)}

/* BADGES */
.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600}
.bg{background:#e8f0fb;color:#1f5fa6}
.ba{background:#fef3e2;color:#b45309}
.bgn{background:#e6f4f0;color:#2d7a62}
.br{background:#fde8e8;color:#c0392b}
.bp{background:#f0eaf7;color:#6b35a0}
.bgr{background:#f0ede8;color:#6b6560}
.bb{background:#e0f4f0;color:#1a7a6e}

/* TABS */
.tabs{display:flex;gap:2px;padding:0 20px;border-bottom:1px solid var(--border);background:var(--surface2)}
.tab{padding:10px 14px;font-size:12.5px;font-weight:500;color:var(--text3);cursor:pointer;border-bottom:2.5px solid transparent;transition:all .15s;white-space:nowrap}
.tab.active{color:var(--bd-blue);border-bottom-color:var(--bd-blue);font-weight:700}
.tab:hover:not(.active){color:var(--text2)}
.tab-content{display:none;padding:20px}
.tab-content.active{display:block}

/* GRID */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:900px){.two-col,.three-col{grid-template-columns:1fr}}

/* PROGRESS */
.progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:5px}
.progress-fill{height:100%;border-radius:3px;transition:width 1.2s cubic-bezier(.4,0,.2,1)}

/* SPEAKER CARDS */
.speaker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;padding:18px}
.speaker-card{border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:all .2s;background:var(--surface);cursor:pointer}
.speaker-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--bd-blue)}
.speaker-av{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--bd-blue),var(--bd-blue-mid));display:flex;align-items:center;justify-content:center;color:white;font-size:16px;font-weight:700;margin-bottom:12px;font-family:"Libre Baskerville",serif}
.speaker-name{font-size:14.5px;font-weight:700;color:var(--text)}
.speaker-country{font-size:12px;color:var(--text3);margin-top:2px}
.speaker-meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px}

/* TASK BOARD */
.task-board{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px}
.task-col{flex:1;min-width:220px}
.task-col-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text3);margin-bottom:10px;padding:0 2px}
.task-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:8px;cursor:pointer;transition:all .15s}
.task-item:hover{box-shadow:var(--shadow);border-color:var(--bd-blue)}
.task-title{font-size:13px;font-weight:500;color:var(--text)}
.task-assign{font-size:11.5px;color:var(--text3);margin-top:4px}

/* LOG */
.log-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.log-item:last-child{border-bottom:none}
.log-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}
.log-body{flex:1}
.log-action{font-size:13px;color:var(--text)}
.log-meta{font-size:11px;color:var(--text3);margin-top:2px}

/* FORM */
.form-group{margin-bottom:14px}
label{font-size:11px;font-weight:700;color:var(--text2);display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
input,select,textarea{width:100%;padding:8px 11px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:13.5px;color:var(--text);font-family:"Noto Sans",sans-serif;transition:border-color .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--bd-blue);box-shadow:0 0 0 3px rgba(31,95,166,.1)}
textarea{resize:vertical;min-height:70px}

/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;align-items:center;justify-content:center}
.modal-overlay.show{display:flex}
.modal{background:var(--surface);border-radius:14px;width:90%;max-width:520px;max-height:90vh;overflow-y:auto;padding:26px;animation:fadeUp .22s ease}
.modal-title{font-family:"Libre Baskerville",serif;font-size:18px;font-weight:700;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;color:var(--text)}
.modal-close{cursor:pointer;font-size:18px;color:var(--text3);transition:color .15s}
.modal-close:hover{color:var(--text)}

/* HERO STRIP */
.hero-strip{background:linear-gradient(135deg,#0d2e5c 0%,#1f5fa6 55%,#3a7bc8 100%);border-radius:var(--radius);padding:24px 28px;color:white;margin-bottom:22px;position:relative;overflow:hidden}
.hero-strip::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.05)}
.hero-strip::before{content:"";position:absolute;right:60px;bottom:-30px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.04)}
.hero-title{font-family:"Libre Baskerville",serif;font-size:22px;font-weight:700;letter-spacing:-.3px}
.hero-sub{font-size:12px;opacity:.7;margin-top:4px;letter-spacing:.5px;text-transform:uppercase}
.hero-stats{display:flex;gap:28px;margin-top:18px;flex-wrap:wrap}
.hero-stat strong{display:block;font-size:22px;font-family:"Libre Baskerville",serif}
.hero-stat span{font-size:11.5px;opacity:.75}
.hero-date{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.15);border-radius:6px;padding:4px 11px;font-size:12px;margin-top:8px}

/* SEARCH */
.search-box{display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:5px 11px;font-size:13px;color:var(--text3);cursor:text;min-width:180px}
.notif{width:34px;height:34px;border:1px solid var(--border);border-radius:7px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;position:relative;transition:all .15s}
.notif:hover{background:var(--bd-blue-light)}
.notif-dot{position:absolute;top:6px;right:6px;width:6px;height:6px;background:var(--accent);border-radius:50%;border:1.5px solid white}

/* CONTRACT CARD */
.contract-item{border:1px solid var(--border);border-radius:9px;padding:15px;background:var(--surface2);transition:all .2s;cursor:pointer;margin-bottom:10px}
.contract-item:hover{box-shadow:var(--shadow);border-color:var(--bd-blue)}
.contract-company{font-weight:700;font-size:14px;color:var(--text)}
.contract-meta{font-size:12px;color:var(--text3);margin-top:3px}

/* MOBILE */
.hamburger{display:none;cursor:pointer;font-size:20px;color:var(--text2)}
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:99}
.overlay.show{display:block}
@media(max-width:768px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0)}
  .main{margin-left:0}
  .hamburger{display:block}
  .content{padding:14px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .topbar{padding:0 14px}
  .hero-stats{gap:16px}
}

/* SECTION DIVIDER */
.section-title{font-family:"Libre Baskerville",serif;font-size:15px;font-weight:700;color:var(--text);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--bd-blue-light);display:flex;align-items:center;gap:8px}

/* PAYMENT STATUS BAR */
.pay-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;margin:8px 0}
.pay-bar-paid{background:var(--accent2)}
.pay-bar-pending{background:#f39c12}
.pay-bar-empty{background:var(--border)}

/* INFO BOX */
.info-box{background:var(--bd-blue-light);border:1px solid #c0d8f5;border-radius:8px;padding:12px 15px;font-size:13px;color:var(--bd-blue);margin-bottom:14px;display:flex;align-items:flex-start;gap:8px}

/* SUMMARY ROW */
.summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:13.5px}
.summary-row:last-child{border-bottom:none;font-weight:700;font-size:14.5px}
.summary-row .amount{font-weight:700}


/* ═══════════ CRM əlavələri ═══════════ */
button{font-family:inherit}
:focus-visible{outline:2px solid var(--bd-blue);outline-offset:2px}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.btn-block{width:100%;justify-content:center;padding:10px 14px;font-size:14px}
.nav-item{width:100%;background:none;border:none;text-align:left;font-family:inherit}
.sidebar-footer{background:none;border:none;border-top:1px solid var(--border);width:100%;cursor:pointer;text-align:left;font-family:inherit}
.sidebar-footer:hover{background:var(--bd-blue-light)}
.sf-text{display:flex;flex-direction:column;min-width:0}
.sf-name{font-weight:700;color:var(--text);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sf-role{font-size:11px;color:var(--text3)}
.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}
.page-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hamburger{background:none;border:none}
.event-filter{width:auto;max-width:210px;padding:6px 10px;font-size:13px}
.search-box input{border:none;background:transparent;padding:0;width:150px;font-size:13px;box-shadow:none}
.search-box input:focus{box-shadow:none}
.notif{background:var(--surface)}
.notif-count{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#c0392b;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}
.notif-count[hidden]{display:none}

/* cədvəl */
.table-wrap{overflow-x:auto}
th.sortable{cursor:pointer;user-select:none;white-space:nowrap}
th.sortable:hover{color:var(--bd-blue)}
th .sort-ind{margin-left:4px;font-size:9px}
td.num{white-space:nowrap;font-variant-numeric:tabular-nums}
td.strong{color:var(--text);font-weight:600}
.money-pos{color:var(--accent2);font-weight:600}
.money-neg{color:#c0392b;font-weight:600}
.muted{color:var(--text3)}
.empty{padding:44px 20px;text-align:center;color:var(--text3)}
.empty b{display:block;color:var(--text2);font-size:15px;margin-bottom:6px}
.empty .btn{margin-top:14px}
.loading{padding:40px;text-align:center;color:var(--text3)}
.card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-top:1px solid var(--border);background:var(--surface2);font-size:12.5px;color:var(--text3);flex-wrap:wrap}
.pager{display:flex;gap:6px}
.tab .tab-count{margin-left:5px;font-size:11px;color:var(--text3);font-weight:500}
.tabs{overflow-x:auto}
.mini-progress{display:flex;height:7px;border-radius:4px;overflow:hidden;background:var(--border);min-width:90px}
.mini-progress span{background:var(--accent2)}
.mini-progress-label{font-size:11px;color:var(--text3);margin-top:3px}
.file-link{color:var(--bd-blue);text-decoration:none;font-weight:600}
.file-link:hover{text-decoration:underline}
.note-box{margin-bottom:14px}

/* xülasə zolağı */
.summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.summary-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:13px 16px}
.summary-item .stat-label{margin-bottom:4px}
.summary-item .val{font-family:"Libre Baskerville",serif;font-size:19px;font-weight:700;color:var(--text)}

/* spiker kartları */
.speaker-card{text-align:left;font-family:inherit;width:100%}
.speaker-topic{font-size:12.5px;color:var(--text2);margin-top:8px;line-height:1.45}
.speaker-grid{padding:0;margin-bottom:16px}

/* kanban */
.task-board{padding:16px}
.task-col{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px}
.task-col-title{display:flex;justify-content:space-between}
.task-item{display:block;width:100%;text-align:left;font-family:inherit}
.task-item.done{opacity:.6}
.task-item.overdue{border-left:3px solid #c0392b}
.task-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;align-items:center}
.task-due{font-size:11.5px;color:var(--text3)}
.task-due.late{color:#c0392b;font-weight:600}
.task-move{display:flex;gap:4px;margin-left:auto}
.task-move button{border:1px solid var(--border);background:var(--surface);border-radius:5px;font-size:11px;padding:2px 7px;cursor:pointer;color:var(--text2)}
.task-move button:hover{border-color:var(--bd-blue);color:var(--bd-blue)}
.task-empty{font-size:12px;color:var(--text3);padding:6px 2px}

/* dashboard */
.hero-strip{cursor:pointer}
.hero-empty{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:24px;margin-bottom:22px;color:var(--text2)}
.dash-list{padding:6px 18px 12px}
.type-row{padding:10px 18px}
.type-row-head{display:flex;justify-content:space-between;font-size:13px;color:var(--text2)}
.type-row-head b{color:var(--text)}

/* modal & forma */
.modal{max-width:640px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.form-grid .full{grid-column:1/-1}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}}
label .req{color:#c0392b;margin-left:2px}
.field-error{color:#c0392b;font-size:12px;margin-top:4px}
.has-error input,.has-error select,.has-error textarea{border-color:#c0392b}
.form-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:8px;flex-wrap:wrap}
.form-actions .btn-danger{margin-right:auto}
.form-hint{font-size:11.5px;color:var(--text3);margin-top:4px}
.file-current{display:flex;align-items:center;gap:10px;font-size:12.5px;margin-bottom:6px;flex-wrap:wrap}
.file-current label{display:inline-flex;align-items:center;gap:5px;margin:0;text-transform:none;letter-spacing:0;font-weight:500;font-size:12px}
.file-current input{width:auto}
.readonly-value{padding:8px 0;font-size:13.5px;color:var(--text);white-space:pre-wrap;word-break:break-word}
.record-meta{font-size:11.5px;color:var(--text3);margin-top:10px}
.alert{padding:10px 13px;border-radius:8px;font-size:13px;margin-bottom:14px}
.alert-error{background:#fde8e8;color:#a93226;border:1px solid #f5c6c6}
.alert-ok{background:#e6f4f0;color:#236050;border:1px solid #bfe3d6}

/* toast */
.toasts{position:fixed;bottom:20px;right:20px;z-index:300;display:flex;flex-direction:column;gap:8px;max-width:calc(100vw - 40px)}
.toast{background:var(--text);color:#fff;padding:11px 16px;border-radius:9px;font-size:13px;box-shadow:var(--shadow-lg);animation:fadeUp .2s ease}
.toast.error{background:#a93226}
.toast.ok{background:#236050}

/* giriş səhifəsi */
.login-body{align-items:center;justify-content:center;padding:20px;background:linear-gradient(160deg,#eaf1fa 0%,var(--bg) 60%)}
.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:34px 30px;width:100%;max-width:390px}
.login-wide{max-width:460px}
.login-logo{height:46px;display:block;margin:0 auto 18px}
.login-title{font-family:"Libre Baskerville",serif;font-size:21px;text-align:center;color:var(--text)}
.login-sub{text-align:center;color:var(--text3);font-size:13px;margin:6px 0 20px}
.check-list{list-style:none;margin:16px 0;font-size:13px}
.check-list li{padding:4px 0}
.check-list .ok{color:var(--accent2)}
.check-list .fail{color:#c0392b;font-weight:600}

@media(max-width:768px){
  .search-box{display:none}
  .event-filter{max-width:130px}
  .topbar-right{gap:6px}
  #addBtn{padding:7px 10px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.tab{background:none;border:none;border-bottom:2.5px solid transparent;font-family:inherit}
.tab.active{border-bottom-color:var(--bd-blue)}
