:root{
  --bg:#0b1220;--panel:#111a2b;--panel-2:#172238;--border:#26344d;
  --text:#eef3fb;--muted:#9aa9bf;--accent:#35c58a;--danger:#ef6b73;
  --shadow:0 18px 50px rgba(0,0,0,.28);
  font-family:Inter,"Noto Sans TC","Microsoft JhengHei",sans-serif
}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#09111e,#0f1728 60%,#101c30);color:var(--text);min-height:100vh}
button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);background:rgba(17,26,43,.94);border:1px solid var(--border);border-radius:22px;padding:38px;box-shadow:var(--shadow)}
.brand-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:var(--accent);color:#07140f;font-size:26px;font-weight:900;margin-bottom:18px}.brand-mark.small{width:38px;height:38px;border-radius:11px;font-size:19px;margin:0}
.login-card h1{margin:0 0 8px;font-size:25px}.login-card form{display:grid;gap:17px;margin-top:28px}
label{display:grid;gap:8px;color:#cbd5e5;font-size:14px}input,select,textarea{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:#0b1423;color:var(--text);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{min-height:100px;resize:vertical}
.primary-btn,.secondary-btn{border-radius:10px;padding:12px 16px;font-weight:800;cursor:pointer}.primary-btn{border:0;background:var(--accent);color:#06150f}.primary-btn:hover{background:#49d79b}.primary-btn.compact{padding:10px 14px}
.secondary-btn{border:1px solid var(--border);background:transparent;color:var(--text)}.message{min-height:20px;margin:0;color:var(--danger);font-size:14px}
.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;flex:none;border-right:1px solid var(--border);background:rgba(9,17,30,.92);padding:20px;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:11px;padding:4px 2px 26px}.brand strong,.brand span{display:block}.brand strong{font-size:14px}.brand span{font-size:11px;color:var(--muted);margin-top:3px}
.nav-list{display:grid;gap:7px}.nav-item{border:1px solid transparent;background:transparent;color:#aebbd0;text-align:left;padding:12px 13px;border-radius:10px;cursor:pointer}.nav-item:hover,.nav-item.active{background:var(--panel-2);border-color:var(--border);color:#fff}.nav-item.active{box-shadow:inset 3px 0 0 var(--accent)}
.sidebar-footer{margin-top:auto;display:grid;gap:12px;padding-top:20px}.status-dot{font-size:12px;color:var(--accent)}.logout-btn{border:1px solid var(--border);background:transparent;color:#aebbd0;border-radius:9px;padding:10px;cursor:pointer}
.content{min-width:0;flex:1;padding:28px 34px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);padding-bottom:22px}.eyebrow{font-size:12px;color:var(--muted);margin:0 0 5px}.topbar h2{margin:0;font-size:27px}
.user-area{display:flex;align-items:center;gap:10px;text-align:right}.user-area strong,.user-area small{display:block}.user-area small{color:var(--muted);margin-top:3px}.role-badge{padding:7px 10px;border-radius:999px;background:#163e31;color:#75e6b5;font-size:12px;font-weight:800}
.module-content{padding-top:28px}.hero{background:linear-gradient(135deg,var(--panel),#15243b);border:1px solid var(--border);border-radius:18px;padding:26px}.hero h3{margin:0 0 10px;font-size:22px}.hero p{color:var(--muted);line-height:1.7;margin:0}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.info-card{background:var(--panel);border:1px solid var(--border);border-radius:15px;padding:20px}.info-card .label{color:var(--muted);font-size:12px}.info-card .value{font-size:25px;font-weight:800;margin-top:8px}.small-value{font-size:16px!important;word-break:break-all}
.section-title{margin:28px 0 12px;font-size:17px}.permission-ok{color:var(--accent)}.permission-note{color:var(--muted)}.error-text{color:var(--danger)}
.toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.crm-view-switch{display:flex;gap:6px}.secondary-btn{border:1px solid var(--border);background:transparent;color:#b9c8dd;border-radius:9px;padding:10px 12px;cursor:pointer}.secondary-btn:hover{border-color:#50627e;color:#fff}.secondary-btn.active{background:var(--panel-2);border-color:var(--accent);color:#fff}.secondary-btn.compact{padding:8px 11px;font-size:13px}.primary-btn.compact{padding:9px 13px;font-size:13px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.module-heading{margin:0 0 5px;font-size:22px}
.crm-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.crm-table{width:100%;border-collapse:collapse;min-width:900px}.crm-table th,.crm-table td{padding:14px 15px;border-bottom:1px solid var(--border);text-align:left;font-size:13px}.crm-table th{color:var(--muted);font-weight:600;background:#0f1828}.crm-table tr:last-child td{border-bottom:0}.crm-table td strong,.crm-table td small{display:block}.crm-table td small{color:var(--muted);margin-top:4px}
.status-chip{display:inline-block;padding:5px 9px;border-radius:999px;background:#26344d;color:#d8e3f4;font-size:12px}.table-action{border:1px solid var(--border);background:transparent;color:#b9c8dd;border-radius:8px;padding:7px 10px;cursor:pointer}.table-action:hover{color:#fff;border-color:#50627e}.empty-state{text-align:center!important;padding:45px!important;color:var(--muted)}
.editor-panel{margin-top:18px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:22px}.editor-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:15px;margin-bottom:18px}.editor-header h3{margin:0 0 5px}.icon-btn{border:0;background:transparent;color:var(--muted);font-size:28px;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.form-grid .full{grid-column:1/-1}.contact-time-block{display:grid;gap:5px;margin-top:0}.contact-time-row{display:flex;align-items:center;gap:10px;min-height:38px}.contact-time-value{color:#cbd8ea;font-size:14px}.field-hint{color:var(--muted);font-size:12px;font-weight:400}.next-contact-block{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:0}.editor-actions{display:flex;gap:10px;margin-top:10px}.inline-message{min-height:22px;margin-top:10px;font-size:13px}
.form-grid label{gap:5px}.form-grid input,.form-grid select,.form-grid textarea{padding:9px 11px}.form-grid textarea{min-height:82px}
.form-grid input[type="date"],.form-grid input[type="time"]{padding-right:42px}
.form-grid input[type="date"]::-webkit-calendar-picker-indicator,.form-grid input[type="time"]::-webkit-calendar-picker-indicator{width:20px;height:20px;opacity:.9;filter:invert(1);cursor:pointer}


.audit-panel{margin-top:25px;border-top:1px solid var(--border);padding-top:18px}.audit-panel h4{margin:0 0 12px}.audit-list{display:grid;gap:7px}.audit-item{display:grid;grid-template-columns:90px 1fr auto;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:#0d1626;font-size:12px}.audit-item span{color:#c5d1e2}.audit-item time{color:var(--muted)}
@media(max-width:900px){.sidebar{width:210px}.content{padding:22px}.card-grid{grid-template-columns:1fr}}
@media(max-width:620px){.app-shell{display:block}.sidebar{width:100%;border-right:0;border-bottom:1px solid var(--border)}.nav-list{grid-template-columns:repeat(2,1fr)}.sidebar-footer{margin-top:18px}.topbar{align-items:flex-start;flex-direction:column}.user-area{text-align:left}.toolbar{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.editor-actions{flex-direction:column}}

@media(max-width:620px){.next-contact-block{grid-template-columns:1fr;gap:8px}}
