shoc-frontend-new/src/index.css
2026-01-11 17:35:33 -06:00

136 lines
No EOL
5.2 KiB
CSS

:root{
--sidebar-w: 220px;
--topbar-h: 64px;
--blue:#0b4b6a;
--muted:#f2f4f6;
}
*{box-sizing:border-box}
html,body,#root{height:100%}
body{
margin:0;
font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background:#f4f6f7;
color:#333;
}
/* Layout */
.app{display:flex;min-height:100vh;align-items:stretch}
.sidebar{
width:var(--sidebar-w);
background:#f1f3f4;
border-right:1px solid #e0e3e4;
padding:18px 12px;
position:fixed;
left:0;top:0;bottom:0;
overflow:auto;
}
.mainArea{
margin-left:var(--sidebar-w);
flex:1;
min-height:100vh;
display:flex;
flex-direction:column;
}
.topbar{
height:var(--topbar-h);
background:var(--blue);
color:white;
display:flex;
align-items:center;
justify-content:space-between;
padding:0 50px;
position:sticky;
top:0;
z-index:10;
}
.topbar .hamburger{background:transparent;border:none;color:white;font-size:20px;margin-right:12px}
.topbar .searchBox{background:#083a52; padding:6px 10px;border-radius:6px;min-width:420px;}
.topbar input{width:100%;border:none;padding:6px 8px;border-radius:4px;background:white;color:#333}
.topRight{display:flex;align-items:center;gap:12px}
.topRight .avatar{background:#1fa8de;color:white;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}
.topRight .notif{position:relative}
.topRight .dot{position:absolute;right:-6px;top:-6px;background:#ffb400;color:#222;padding:2px 6px;border-radius:10px;font-size:11px}
.topLeft {display: flex;}
/* Sidebar content */
.logoRow{display:flex;align-items:center;gap:8px;padding-bottom:16px}
.logoMark{width:48px;height:48px;background:linear-gradient(90deg,#60c6ff,#1fa8de);color:white;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:800}
.logoText{font-size:14px;line-height:1}
.logoText span{font-size:11px;color:#556}
.navTitle{font-size:12px;color:#7b8588;margin:10px 6px}
.navList{list-style:none;padding:0;margin:0}
.navItem{display:flex;align-items:center;gap:10px;padding:10px;border-radius:6px;color:#394647;cursor:pointer}
.navItem .glyph{display:inline-block;width:22px;text-align:center;color:#8b9496}
.navItem:hover{background:#e9edf0}
.navItem.active{background:#e1edf4;border-left:3px solid #0b80b5}
/* Content */
.contentWrapper{padding:20px 40px;}
/* Contacts page */
.contactsPage .pageTitle{font-size:18px;font-weight:600;margin-bottom:10px}
.card.controlsCard{
background:white;
border-radius:4px;
padding:18px;
box-shadow:0 1px 0 rgba(0,0,0,0.06);
border:1px solid #e6e9ea;
}
/* controls */
.controlsTop{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.leftControls{display:flex;align-items:center;gap:12px}
.iconBtn{border:1px solid #d6d9da;background:#fff;padding:8px;border-radius:4px}
.filter{display:flex;gap:8px;align-items:center}
.filter select{padding:8px;border-radius:4px;border:1px solid #d8d8d8;background:#fff}
.filter input{padding:8px;border-radius:4px;border:1px solid #d8d8d8;min-width:360px}
.searchBtn{background:#0b95d4;color:#fff;border:none;padding:8px 12px;border-radius:4px}
.rightControls{display:flex;gap:8px;align-items:center}
.iconSmall{background:transparent;border:1px solid #e0e0e0;padding:6px;border-radius:6px;cursor:pointer}
/* table */
.tableWrap{margin-top:6px}
.contactTable{width:100%;border-collapse:collapse}
.contactTable thead th{
text-align:left;padding:12px;background:#9fb2bf;color:white;font-weight:600;border-bottom:1px solid #d5d8d9;
}
.contactTable thead .colCheck{width:48px}
.contactTable tbody td{border-bottom:1px solid #eee;padding:14px 12px;vertical-align:middle}
.contactTable tbody tr:nth-child(odd){background:#fff}
.contactTable tbody tr:nth-child(even){background:#fbfbfb}
.rowName{display:flex;align-items:center;gap:12px}
.avatarThumb{width:40px;height:40px;border-radius:6px;background:#f0b380;border:1px solid #9b6b45;display:flex;align-items:center;justify-content:center;color:#4b2b18;font-weight:700}
.nameText .nameLink{color:#0b6fa1;font-weight:600}
.nameText .sub{font-size:12px;color:#8f9a9f}
.mono{font-family:monospace;color:#444}
.link{color:#0a8ab6}
.actionsCol{width:120px;text-align:right}
/* footer of table */
.tableFooter{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:8px 6px;color:#666;font-size:13px}
.tableFooter select{margin-left:8px;padding:6px}
/* rightPanel */
.rightPanel{
width:320px;
position:fixed;
right:0;
top:0;
bottom:0;
background:#222b34;
color:white;
border-left:1px solid rgba(255,255,255,0.04);
padding:18px;
overflow:auto;
}
.panelHeader{background:#623be3;padding:12px;border-radius:6px;text-align:center;margin-bottom:14px;font-weight:700;color:white}
.panelBody{padding:6px}
.panelInput{width:100%;padding:10px;border-radius:4px;border:none;background:#333;color:#ddd;margin-bottom:12px}
.panelRow{margin:10px 0}
.allianceList{margin-top:14px}
.allianceRow{display:flex;align-items:center;gap:10px;padding:8px;background:#2a3138;border-radius:6px;margin-bottom:10px;justify-content:space-between}
.pill{padding:6px 10px;border-radius:6px;color:white;font-weight:700}
.pill.blue{background:#6fb3e6}
.pill.purple{background:#7f63e3}
.pill.green{background:#2b9b59}
.numbers{color:#d5dbe0}