:root{
  --navy-deep:#0B1626; --navy:#132743;
  --paper:#F6F4EE; --card:#FFFFFF; --ink:#1B1F27; --muted:#707687;
  --gold:#B8912F; --gold-soft:#E9D9A8;
  --tablet:#2F5D8A; --tablet-bg:#E7EEF5;
  --massage:#A8402F; --massage-bg:#F5E6E1;
  --good:#3F7A5C; --warn:#B4453A; --radius:12px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,'Malgun Gothic','Apple SD Gothic Neo',sans-serif;}
a{color:inherit;text-decoration:none;}

.topnav{display:flex;align-items:center;justify-content:space-between;background:var(--navy-deep);
  color:#fff;padding:14px 24px;flex-wrap:wrap;gap:10px;}
.topnav .brand{font-family:'Nanum Myeongjo','Batang',serif;font-size:17px;font-weight:700;}
.navlinks{display:flex;align-items:center;gap:16px;font-size:13px;flex-wrap:wrap;}
.navlinks a{padding:6px 10px;border-radius:8px;}
.navlinks a:hover{background:rgba(255,255,255,0.1);}
.navlinks .who{color:#B9C3D6;font-size:12px;}
.navlinks .logout{color:#E9D9A8;}

.wrap{max-width:840px;margin:0 auto;padding:18px 16px 40px;}

.card{background:var(--card);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;
  box-shadow:0 1px 3px rgba(20,30,50,0.08);}
.card h2, .card h3{font-family:'Nanum Myeongjo','Batang',serif;margin-top:0;font-size:15px;}

.login-box{max-width:360px;margin:80px auto;background:var(--card);border-radius:var(--radius);
  padding:32px 28px;box-shadow:0 4px 16px rgba(20,30,50,0.1);}
.login-box h1{font-family:'Nanum Myeongjo','Batang',serif;font-size:20px;text-align:center;margin-bottom:24px;color:var(--navy-deep);}
.login-box .field{margin-bottom:14px;}
.login-box label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px;font-weight:600;}
.login-box input{width:100%;padding:10px 12px;border:1px solid #E1DFD6;border-radius:8px;font-size:14px;background:#FBFAF7;}
.login-box button{width:100%;padding:11px;background:var(--navy-deep);color:#fff;border:none;border-radius:8px;
  font-weight:700;font-size:14px;cursor:pointer;margin-top:8px;}
.login-box button:hover{background:var(--navy);}
.error-msg{background:#F5E6E1;color:var(--warn);padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:14px;}

.view-toggle{display:flex;background:#EFEDE4;border-radius:20px;padding:3px;margin:0 0 16px;width:fit-content;}
.view-toggle a{padding:8px 18px;border-radius:16px;font-size:13px;font-weight:700;color:var(--muted);}
.view-toggle a.active{background:var(--gold);color:var(--navy-deep);}

.datebar{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.datebar a.navbtn{background:#fff;border:1px solid #E1DFD6;width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:15px;}
.datebar input[type=date]{padding:6px 8px;border:1px solid #E1DFD6;border-radius:8px;font-size:13px;}

.section{background:var(--card);border-radius:var(--radius);padding:16px 20px;margin-bottom:12px;box-shadow:0 1px 3px rgba(20,30,50,0.08);}
.section .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;flex-wrap:wrap;gap:6px;}
.section .name{font-family:'Nanum Myeongjo','Batang',serif;font-size:15.5px;font-weight:700;color:var(--navy-deep);}
.section .staff{font-size:12px;color:var(--gold);font-weight:600;}
.entry{border-left:3px solid var(--gold-soft);padding:6px 0 6px 12px;margin-bottom:8px;}
.entry .edate{font-size:11px;color:var(--muted);font-weight:700;}
.entry .etext{font-size:13.5px;margin-top:2px;white-space:pre-wrap;}
.empty-note{font-size:12.5px;color:var(--muted);padding:6px 0;}
.addform{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.addform textarea{flex:1;min-width:200px;padding:8px 10px;border:1px solid #E1DFD6;border-radius:8px;
  font-size:13px;font-family:inherit;min-height:38px;resize:vertical;}
.addform button{background:var(--navy-deep);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:700;cursor:pointer;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-grid .full{grid-column:1/-1;}
.field label{display:block;font-size:11.5px;color:var(--muted);margin-bottom:5px;font-weight:600;}
.field input, .field textarea, .field select{width:100%;padding:9px 10px;border:1px solid #E1DFD6;border-radius:8px;
  font-size:13px;background:#FBFAF7;font-family:inherit;}
.field textarea{min-height:56px;resize:vertical;}
.btn-primary{margin-top:14px;background:var(--navy-deep);color:#fff;border:none;padding:11px 22px;border-radius:9px;
  font-weight:700;font-size:13.5px;cursor:pointer;}
.btn-primary:hover{background:var(--navy);}

.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px;}
.kpi-card{background:var(--card);border-radius:var(--radius);padding:10px 12px;box-shadow:0 1px 3px rgba(20,30,50,0.08);}
.kpi-card .label{font-size:10.5px;color:var(--muted);font-weight:600;margin-bottom:4px;}
.kpi-card .value{font-family:'Nanum Myeongjo','Batang',serif;font-size:16px;font-weight:700;color:var(--navy-deep);}
.kpi-card .sub{font-size:10px;color:var(--muted);margin-top:2px;}

.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.chart-box{height:140px;}
.gauge-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;}
.gauge{position:relative;width:118px;height:118px;border-radius:50%;margin:0 auto;}
.gauge .hole{position:absolute;top:11%;left:11%;width:78%;height:78%;background:#fff;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;}
.gauge .pct{font-family:'Nanum Myeongjo','Batang',serif;font-size:19px;font-weight:700;color:var(--navy-deep);}
.gauge .amt{font-size:9px;color:var(--muted);margin-top:2px;text-align:center;padding:0 6px;}
.compare-item{margin-bottom:10px;}
.compare-label{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink);margin-bottom:4px;font-weight:600;}
.compare-track{background:#EEEDE6;border-radius:6px;height:16px;overflow:hidden;}
.compare-fill{height:100%;border-radius:6px;}

table.data{width:100%;border-collapse:collapse;font-size:12.5px;}
table.data th{text-align:left;font-size:11px;color:var(--muted);padding:6px 8px;border-bottom:2px solid var(--paper);}
table.data td{padding:9px 8px;border-bottom:1px solid #F1EFE7;}
tr.clickable{cursor:pointer;}
tr.clickable:hover{background:#FAF8F2;}
.line-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;}
.line-dot.tablet{background:var(--tablet);} .line-dot.massage{background:var(--massage);}
.hist-row{display:none;background:#FAF8F2;}
.hist-row.show{display:table-row;}
.hist-row td{padding:12px 16px;}

.target-form{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.target-form .field{flex:1;min-width:150px;}

@media (max-width:720px){
  .kpi-row{grid-template-columns:1fr 1fr;} .charts-row{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
}

/* 담당자 실적 현황판 공통 스타일 */
.ticker-wrap{background:#FFFFFF;border-radius:14px;padding:18px 16px;color:#1B1F27;border:1px solid #EAE7DD;}
.ticker-wrap h2{font-family:'Nanum Myeongjo','Batang',serif;font-size:16px;margin:0 0 4px;color:#0B1626;}
.ticker-wrap .subline{font-size:11px;color:#8A8F9C;margin-bottom:14px;}
.ticker-datebar{display:flex;gap:10px;align-items:center;margin-bottom:14px;}
.ticker-datebar input[type=date]{background:#FAF9F5;border:1px solid #E1DFD6;color:#1B1F27;padding:6px 9px;border-radius:7px;font-size:12px;}
.staff-block{margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid #F1EFE7;}
.staff-title{font-size:14px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px;color:#0B1626;}
.staff-title .dot{width:9px;height:9px;border-radius:50%;}
.ticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px;}
.tcard{border-radius:10px;padding:10px 12px;background:#FAF9F5;border:1px solid #EAE7DD;}
.tcard.up{background:#FDF0EF;border-color:#F4C6C2;}
.tcard.down{background:#EEF3FB;border-color:#C7DBF5;}
.tcard .tlabel{font-size:10px;color:#8A8F9C;margin-bottom:4px;}
.tcard .tvalue{font-family:'Nanum Myeongjo','Batang',serif;font-size:17px;font-weight:700;color:#0B1626;}
.tcard .tsub{font-size:10px;color:#8A8F9C;margin-top:3px;}
.arrow{font-size:11px;font-weight:700;display:inline-block;margin-top:4px;}
.arrow.up{color:#D6403A;}
.arrow.down{color:#2F6FD6;}
.arrow.flat{color:#8A8F9C;}
.subgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.mini-box{background:#FAF9F5;border:1px solid #EFEDE4;border-radius:10px;padding:10px 12px;}
.mini-box h5{margin:0 0 6px;font-size:11px;color:#8A8F9C;font-weight:700;}
.mini-row{display:flex;justify-content:space-between;font-size:12px;padding:2px 0;}
.mini-row b{color:#0B1626;}
.stage-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;}
.chart-wrap{background:#FAF9F5;border-radius:10px;padding:12px;margin-top:8px;border:1px solid #EFEDE4;}
.chart-wrap h4{font-size:11.5px;color:#8A8F9C;margin:0 0 8px;font-weight:600;}
.legend-note{font-size:10.5px;color:#8A8F9C;margin-top:10px;text-align:right;}
.bar-row{display:flex;align-items:flex-end;gap:3px;height:70px;}
.bar-row .bar{flex:1;min-width:2px;border-radius:2px 2px 0 0;}
@media (max-width:720px){ .ticker-grid{grid-template-columns:1fr 1fr;} .subgrid{grid-template-columns:1fr;} }
