:root{
  --paper:#EDEEE4;
  --paper-raised:#F6F6EF;
  --ink:#1C2541;
  --ink-soft:#4B5470;
  --line:#C7CAB6;
  --line-soft:#DBDCCE;
  --stamp:#9C3B3B;
  --stamp-dark:#7E2E2E;
  --gold:#A9863B;
  --danger:#9C3B3B;
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family: Georgia, 'Iowan Old Style', 'Palatino Linotype', serif;
}
.kk-root{max-width:1400px; margin:0 auto; padding:28px 24px 60px;}
.kk-header{display:flex; align-items:flex-start; justify-content:space-between; border-bottom:2px solid var(--ink); padding-bottom:16px; margin-bottom:24px; gap:16px;}
.kk-title{font-size:26px; letter-spacing:0.3px; margin:0;}
.kk-sub{font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size:12.5px; color:var(--ink-soft); margin-top:4px;}
.kk-stamp{
  flex-shrink:0; width:78px; height:78px; border-radius:50%;
  border:2.5px solid var(--stamp); color:var(--stamp);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  transform:rotate(-8deg); font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  text-transform:uppercase; letter-spacing:0.5px; position:relative; opacity:0.9;
}
.kk-stamp::before{content:""; position:absolute; inset:5px; border:1px solid var(--stamp); border-radius:50%;}
.kk-stamp b{font-size:22px; font-family:Georgia, serif; line-height:1;}
.kk-stamp span{font-size:8px; margin-top:2px;}

.kk-panel{background:var(--paper-raised); border:1px solid var(--line); border-radius:6px; padding:20px; margin-bottom:22px;}
.kk-panel h2{font-size:15px; margin:0 0 4px; display:flex; align-items:center; gap:8px;}
.kk-panel h2::before{content:""; width:6px; height:6px; background:var(--stamp); border-radius:50%; display:inline-block;}
.kk-section-label{
  font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size:11px; text-transform:uppercase;
  letter-spacing:0.8px; color:var(--stamp); margin:20px 0 10px; padding-top:14px; border-top:1px solid var(--line-soft);
}
.kk-section-label:first-of-type{margin-top:14px; padding-top:0; border-top:none;}

.kk-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:14px 16px;}
.kk-field{display:flex; flex-direction:column; gap:5px;}
.kk-field label{font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:0.6px; color:var(--ink-soft);}
.kk-field .kk-field-hint{font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size:10.5px; color:var(--ink-soft); text-transform:none; letter-spacing:0; font-style:italic;}
.kk-field input[type=text], .kk-field input[type=password], .kk-field select{
  font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size:14px;
  padding:8px 10px; border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--ink);
}
.kk-field input:focus, .kk-field select:focus{outline:2px solid var(--gold); outline-offset:1px; border-color:var(--gold);}
.kk-combo{display:flex; gap:6px;}
.kk-combo select{flex:1;}
.kk-combo-add{display:flex; gap:6px; margin-top:6px;}
.kk-combo-add input{flex:1;}

.kk-social-block{grid-column:1 / -1;}
.kk-social-row{display:flex; gap:8px; margin-bottom:8px; align-items:center;}
.kk-social-row select{width:150px; flex-shrink:0;}
.kk-social-row input{flex:1;}

.kk-btn{
  font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size:13px;
  padding:9px 16px; border-radius:4px; border:1px solid var(--ink);
  background:var(--ink); color:var(--paper-raised); cursor:pointer; font-weight:600; letter-spacing:0.2px;
  text-decoration:none; display:inline-block;
}
.kk-btn:hover{background:var(--stamp-dark); border-color:var(--stamp-dark);}
.kk-btn.kk-secondary{background:transparent; color:var(--ink);}
.kk-btn.kk-secondary:hover{background:var(--line-soft);}
.kk-btn.kk-ghost{background:transparent; border:1px solid var(--line); color:var(--ink-soft); padding:5px 10px; font-size:12px;}
.kk-btn.kk-ghost:hover{border-color:var(--stamp); color:var(--stamp);}
.kk-btn.kk-icon{padding:6px 10px; font-size:13px; line-height:1;}

.kk-actions-row{display:flex; gap:10px; margin-top:16px; flex-wrap:wrap; align-items:center;}
.kk-toolbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; flex-wrap:wrap; gap:10px;}
.kk-toolbar-left{font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size:13px; color:var(--ink-soft);}
.kk-toolbar-right{display:flex; gap:8px; flex-wrap:wrap;}

.kk-table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:6px; background:var(--paper-raised);}
table.kk-table{width:100%; border-collapse:collapse; font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size:13px; min-width:1500px;}
table.kk-table th{
  text-align:left; padding:10px 12px; background:var(--ink); color:var(--paper-raised);
  font-weight:600; font-size:11.5px; text-transform:uppercase; letter-spacing:0.4px; white-space:nowrap;
}
table.kk-table th.kk-col-lp{width:44px;}
table.kk-table td{padding:9px 12px; border-bottom:1px solid var(--line-soft); vertical-align:top; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
table.kk-table tr:last-child td{border-bottom:none;}
table.kk-table tr:hover td{background:#fbfaf3;}
.kk-empty{padding:28px; text-align:center; color:var(--ink-soft); font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size:13.5px;}
.kk-row-actions{display:flex; gap:6px; white-space:nowrap;}
.kk-badge{display:inline-block; padding:2px 7px; border-radius:10px; font-size:10.5px; background:var(--line-soft); color:var(--ink-soft); font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;}
.kk-error{color:var(--danger); font-family:-apple-system, sans-serif; font-size:12.5px;}
.kk-hint{font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size:11.5px; color:var(--ink-soft); margin-top:4px; line-height:1.4;}

.kk-login-wrap{min-height:100vh; display:flex; align-items:center; justify-content:center;}
.kk-login-box{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:8px; padding:32px;
  width:320px; display:flex; flex-direction:column; gap:12px;
}
.kk-login-box input{padding:10px; border:1px solid var(--line); border-radius:4px; font-size:14px;}

.kk-tabs{display:flex; gap:6px; margin-bottom:20px;}
.kk-tab-btn{
  font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size:13px; font-weight:700;
  letter-spacing:0.3px; padding:10px 20px; border-radius:6px 6px 0 0; border:1px solid var(--line); border-bottom:none;
  background:var(--line-soft); color:var(--ink-soft); cursor:pointer;
}
.kk-tab-btn.active{background:var(--paper-raised); color:var(--ink); border-color:var(--ink); border-bottom:1px solid var(--paper-raised); margin-bottom:-1px;}
.kk-tabpanel-wrap{border-top:1px solid var(--ink); padding-top:20px;}

.kk-swatches{display:flex; gap:6px; flex-wrap:wrap; margin-top:6px;}
.kk-swatch{width:22px; height:22px; border-radius:50%; cursor:pointer; border:2px solid transparent; display:inline-block;}
.kk-swatch.selected{border-color:var(--ink); box-shadow:0 0 0 2px var(--paper-raised) inset;}
.kk-cat-pill{display:inline-block; padding:3px 10px; border-radius:12px; font-size:11px; font-weight:600; font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; white-space:nowrap;}
