/* NG Design System */
:root {
    --ng-bg: #eef1f6;
    --ng-white: #fff;
    --ng-primary: #4080ff;
    --ng-text: #333;
    --ng-text-sub: #666;
    --ng-text-muted: #999;
    --ng-border: #eee;
    --ng-divider: #f0f0f0;
    --ng-link: #5b8cff;
    --ng-success: #07c160;
    --ng-danger: #ff4d4f;
    --ng-warning: #faad14;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",Arial,sans-serif;font-size:14px;color:var(--ng-text);background:var(--ng-bg);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
input,button,textarea,select{font-family:inherit;font-size:inherit;outline:none}
ul,ol{list-style:none}

/* Navbar */
.ng-navbar{height:44px;background:var(--ng-white);display:flex;align-items:center;padding:0 12px;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--ng-border)}
.ng-navbar-left{width:40px;display:flex;align-items:center;cursor:pointer;padding:4px 0}
.ng-navbar-title{flex:1;text-align:center;font-size:17px;font-weight:500;color:var(--ng-text)}
.ng-navbar-right{width:40px;display:flex;align-items:center;justify-content:flex-end}

/* Page Content */
.ng-page{min-height:100vh;background:var(--ng-bg);padding-bottom:70px}
.ng-page-white{min-height:100vh;background:var(--ng-white);padding-bottom:70px}

/* Cell Group */
.ng-cell-group{background:var(--ng-white)}
.ng-cell-group+.ng-cell-group{margin-top:10px}
.ng-cell{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--ng-divider);position:relative}
.ng-cell:last-child{border-bottom:none}
.ng-cell:active{background:#f9f9f9}
.ng-cell-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;margin-right:12px;border-radius:6px;font-size:18px;flex-shrink:0}
.ng-cell-title{flex:1;font-size:15px;color:var(--ng-text)}
.ng-cell-label{font-size:15px;color:var(--ng-text);flex-shrink:0}
.ng-cell-value{font-size:14px;color:var(--ng-link);margin-right:4px;flex-shrink:0}
.ng-cell-value.muted{color:var(--ng-text-muted)}
.ng-cell-arrow{width:16px;height:16px;flex-shrink:0;color:#ccc}
.ng-cell-copy{width:20px;height:20px;color:#ccc;cursor:pointer;margin-left:8px;flex-shrink:0}
.ng-cell-copy:active{color:var(--ng-primary)}

/* Section Header */
.ng-section{padding:12px 16px 8px;display:flex;align-items:center;justify-content:space-between}
.ng-section-title{font-size:15px;font-weight:600;color:var(--ng-text);padding-left:10px;border-left:3px solid var(--ng-primary);line-height:1}
.ng-section-toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ng-text-muted);transition:transform .2s}
.ng-section-toggle.collapsed{transform:rotate(180deg)}

/* Stats Grid */
.ng-stats{background:var(--ng-white);padding:0 16px}
.ng-stats-row{display:flex;padding:10px 0;border-bottom:1px solid var(--ng-divider)}
.ng-stats-row:last-child{border-bottom:none}
.ng-stats-row.alt{background:#f8f9fb}
.ng-stats-item{flex:1;text-align:center}
.ng-stats-label{font-size:13px;color:var(--ng-text-muted);margin-bottom:4px}
.ng-stats-val{font-size:18px;font-weight:600;color:var(--ng-text)}

/* Form */
.ng-form-group{padding:12px 16px;background:var(--ng-white)}
.ng-input{width:100%;height:40px;border:1px solid #ddd;border-radius:6px;padding:0 12px;font-size:14px;color:var(--ng-text);background:var(--ng-white)}
.ng-input::placeholder{color:#c0c0c0}
.ng-input:focus{border-color:var(--ng-primary)}
.ng-date-row{display:flex;align-items:center;gap:10px;margin-top:10px}
.ng-date-input{flex:1;height:40px;border:1px solid #ddd;border-radius:6px;padding:0 12px;font-size:14px;color:var(--ng-text);background:var(--ng-white);text-align:center}
.ng-date-sep{color:var(--ng-text-muted);font-size:14px;flex-shrink:0}
.ng-btn-row{display:flex;gap:12px;margin-top:14px;justify-content:center}
.ng-btn{height:38px;padding:0 28px;border-radius:6px;font-size:14px;font-weight:500;border:1px solid #ddd;background:var(--ng-white);color:var(--ng-text);cursor:pointer}
.ng-btn:active{opacity:.8}
.ng-btn-primary{background:var(--ng-primary);color:#fff;border-color:var(--ng-primary)}

/* Table */
.ng-table-wrap{overflow-x:auto;background:var(--ng-white)}
.ng-table{width:100%;border-collapse:collapse}
.ng-table th{background:#6b7b8d;color:#fff;font-size:13px;font-weight:500;padding:10px 8px;text-align:center;white-space:nowrap}
.ng-table td{font-size:13px;padding:10px 8px;text-align:center;border-bottom:1px solid var(--ng-divider);color:var(--ng-text-sub)}
.ng-table th .sort-icon{display:inline-block;margin-left:2px;vertical-align:middle}

/* Empty State */
.ng-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--ng-text-muted)}
.ng-empty-icon{width:80px;height:60px;margin-bottom:12px;opacity:.5}
.ng-empty-text{font-size:14px}

/* Contact Row */
.ng-contact-row{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--ng-divider)}
.ng-contact-row:last-child{border-bottom:none}
.ng-contact-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin-right:10px;flex-shrink:0;font-size:20px}
.ng-contact-label{font-size:14px;color:var(--ng-text-sub);min-width:60px;flex-shrink:0}
.ng-contact-value{flex:1;font-size:14px;color:var(--ng-text);font-weight:500;text-align:right;margin-right:8px;word-break:break-all}

/* News Item */
.ng-news-item{display:flex;align-items:center;padding:16px;border-bottom:1px solid var(--ng-divider);cursor:pointer}
.ng-news-item:active{background:#f9f9f9}
.ng-news-item:last-child{border-bottom:none}
.ng-news-content{flex:1}
.ng-news-title{font-size:15px;font-weight:600;color:var(--ng-text);margin-bottom:4px}
.ng-news-time{font-size:13px;color:var(--ng-text-muted)}
.ng-news-arrow{width:14px;height:14px;color:#ccc;flex-shrink:0;margin-left:8px}

/* Tab Bar */
.ng-tabbar{height:56px;background:var(--ng-white);border-top:1px solid var(--ng-border);display:flex;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0;z-index:100}
.ng-tab-item{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ng-text-muted);flex:1;padding:4px 0;cursor:pointer;text-decoration:none}
.ng-tab-item .tab-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-bottom:2px}
.ng-tab-item .tab-text{font-size:12px;font-weight:500}
.ng-tab-item.active{color:var(--ng-primary)}
.ng-tab-item.active .tab-icon svg{stroke:var(--ng-primary)}

/* Utilities */
.mt-10{margin-top:10px}
.mb-10{margin-bottom:10px}
.px-16{padding-left:16px;padding-right:16px}
.text-center{text-align:center}
.text-primary{color:var(--ng-primary)}
.text-muted{color:var(--ng-text-muted)}
.text-danger{color:var(--ng-danger)}
.text-success{color:var(--ng-success)}
.hidden{display:none}
