Import
This commit is contained in:
1 parent
fa13bc9167
commit
099be995a4
2 files changed
+67
No files matched your search
@@ -0,0 +1,3 @@
|
|||||||
|
/* Navigation admin partagee */
|
||||||
|
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-topbar{position:relative;z-index:1000}.admin-navigation{display:flex;align-items:center;gap:.35rem}.admin-navigation>a,.nav-dropdown-toggle{color:var(--text-muted);text-decoration:none;font-size:.88rem;font-weight:500;padding:.55rem .7rem;border:0;border-bottom:2px solid transparent;background:transparent;cursor:pointer}.admin-navigation>a:hover,.admin-navigation>a.active,.nav-dropdown-toggle:hover{color:var(--primary);border-bottom-color:var(--primary)}.nav-dropdown{position:relative}.nav-dropdown-toggle span{font-size:.7rem;margin-left:.2rem}.nav-dropdown-menu{display:none;position:absolute;top:calc(100% + .35rem);left:0;min-width:210px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:.35rem;z-index:1100}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown.is-open .nav-dropdown-menu{display:block}.nav-dropdown-menu a{display:block;color:var(--text);text-decoration:none;padding:.55rem .65rem;border-radius:6px;font-size:.84rem;white-space:nowrap}.nav-dropdown-menu a:hover,.nav-dropdown-menu a.active{background:var(--surface-alt);color:var(--primary)}.nav-toggle{display:none;background:transparent;color:var(--text);padding:.4rem}.nav-toggle span:not(.sr-only){display:block;width:22px;height:2px;background:currentColor;margin:4px 0}.admin-navigation .nav-dropdown-toggle[aria-expanded="true"]{color:var(--primary)}
|
||||||
|
@media(max-width:800px){.admin-topbar{align-items:center}.nav-toggle{display:block;margin-left:auto}.admin-navigation{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;gap:.2rem}.admin-navigation.is-open{display:flex}.admin-navigation>a,.nav-dropdown-toggle{text-align:left;width:100%;border-bottom:0;border-radius:6px;padding:.7rem .75rem}.admin-navigation>a:hover,.admin-navigation>a.active,.nav-dropdown-toggle:hover{background:var(--surface-alt)}.nav-dropdown-menu{position:static;box-shadow:none;border:0;border-left:2px solid var(--border);border-radius:0;margin:.1rem 0 .3rem .75rem;padding:0 0 0 .35rem;min-width:0}.nav-dropdown:hover .nav-dropdown-menu{display:none}.nav-dropdown.is-open .nav-dropdown-menu{display:block}.nav-dropdown-menu a{white-space:normal}.admin-topbar .user{order:2;margin-left:.5rem;font-size:.75rem}}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
/* =====================================================================
|
||||||
|
NetMonster Admin - Theme commun
|
||||||
|
===================================================================== */
|
||||||
|
:root {
|
||||||
|
--bg: #eef1f6; --surface: #ffffff; --surface-alt: #f7f9fc;
|
||||||
|
--border: #e2e6ef; --text: #1c2333; --text-muted: #6b7386;
|
||||||
|
--primary: #2f5fe0; --primary-dark: #2447b3;
|
||||||
|
--success: #1f9d55; --success-dark: #17803f;
|
||||||
|
--danger: #e0392f; --danger-dark: #b82c24;
|
||||||
|
--warning: #f0a500; --radius: 12px; --radius-sm: 8px;
|
||||||
|
--shadow: 0 1px 3px rgba(20,25,40,.06), 0 8px 20px rgba(20,25,40,.04);
|
||||||
|
--font: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
||||||
|
}
|
||||||
|
* { box-sizing: border-box; }
|
||||||
|
body { font-family: var(--font); background: var(--bg); color: var(--text); margin: 0; }
|
||||||
|
.page-wrap { max-width: 1200px; margin: 0 auto; padding: 2rem 2rem 4rem; }
|
||||||
|
.topbar { display:flex; align-items:center; justify-content:space-between; background:var(--surface); border-bottom:1px solid var(--border); padding:.9rem 2rem; margin-bottom:2rem; }
|
||||||
|
.topbar .brand { display:flex; align-items:center; gap:.6rem; font-weight:700; font-size:1.05rem; }
|
||||||
|
.topbar .brand .dot, .brand .dot { width:10px; height:10px; border-radius:50%; background:var(--primary); display:inline-block; }
|
||||||
|
.topbar nav { display:flex; gap:1.4rem; }
|
||||||
|
.topbar nav a { color:var(--text-muted); text-decoration:none; font-size:.88rem; font-weight:500; padding:.4rem .2rem; border-bottom:2px solid transparent; }
|
||||||
|
.topbar nav a.active, .topbar nav a:hover { color:var(--primary); border-bottom-color:var(--primary); }
|
||||||
|
.topbar .user { font-size:.82rem; color:var(--text-muted); }
|
||||||
|
h1 { font-size:1.5rem; font-weight:700; margin:0 0 .3rem; }
|
||||||
|
.page-subtitle { color:var(--text-muted); margin:0 0 1.5rem; font-size:.92rem; }
|
||||||
|
.card, section, .group-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1.3rem 1.4rem; margin-bottom:1.4rem; box-shadow:var(--shadow); }
|
||||||
|
.card h2, section h2 { margin-top:0; font-size:1.02rem; }
|
||||||
|
#map { height:440px; width:100%; border-radius:var(--radius); border:1px solid var(--border); margin-bottom:1.2rem; overflow:hidden; }
|
||||||
|
.map-controls { display:flex; align-items:center; gap:.6rem; font-size:.85rem; color:var(--text-muted); margin-bottom:.8rem; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-sm); padding:.6rem .9rem; width:fit-content; }
|
||||||
|
.map-controls.disabled { opacity:.6; }
|
||||||
|
.filters { display:flex; gap:.6rem; margin-bottom:1.4rem; flex-wrap:wrap; }
|
||||||
|
.filters select, .filters input { padding:.5rem .8rem; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface); font-size:.85rem; }
|
||||||
|
.group-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:.8rem; flex-wrap:wrap; gap:.5rem; }
|
||||||
|
.group-header h3 { margin:0; font-size:.98rem; font-weight:600; }
|
||||||
|
.badge { display:inline-block; padding:.2rem .6rem; border-radius:999px; font-size:.72rem; font-weight:600; }
|
||||||
|
.badge-dup { background:#fdeceb; color:var(--danger-dark); } .badge-info { background:#eaf0fe; color:var(--primary-dark); }
|
||||||
|
table { width:100%; border-collapse:collapse; }
|
||||||
|
table.cells-table, table.data-table { margin-bottom:1rem; }
|
||||||
|
table.cells-table th, table.cells-table td, table.data-table th, table.data-table td { padding:.55rem .7rem; border-bottom:1px solid var(--border); font-size:.85rem; text-align:left; }
|
||||||
|
table.cells-table th, table.data-table th { background:var(--surface-alt); color:var(--text-muted); font-weight:600; text-transform:uppercase; font-size:.72rem; letter-spacing:.03em; }
|
||||||
|
table.cells-table tr:hover, table.data-table tr:hover { background:var(--surface-alt); }
|
||||||
|
button, .btn { font-family:inherit; font-size:.85rem; font-weight:600; border:none; border-radius:var(--radius-sm); padding:.55rem 1rem; cursor:pointer; transition:filter .15s ease, transform .05s ease; }
|
||||||
|
button:active, .btn:active { transform:scale(.98); }
|
||||||
|
button.validate, .btn-success { background:var(--success); color:#fff; } button.validate:hover, .btn-success:hover { background:var(--success-dark); }
|
||||||
|
button.add-missing, .btn-warning { background:var(--warning); color:#22252c; }
|
||||||
|
button.reject, button.reject-small, .btn-danger { background:var(--danger); color:#fff; }
|
||||||
|
button.reject-small { padding:.2rem .5rem; font-size:.72rem; } button.reject:hover, button.reject-small:hover { background:var(--danger-dark); }
|
||||||
|
button.primary, .btn-primary { background:var(--primary); color:#fff; } button.primary:hover, .btn-primary:hover { background:var(--primary-dark); }
|
||||||
|
button.link-btn { background:none; border:none; color:var(--primary); text-decoration:underline; font-size:.8rem; padding:0; font-weight:500; }
|
||||||
|
.actions-row { display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; }
|
||||||
|
fieldset { border:1px solid var(--border); border-radius:var(--radius); padding:1rem 1.2rem 1.2rem; margin-bottom:1.4rem; }
|
||||||
|
legend { font-weight:700; font-size:.85rem; color:var(--text-muted); padding:0 .4rem; text-transform:uppercase; letter-spacing:.03em; }
|
||||||
|
label { display:block; font-size:.8rem; color:var(--text-muted); margin-bottom:.25rem; margin-top:.6rem; font-weight:500; }
|
||||||
|
input, select, textarea { width:100%; padding:.55rem .7rem; border:1px solid var(--border); border-radius:var(--radius-sm); font-size:.88rem; font-family:inherit; background:var(--surface); color:var(--text); }
|
||||||
|
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(47,95,224,.12); }
|
||||||
|
.form-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:.9rem; }.form-grid.wide-3 { grid-template-columns:repeat(3, 1fr); }.full-width { grid-column:1 / -1; }
|
||||||
|
.missing-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:.7rem; }
|
||||||
|
.missing-form { display:none; margin-top:.9rem; padding:1rem; background:#fff9ea; border:1px solid #f5e2a8; border-radius:var(--radius); }
|
||||||
|
.msg-ok, .msg-err { padding:.7rem 1rem; border-radius:var(--radius-sm); margin-bottom:1.2rem; font-size:.88rem; font-weight:500; }
|
||||||
|
.msg-ok { background:#e8f7ee; color:var(--success-dark); border:1px solid #b8e6c8; }.msg-err { background:#fdeceb; color:var(--danger-dark); border:1px solid #f3c1bd; }
|
||||||
|
.cadastre-badge { background:#eaf0fe; color:var(--primary-dark); padding:.15rem .5rem; border-radius:999px; font-size:.7rem; font-weight:600; }.no-cadastre { color:var(--text-muted); font-size:.75rem; font-style:italic; }
|
||||||
|
.stats-bar { display:flex; gap:1rem; margin-bottom:1.4rem; flex-wrap:wrap; }.stat-chip { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-sm); padding:.7rem 1rem; font-size:.85rem; color:var(--text-muted); }.stat-chip strong { color:var(--text); font-size:1.1rem; display:block; }
|
||||||
|
details.help { margin-top:.7rem; font-size:.8rem; color:var(--text-muted); background:var(--surface-alt); padding:.6rem .9rem; border-radius:var(--radius-sm); }
|
||||||
|
@media (max-width: 800px) { .topbar { padding:.8rem 1rem; flex-wrap:wrap; gap:.7rem; }.topbar nav { order:3; width:100%; gap:1rem; }.page-wrap { padding:1.2rem 1rem 3rem; }.form-grid, .form-grid.wide-3, .missing-grid { grid-template-columns:1fr; } table { display:block; overflow-x:auto; } }
|
||||||
Reference in new issue
Block a user